smart-home-engine 0.24.6 → 0.25.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,225 +0,0 @@
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-6wpkRoMY.js"])))=>i.map(i=>d[i]);
2
- var sA=Object.defineProperty;var DL=o=>{throw TypeError(o)};var oA=(o,e,t)=>e in o?sA(o,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):o[e]=t;var Ai=(o,e,t)=>oA(o,typeof e!="symbol"?e+"":e,t),Bw=(o,e,t)=>e.has(o)||DL("Cannot "+t);var J=(o,e,t)=>(Bw(o,e,"read from private field"),t?t.call(o):e.get(o)),Li=(o,e,t)=>e.has(o)?DL("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(o):e.set(o,t),ki=(o,e,t,i)=>(Bw(o,e,"write to private field"),i?i.call(o,t):e.set(o,t),t),bn=(o,e,t)=>(Bw(o,e,"access private method"),t);import{_ as jD,m as UD,l as vt,A as Zs,C as oe,I as Sn,D as Ep,a as Jn,g as $D,M as et,b as Xt,E as Br,c as M,r as Ji,d as ur,e as w,f as rA,h as fn,R as Di,S as jt,i as Ms,j as gr,k as Fi,n as _i,o as ie,p as we,K as ts,q as ut,s as ze,t as ds,u as B,v as Ci,O as ba,w as as,P as yt,x as zw,y as Pp,z as qD,B as Ya,F as zr,G as Wy,H as bs,U as sn,J as Uu,L as St,N as nl,Q as aA,T as js,V as By,W as lA,X as KD,$ as ht,Y as qi,Z as Oi,a0 as Wn,a1 as ri,a2 as ko,a3 as Af,a4 as He,a5 as Gm,a6 as cA,a7 as dA,a8 as cs,a9 as hA,aa as Vr,ab as Xs,ac as Lt,ad as GD,ae as wn,af as uA,ag as gA,ah as qs,ai as yg,aj as is,ak as Ob,al as Bs,am as yc,an as h0,ao as Fb,ap as ms,aq as $u,ar as _s,as as Hb,at as Wb,au as fA,av as Tp,aw as Sg,ax as gl,ay as pA,az as Cg,aA as mA,aB as u0,aC as _A,aD as vA,aE as EL,aF as Yn,aG as Ja,aH as zs,aI as fi,aJ as Ka,aK as bA,aL as Ca,aM as Co,aN as fs,aO as jr,aP as g0,aQ as hs,aR as Gn,aS as y_,aT as gi,aU as ZD,aV as wA,aW as f0,aX as Bb,aY as p0,aZ as m0,a_ as Qc,a$ as yA,b0 as _0,b1 as SA,b2 as v0,b3 as fl,b4 as pl,b5 as qu,b6 as Of,b7 as co,b8 as Mp,b9 as S_,ba as Vw,bb as cn,bc as b0,bd as Np,be as zb,bf as CA,bg as XD,bh as Ff,bi as Ku,bj as Hf,bk as Rp,bl as Vb,bm as ji,bn as Sc,bo as Ap,bp as xA,bq as LA,br as w0,bs as kA,bt as C_,bu as Vo,bv as y0,bw as Gu,bx as ml,by as xg,bz as wi,bA as Zu,bB as YD,bC as Op,bD as IA,bE as ed,bF as st,bG as PL,bH as Zm,bI as JD,bJ as mr,bK as Ar,bL as hn,bM as Xu,bN as rr,bO as Yu,bP as Hn,bQ as Wf,bR as mh,bS as zy,bT as QD,bU as eE,bV as tE,bW as S0,bX as no,bY as Xi,bZ as Fp,b_ as iE,b$ as Qa,c0 as jb,c1 as DA,c2 as nu,c3 as TL,c4 as Hp,c5 as nE,c6 as su,c7 as EA,c8 as Qo,c9 as Ub,ca as PA,cb as Ys,cc as Ur,cd as Wp,ce as Bf,cf as sE,cg as Ho,ch as Bp,ci as $b,cj as TA,ck as MA,cl as NA,cm as Lg,cn as xa,co as ps,cp as RA,cq as C0,cr as AA,cs as OA,ct as ML,cu as FA,cv as zp,cw as sl,cx as Vy,cy as Yd,cz as ol,cA as HA,cB as wa,cC as ar,cD as wo,cE as NL,cF as Rs,cG as Vp,cH as uc,cI as La,cJ as WA,cK as $r,cL as zf,cM as qb,cN as oE,cO as BA,cP as zA,cQ as x0,cR as VA,cS as Vf,cT as jA,cU as Hl,cV as jf,cW as RL,cX as UA,cY as $A,cZ as Da,c_ as qA,c$ as L0,d0 as rE,d1 as aE,d2 as lE,d3 as cE,d4 as KA,d5 as GA,d6 as dE,d7 as hE,d8 as ZA,d9 as k0,da as XA,db as YA,dc as jn,dd as JA,de as I0,df as QA,dg as ou,dh as AL,di as eO,dj as tO,dk as iO,dl as nO,dm as sO,dn as oO,dp as Ju,dq as Kb,dr as jy,ds as rO,dt as aO,du as OL,dv as Uy,dw as lO,dx as FL,dy as jw,dz as cO,dA as uE,dB as dO,dC as gE,dD as $y,dE as hO,dF as uO,dG as gO,dH as fE,dI as pE,dJ as fO,dK as x_,dL as mE,dM as Gb,dN as pO,dO as mO,dP as gc,dQ as D0,dR as _O,dS as HL,dT as WL,dU as vO,dV as ru,dW as _E,dX as bO,dY as wO,dZ as yO,d_ as SO,d$ as vE,e0 as bE,e1 as wE,e2 as yE,e3 as CO,e4 as ya,e5 as BL,e6 as xO,e7 as jp,e8 as LO,e9 as Yg,ea as SE,eb as zL,ec as Uf,ed as CE,ee as L_,ef as kO,eg as xE,eh as IO,ei as LE,ej as DO,ek as EO,el as kE,em as IE,en as rl,eo as Zb,ep as PO,eq as DE,er as xo,es as td,et as EE,eu as TO,ev as MO,ew as PE,ex as TE,ey as NO,ez as ME,eA as NE,eB as $f,eC as RO,eD as AO,eE as OO,eF as FO,eG as Bg,eH as VL,eI as HO,eJ as WO,eK as BO,eL as k_,eM as Ss,eN as zO,eO as qy,eP as _h,eQ as VO,eR as qa,eS as jO,eT as UO,eU as RE,eV as $O,eW as pf,eX as qO,eY as KO,eZ as GO,e_ as ZO,e$ as jL,f0 as UL,f1 as $L,f2 as vh,f3 as E0,f4 as AE,f5 as Ky,f6 as Xm,f7 as OE,f8 as I_,f9 as XO,fa as YO,fb as JO,fc as QO,fd as P0,fe as FE,ff as e2,fg as D_,fh as HE,fi as WE,fj as t2,fk as i2,fl as n2,fm as s2,fn as o2,fo as r2,fp as a2,fq as l2,fr as BE,fs as c2,ft as E_,fu as zE,fv as d2,fw as VE,fx as h2,fy as jE,fz as UE,fA as u2,fB as qL,fC as $E,fD as KL,fE as g2,fF as Uw,fG as GL,fH as f2,fI as p2,fJ as m2,fK as ha,fL as fc,fM as _2,fN as ZL,fO as Ym,fP as v2,fQ as Ga,fR as Xb,fS as Gy,fT as b2,fU as qE,fV as KE,fW as As,fX as XL,fY as vm,fZ as T0,f_ as w2,f$ as y2,g0 as S2,g1 as C2,g2 as x2,g3 as L2,g4 as k2,g5 as I2,g6 as YL,g7 as D2,g8 as E2,g9 as P2,ga as Qu,gb as mf,gc as GE,gd as T2,ge as M0,gf as Jm,gg as bm,gh as $w,gi as M2,gj as N2,gk as ZE,gl as R2,gm as N0,gn as A2,go as O2,gp as XE,gq as Yb,gr as F2,gs as P_,gt as R0,gu as A0,gv as O0,gw as YE,gx as JE,gy as QE,gz as eP,gA as tP,gB as iP,gC as nP,gD as JL,gE as sP,gF as Ah,gG as H2,gH as W2,gI as B2,gJ as z2,gK as oP,gL as V2,gM as j2,gN as QL,gO as Zy,gP as ql,gQ as U2,gR as $2,gS as q2,gT as K2,gU as G2,gV as Z2,gW as ek,gX as F0,gY as Xy,gZ as X2,g_ as Yy,g$ as Y2,h0 as J2,h1 as Q2,h2 as eF,h3 as H0,h4 as rP,h5 as tk,h6 as ik,h7 as tF,h8 as iF,h9 as nF,ha as nk,hb as qw,hc as sF,hd as oF,he as rF,hf as Kw,hg as aP,hh as lP,hi as cP,hj as dP,hk as al,hl as hP,hm as W0,hn as sk,ho as aF,hp as uP,hq as lF,hr as cF,hs as Jb,ht as Qb,hu as bh,hv as ew,hw as Up,hx as dF,hy as tw,hz as hF,hA as uF,hB as gF,hC as gP,hD as zg,hE as fF,hF as pF,hG as mF,hH as _F,hI as $p,hJ as vF,hK as fP,hL as pP,hM as mP,hN as Jy,hO as bF,hP as wF,hQ as yF,hR as SF,hS as CF,hT as Qy,hU as xF,hV as LF,hW as kF,hX as IF,hY as DF,hZ as EF,h_ as PF,h$ as TF,i0 as _P,i1 as MF,i2 as NF,i3 as RF,i4 as ok,i5 as AF,i6 as OF,i7 as Wc,i8 as Ha,i9 as FF,ia as HF}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 vP=!1;var B0=Array.isArray,WF=Array.prototype.indexOf,T_=Array.prototype.includes,iw=Array.from,BF=Object.defineProperty,yu=Object.getOwnPropertyDescriptor,zF=Object.getOwnPropertyDescriptors,VF=Object.prototype,jF=Array.prototype,bP=Object.getPrototypeOf,rk=Object.isExtensible;const nw=()=>{};function UF(o){for(var e=0;e<o.length;e++)o[e]()}function wP(){var o,e,t=new Promise((i,n)=>{o=i,e=n});return{promise:t,resolve:o,reject:e}}function $F(o,e,t=!1){return o===void 0?t?e():e:o}function ak(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 Hs=2,eg=4,sw=8,yP=1<<24,Or=16,Wr=32,pc=64,eS=128,dr=512,Cs=1024,Ds=2048,ka=4096,oo=8192,hr=16384,kg=32768,tS=1<<25,tg=65536,M_=1<<17,qF=1<<18,Ig=1<<19,KF=1<<20,ma=1<<25,Jd=65536,N_=1<<21,Su=1<<22,Kl=1<<23,id=Symbol("$state"),GF=Symbol("legacy props"),ZF=Symbol(""),Qm=Symbol("attributes"),iS=Symbol("class"),nS=Symbol("style"),Jg=Symbol("text"),e_=Symbol("form reset"),ow=new class extends Error{constructor(){super(...arguments);Ai(this,"name","StaleReactionError");Ai(this,"message","The reaction that called `getAbortSignal()` was re-run or destroyed")}};function SP(o){throw new Error("https://svelte.dev/e/lifecycle_outside_component")}function XF(){throw new Error("https://svelte.dev/e/async_derived_orphan")}function YF(o,e,t){throw new Error("https://svelte.dev/e/each_key_duplicate")}function JF(o){throw new Error("https://svelte.dev/e/effect_in_teardown")}function QF(){throw new Error("https://svelte.dev/e/effect_in_unowned_derived")}function eH(o){throw new Error("https://svelte.dev/e/effect_orphan")}function tH(){throw new Error("https://svelte.dev/e/effect_update_depth_exceeded")}function iH(o){throw new Error("https://svelte.dev/e/props_invalid_value")}function nH(){throw new Error("https://svelte.dev/e/state_descriptors_fixed")}function sH(){throw new Error("https://svelte.dev/e/state_prototype_fixed")}function oH(){throw new Error("https://svelte.dev/e/state_unsafe_mutation")}function rH(){throw new Error("https://svelte.dev/e/svelte_boundary_reset_onerror")}const aH=1,lH=2,CP=4,cH=8,dH=16,hH=1,uH=4,gH=8,fH=16,pH=1,mH=2,ys=Symbol("uninitialized"),xP="http://www.w3.org/1999/xhtml",_H="http://www.w3.org/2000/svg",vH="http://www.w3.org/1998/Math/MathML";function bH(){console.warn("https://svelte.dev/e/derived_inert")}function wH(){console.warn("https://svelte.dev/e/select_multiple_invalid_value")}function yH(){console.warn("https://svelte.dev/e/svelte_boundary_reset_noop")}function LP(o){return o===this.v}function SH(o,e){return o!=o?e==e:o!==e||o!==null&&typeof o=="object"||typeof o=="function"}function kP(o){return!SH(o,this.v)}let CH=!1,Fs=null;function ig(o){Fs=o}function Do(o,e=!1,t){Fs={p:Fs,i:!1,c:null,e:null,s:o,x:null,r:Yi,l:null}}function Eo(o){var e=Fs,t=e.e;if(t!==null){e.e=null;for(var i of t)GP(i)}return o!==void 0&&(e.x=o),e.i=!0,Fs=e.p,o??{}}function IP(){return!0}let Uc=[];function DP(){var o=Uc;Uc=[],UF(o)}function Gl(o){if(Uc.length===0&&!vf){var e=Uc;queueMicrotask(()=>{e===Uc&&DP()})}Uc.push(o)}function xH(){for(;Uc.length>0;)DP()}function EP(o){var e=Yi;if(e===null)return Zi.f|=Kl,o;if((e.f&kg)===0&&(e.f&eg)===0)throw o;Wl(o,e)}function Wl(o,e){for(;e!==null;){if((e.f&eS)!==0){if((e.f&kg)===0)throw o;try{e.b.error(o);return}catch(t){o=t}}e=e.parent}throw o}const LH=-7169;function us(o,e){o.f=o.f&LH|e}function z0(o){(o.f&dr)!==0||o.deps===null?us(o,Cs):us(o,ka)}function PP(o){if(o!==null)for(const e of o)(e.f&Hs)===0||(e.f&Jd)===0||(e.f^=Jd,PP(e.deps))}function TP(o,e,t){(o.f&Ds)!==0?e.add(o):(o.f&ka)!==0&&t.add(o),PP(o.deps),us(o,Cs)}let wm=!1;function kH(o){var e=wm;try{return wm=!1,[o(),wm]}finally{wm=e}}let Gw=null,Oh=null,ci=null,_f=null,Ns=null,sS=null,vf=!1,Zw=!1,au=null,t_=null;var lk=0;let IH=1;var ku,Al,Gc,Iu,Du,Eu,Va,Pu,_o,Cp,ja,kr,aa,Tu,Zc,Un,oS,Qg,rS,MP,NP,Yh,DH,ef;const jv=class jv{constructor(){Li(this,Un);Ai(this,"id",IH++);Li(this,ku,!1);Ai(this,"linked",!0);Li(this,Al,null);Li(this,Gc,null);Ai(this,"async_deriveds",new Map);Ai(this,"current",new Map);Ai(this,"previous",new Map);Li(this,Iu,new Set);Li(this,Du,new Set);Li(this,Eu,0);Li(this,Va,new Map);Li(this,Pu,null);Li(this,_o,[]);Li(this,Cp,[]);Li(this,ja,new Set);Li(this,kr,new Set);Li(this,aa,new Map);Li(this,Tu,new Set);Ai(this,"is_fork",!1);Li(this,Zc,!1);Oh===null?Gw=Oh=this:(ki(Oh,Gc,this),ki(this,Al,Oh)),Oh=this}skip_effect(e){J(this,aa).has(e)||J(this,aa).set(e,{d:[],m:[]}),J(this,Tu).delete(e)}unskip_effect(e,t=i=>this.schedule(i)){var i=J(this,aa).get(e);if(i){J(this,aa).delete(e);for(var n of i.d)us(n,Ds),t(n);for(n of i.m)us(n,ka),t(n)}J(this,Tu).add(e)}capture(e,t,i=!1){e.v!==ys&&!this.previous.has(e)&&this.previous.set(e,e.v),(e.f&Kl)===0&&(this.current.set(e,[t,i]),Ns==null||Ns.set(e,t)),this.is_fork||(e.v=t)}activate(){ci=this}deactivate(){ci=null,Ns=null}flush(){try{Zw=!0,ci=this,bn(this,Un,Qg).call(this)}finally{lk=0,sS=null,au=null,t_=null,Zw=!1,ci=null,Ns=null,nd.clear()}}discard(){var e;for(const t of J(this,Du))t(this);J(this,Du).clear(),bn(this,Un,ef).call(this),(e=J(this,Pu))==null||e.resolve()}register_created_effect(e){J(this,Cp).push(e)}increment(e,t){if(ki(this,Eu,J(this,Eu)+1),e){let i=J(this,Va).get(t)??0;J(this,Va).set(t,i+1)}}decrement(e,t){if(ki(this,Eu,J(this,Eu)-1),e){let i=J(this,Va).get(t)??0;i===1?J(this,Va).delete(t):J(this,Va).set(t,i-1)}J(this,Zc)||(ki(this,Zc,!0),Gl(()=>{ki(this,Zc,!1),this.linked&&this.flush()}))}transfer_effects(e,t){for(const i of e)J(this,ja).add(i);for(const i of t)J(this,kr).add(i);e.clear(),t.clear()}oncommit(e){J(this,Iu).add(e)}ondiscard(e){J(this,Du).add(e)}settled(){return(J(this,Pu)??ki(this,Pu,wP())).promise}static ensure(){if(ci===null){const e=ci=new jv;!Zw&&!vf&&Gl(()=>{J(e,ku)||e.flush()})}return ci}apply(){{Ns=null;return}}schedule(e){var n;if(sS=e,(n=e.b)!=null&&n.is_pending&&(e.f&(eg|sw|yP))!==0&&(e.f&kg)===0){e.b.defer_effect(e);return}for(var t=e;t.parent!==null;){t=t.parent;var i=t.f;if(au!==null&&t===Yi&&(Zi===null||(Zi.f&Hs)===0))return;if((i&(pc|Wr))!==0){if((i&Cs)===0)return;t.f^=Cs}}J(this,_o).push(t)}};ku=new WeakMap,Al=new WeakMap,Gc=new WeakMap,Iu=new WeakMap,Du=new WeakMap,Eu=new WeakMap,Va=new WeakMap,Pu=new WeakMap,_o=new WeakMap,Cp=new WeakMap,ja=new WeakMap,kr=new WeakMap,aa=new WeakMap,Tu=new WeakMap,Zc=new WeakMap,Un=new WeakSet,oS=function(){if(this.is_fork)return!0;for(const i of J(this,Va).keys()){for(var e=i,t=!1;e.parent!==null;){if(J(this,aa).has(e)){t=!0;break}e=e.parent}if(!t)return!0}return!1},Qg=function(){var c,h,g,f;ki(this,ku,!0),lk++>1e3&&(bn(this,Un,ef).call(this),PH());for(const p of J(this,ja))J(this,kr).delete(p),us(p,Ds),this.schedule(p);for(const p of J(this,kr))us(p,ka),this.schedule(p);const e=J(this,_o);ki(this,_o,[]),this.apply();var t=au=[],i=[],n=t_=[];for(const p of e)try{bn(this,Un,rS).call(this,p,t,i)}catch(v){throw OP(p),bn(this,Un,oS).call(this)||this.discard(),v}if(ci=null,n.length>0){var s=jv.ensure();for(const p of n)s.schedule(p)}if(au=null,t_=null,bn(this,Un,oS).call(this)){bn(this,Un,Yh).call(this,i),bn(this,Un,Yh).call(this,t);for(const[p,v]of J(this,aa))AP(p,v);n.length>0&&bn(c=ci,Un,Qg).call(c);return}const r=bn(this,Un,MP).call(this);if(r){bn(this,Un,Yh).call(this,i),bn(this,Un,Yh).call(this,t),bn(h=r,Un,NP).call(h,this);return}J(this,ja).clear(),J(this,kr).clear();for(const p of J(this,Iu))p(this);J(this,Iu).clear(),_f=this,ck(i),ck(t),_f=null,(g=J(this,Pu))==null||g.resolve();var a=ci;if(J(this,Eu)===0&&(J(this,_o).length===0||a!==null)&&bn(this,Un,ef).call(this),J(this,_o).length>0)if(a!==null){const p=a;J(p,_o).push(...J(this,_o).filter(v=>!J(p,_o).includes(v)))}else a=this;a!==null&&bn(f=a,Un,Qg).call(f)},rS=function(e,t,i){e.f^=Cs;for(var n=e.first;n!==null;){var s=n.f,r=(s&(Wr|pc))!==0,a=r&&(s&Cs)!==0,c=a||(s&oo)!==0||J(this,aa).has(n);if(!c&&n.fn!==null){r?n.f^=Cs:(s&eg)!==0?t.push(n):Kp(n)&&((s&Or)!==0&&J(this,kr).add(n),sg(n));var h=n.first;if(h!==null){n=h;continue}}for(;n!==null;){var g=n.next;if(g!==null){n=g;break}n=n.parent}}},MP=function(){for(var e=J(this,Al);e!==null;){if(!e.is_fork){for(const[t,[,i]]of this.current)if(e.current.has(t)&&!i)return e}e=J(e,Al)}return null},NP=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(J(e,ja),J(e,kr));const t=n=>{var s=n.reactions;if(s!==null)for(const c of s){var r=c.f;if((r&Hs)!==0)t(c);else{var a=c;r&(Su|Or)&&!this.async_deriveds.has(a)&&(J(this,kr).delete(a),us(a,Ds),this.schedule(a))}}};for(const n of this.current.keys())t(n);this.oncommit(()=>e.discard()),bn(i=e,Un,ef).call(i),ci=this,bn(this,Un,Qg).call(this)},Yh=function(e){for(var t=0;t<e.length;t+=1)TP(e[t],J(this,ja),J(this,kr))},DH=function(){var g;for(let f=Gw;f!==null;f=J(f,Gc)){var e=f.id<this.id,t=[];for(const[p,[v,_]]of this.current){if(f.current.has(p)){var i=f.current.get(p)[0];if(e&&v!==i)f.current.set(p,[v,_]);else continue}t.push(p)}if(e)for(const[p,v]of this.async_deriveds){const _=f.async_deriveds.get(p);_&&v.promise.then(_.resolve).catch(_.reject)}if(J(f,ku)){var n=[...f.current.keys()].filter(p=>!f.current.get(p)[1]&&!this.current.has(p));if(n.length===0)e&&f.discard();else if(t.length>0){if(e)for(const p of J(this,Tu))f.unskip_effect(p,v=>{var _;(v.f&(Or|Su))!==0?f.schedule(v):bn(_=f,Un,Yh).call(_,[v])});f.activate();var s=new Set,r=new Map;for(var a of t)RP(a,n,s,r);r=new Map;var c=[...f.current].filter(([p,v])=>{const _=this.current.get(p);return _?_[0]!==v[0]||_[1]!==v[1]:!0}).map(([p])=>p);if(c.length>0)for(const p of J(this,Cp))(p.f&(hr|oo|M_))===0&&V0(p,c,r)&&((p.f&(Su|Or))!==0?(us(p,Ds),f.schedule(p)):J(f,ja).add(p));if(J(f,_o).length>0&&!J(f,Zc)){f.apply();for(var h of J(f,_o))bn(g=f,Un,rS).call(g,h,[],[]);ki(f,_o,[])}f.deactivate()}}}},ef=function(){if(this.linked){var e=J(this,Al),t=J(this,Gc);e===null?Gw=t:ki(e,Gc,t),t===null?Oh=e:ki(t,Al,e),this.linked=!1}};let Qd=jv;function EH(o){var e=vf;vf=!0;try{for(var t;;){if(xH(),ci===null)return t;ci.flush()}}finally{vf=e}}function PH(){try{tH()}catch(o){Wl(o,sS)}}let Cr=null;function ck(o){var e=o.length;if(e!==0){for(var t=0;t<e;){var i=o[t++];if((i.f&(hr|oo))===0&&Kp(i)&&(Cr=new Set,sg(i),i.deps===null&&i.first===null&&i.nodes===null&&i.teardown===null&&i.ac===null&&YP(i),(Cr==null?void 0:Cr.size)>0)){nd.clear();for(const n of Cr){if((n.f&(hr|oo))!==0)continue;const s=[n];let r=n.parent;for(;r!==null;)Cr.has(r)&&(Cr.delete(r),s.push(r)),r=r.parent;for(let a=s.length-1;a>=0;a--){const c=s[a];(c.f&(hr|oo))===0&&sg(c)}}Cr.clear()}}Cr=null}}function RP(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&Hs)!==0?RP(n,e,t,i):(s&(Su|Or))!==0&&(s&Ds)===0&&V0(n,e,i)&&(us(n,Ds),j0(n))}}function V0(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(T_.call(e,n))return!0;if((n.f&Hs)!==0&&V0(n,e,t))return t.set(n,!0),!0}return t.set(o,!1),!1}function j0(o){ci.schedule(o)}function AP(o,e){if(!((o.f&Wr)!==0&&(o.f&Cs)!==0)){(o.f&Ds)!==0?e.d.push(o):(o.f&ka)!==0&&e.m.push(o),us(o,Cs);for(var t=o.first;t!==null;)AP(t,e),t=t.next}}function OP(o){us(o,Cs);for(var e=o.first;e!==null;)OP(e),e=e.next}function TH(o){let e=0,t=eh(0),i;return()=>{K0()&&(u(t),aw(()=>(e===0&&(i=vl(()=>o(()=>bf(t)))),e+=1,()=>{Gl(()=>{e-=1,e===0&&(i==null||i(),i=void 0,bf(t))})})))}}var MH=tg|Ig;function NH(o,e,t,i){new RH(o,e,t,i)}var tr,d0,ir,Xc,vo,nr,to,Ro,Ua,Yc,Ol,Mu,xp,Lp,$a,Uv,gs,AH,OH,FH,aS,i_,n_,lS,cS;class RH{constructor(e,t,i,n){Li(this,gs);Ai(this,"parent");Ai(this,"is_pending",!1);Ai(this,"transform_error");Li(this,tr);Li(this,d0,null);Li(this,ir);Li(this,Xc);Li(this,vo);Li(this,nr,null);Li(this,to,null);Li(this,Ro,null);Li(this,Ua,null);Li(this,Yc,0);Li(this,Ol,0);Li(this,Mu,!1);Li(this,xp,new Set);Li(this,Lp,new Set);Li(this,$a,null);Li(this,Uv,TH(()=>(ki(this,$a,eh(J(this,Yc))),()=>{ki(this,$a,null)})));var s;ki(this,tr,e),ki(this,ir,t),ki(this,Xc,r=>{var a=Yi;a.b=this,a.f|=eS,i(r)}),this.parent=Yi.b,this.transform_error=n??((s=this.parent)==null?void 0:s.transform_error)??(r=>r),ki(this,vo,X0(()=>{bn(this,gs,aS).call(this)},MH))}defer_effect(e){TP(e,J(this,xp),J(this,Lp))}is_rendered(){return!this.is_pending&&(!this.parent||this.parent.is_rendered())}has_pending_snippet(){return!!J(this,ir).pending}update_pending_count(e,t){bn(this,gs,lS).call(this,e,t),ki(this,Yc,J(this,Yc)+e),!(!J(this,$a)||J(this,Mu))&&(ki(this,Mu,!0),Gl(()=>{ki(this,Mu,!1),J(this,$a)&&ng(J(this,$a),J(this,Yc))}))}get_effect_pending(){return J(this,Uv).call(this),u(J(this,$a))}error(e){if(!J(this,ir).onerror&&!J(this,ir).failed)throw e;ci!=null&&ci.is_fork?(J(this,nr)&&ci.skip_effect(J(this,nr)),J(this,to)&&ci.skip_effect(J(this,to)),J(this,Ro)&&ci.skip_effect(J(this,Ro)),ci.oncommit(()=>{bn(this,gs,cS).call(this,e)})):bn(this,gs,cS).call(this,e)}}tr=new WeakMap,d0=new WeakMap,ir=new WeakMap,Xc=new WeakMap,vo=new WeakMap,nr=new WeakMap,to=new WeakMap,Ro=new WeakMap,Ua=new WeakMap,Yc=new WeakMap,Ol=new WeakMap,Mu=new WeakMap,xp=new WeakMap,Lp=new WeakMap,$a=new WeakMap,Uv=new WeakMap,gs=new WeakSet,AH=function(){try{ki(this,nr,sr(()=>J(this,Xc).call(this,J(this,tr))))}catch(e){this.error(e)}},OH=function(e){const t=J(this,ir).failed;t&&ki(this,Ro,sr(()=>{t(J(this,tr),()=>e,()=>()=>{})}))},FH=function(){const e=J(this,ir).pending;e&&(this.is_pending=!0,ki(this,to,sr(()=>e(J(this,tr)))),Gl(()=>{var t=ki(this,Ua,document.createDocumentFragment()),i=el();t.append(i),ki(this,nr,bn(this,gs,n_).call(this,()=>sr(()=>J(this,Xc).call(this,i)))),J(this,Ol)===0&&(J(this,tr).before(t),ki(this,Ua,null),od(J(this,to),()=>{ki(this,to,null)}),bn(this,gs,i_).call(this,ci))}))},aS=function(){try{if(this.is_pending=this.has_pending_snippet(),ki(this,Ol,0),ki(this,Yc,0),ki(this,nr,sr(()=>{J(this,Xc).call(this,J(this,tr))})),J(this,Ol)>0){var e=ki(this,Ua,document.createDocumentFragment());J0(J(this,nr),e);const t=J(this,ir).pending;ki(this,to,sr(()=>t(J(this,tr))))}else bn(this,gs,i_).call(this,ci)}catch(t){this.error(t)}},i_=function(e){this.is_pending=!1,e.transfer_effects(J(this,xp),J(this,Lp))},n_=function(e){var t=Yi,i=Zi,n=Fs;Ia(J(this,vo)),fr(J(this,vo)),ig(J(this,vo).ctx);try{return Qd.ensure(),e()}catch(s){return EP(s),null}finally{Ia(t),fr(i),ig(n)}},lS=function(e,t){var i;if(!this.has_pending_snippet()){this.parent&&bn(i=this.parent,gs,lS).call(i,e,t);return}ki(this,Ol,J(this,Ol)+e),J(this,Ol)===0&&(bn(this,gs,i_).call(this,t),J(this,to)&&od(J(this,to),()=>{ki(this,to,null)}),J(this,Ua)&&(J(this,tr).before(J(this,Ua)),ki(this,Ua,null)))},cS=function(e){J(this,nr)&&(Lo(J(this,nr)),ki(this,nr,null)),J(this,to)&&(Lo(J(this,to)),ki(this,to,null)),J(this,Ro)&&(Lo(J(this,Ro)),ki(this,Ro,null));var t=J(this,ir).onerror;let i=J(this,ir).failed;var n=!1,s=!1;const r=()=>{if(n){yH();return}n=!0,s&&rH(),J(this,Ro)!==null&&od(J(this,Ro),()=>{ki(this,Ro,null)}),bn(this,gs,n_).call(this,()=>{bn(this,gs,aS).call(this)})},a=c=>{try{s=!0,t==null||t(c,r),s=!1}catch(h){Wl(h,J(this,vo)&&J(this,vo).parent)}i&&ki(this,Ro,bn(this,gs,n_).call(this,()=>{try{return sr(()=>{var h=Yi;h.b=this,h.f|=eS,i(J(this,tr),()=>c,()=>r)})}catch(h){return Wl(h,J(this,vo).parent),null}}))};Gl(()=>{var c;try{c=this.transform_error(e)}catch(h){Wl(h,J(this,vo)&&J(this,vo).parent);return}c!==null&&typeof c=="object"&&typeof c.then=="function"?c.then(a,h=>Wl(h,J(this,vo)&&J(this,vo).parent)):a(c)})};function HH(o,e,t,i){const n=qf;var s=o.filter(p=>!p.settled);if(t.length===0&&s.length===0){i(e.map(n));return}var r=Yi,a=WH(),c=s.length===1?s[0].promise:s.length>1?Promise.all(s.map(p=>p.promise)):null;function h(p){if((r.f&hr)===0){a();try{i(p)}catch(v){Wl(v,r)}R_()}}var g=FP();if(t.length===0){c.then(()=>h(e.map(n))).finally(g);return}function f(){Promise.all(t.map(p=>BH(p))).then(p=>h([...e.map(n),...p])).catch(p=>Wl(p,r)).finally(g)}c?c.then(()=>{a(),f(),R_()}):f()}function WH(){var o=Yi,e=Zi,t=Fs,i=ci;return function(s=!0){Ia(o),fr(e),ig(t),s&&(o.f&hr)===0&&(i==null||i.activate(),i==null||i.apply())}}function R_(o=!0){Ia(null),fr(null),ig(null),o&&(ci==null||ci.deactivate())}function FP(){var o=Yi,e=o.b,t=ci,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 qf(o){var e=Hs|Ds;return Yi!==null&&(Yi.f|=Ig),{ctx:Fs,deps:null,effects:null,equals:LP,f:e,fn:o,reactions:null,rv:0,v:ys,wv:0,parent:Yi,ac:null}}const ym=Symbol("obsolete");function BH(o,e,t){let i=Yi;i===null&&XF();var n=void 0,s=eh(ys),r=!Zi,a=new Set;return JH(()=>{var v,_;var c=Yi,h=wP();n=h.promise;try{Promise.resolve(o()).then(h.resolve,y=>{y!==ow&&h.reject(y)}).finally(R_)}catch(y){h.reject(y),R_()}var g=ci;if(r){if((c.f&kg)!==0)var f=FP();if((v=i.b)!=null&&v.is_rendered())(_=g.async_deriveds.get(c))==null||_.reject(ym);else for(const y of a.values())y.reject(ym);a.add(h),g.async_deriveds.set(c,h)}const p=(y,S=void 0)=>{f==null||f(),a.delete(h),S!==ym&&(g.activate(),S?(s.f|=Kl,ng(s,S)):((s.f&Kl)!==0&&(s.f^=Kl),ng(s,y)),g.deactivate())};h.promise.then(p,y=>p(null,y||"unknown"))}),G0(()=>{for(const c of a)c.reject(ym)}),new Promise(c=>{function h(g){function f(){g===n?c(s):h(n)}g.then(f,f)}h(n)})}function ot(o){const e=qf(o);return eT(e),e}function U0(o){const e=qf(o);return e.equals=kP,e}function zH(o){var e=o.effects;if(e!==null){o.effects=null;for(var t=0;t<e.length;t+=1)Lo(e[t])}}function $0(o){var e,t=Yi,i=o.parent;if(!ll&&i!==null&&o.v!==ys&&(i.f&(hr|oo))!==0)return bH(),o.v;Ia(i);try{o.f&=~Jd,zH(o),e=sT(o)}finally{Ia(t)}return e}function HP(o){var e=$0(o);if(!o.equals(e)&&(o.wv=iT(),(!(ci!=null&&ci.is_fork)||o.deps===null)&&(ci!==null?(ci.capture(o,e,!0),_f==null||_f.capture(o,e,!0)):o.v=e,o.deps===null))){us(o,Cs);return}ll||(Ns!==null?(K0()||ci!=null&&ci.is_fork)&&Ns.set(o,e):z0(o))}function VH(o){var e,t;if(o.effects!==null)for(const i of o.effects)(i.teardown||i.ac)&&((e=i.teardown)==null||e.call(i),(t=i.ac)==null||t.abort(ow),i.fn!==null&&(i.teardown=nw),i.ac=null,Kf(i,0),Y0(i))}function WP(o){if(o.effects!==null)for(const e of o.effects)e.teardown&&e.fn!==null&&sg(e)}let A_=new Set;const nd=new Map;let BP=!1;function eh(o,e){var t={f:0,v:o,reactions:null,equals:LP,rv:0,wv:0};return t}function U(o,e){const t=eh(o);return eT(t),t}function jH(o,e=!1,t=!0){const i=eh(o);return e||(i.equals=kP),i}function I(o,e,t=!1){Zi!==null&&(!Fr||(Zi.f&M_)!==0)&&IP()&&(Zi.f&(Hs|Or|Su|M_))!==0&&(Sa===null||!Sa.has(o))&&oH();let i=t?bi(e):e;return ng(o,i,t_)}function ng(o,e,t=null){if(!o.equals(e)){nd.set(o,ll?e:o.v);var i=Qd.ensure();if(i.capture(o,e),(o.f&Hs)!==0){const n=o;(o.f&Ds)!==0&&$0(n),Ns===null&&z0(n)}o.wv=iT(),zP(o,Ds,t),Yi!==null&&(Yi.f&Cs)!==0&&(Yi.f&(Wr|pc))===0&&(er===null?eW([o]):er.push(o)),!i.is_fork&&A_.size>0&&!BP&&UH()}return e}function UH(){BP=!1;for(const o of A_){(o.f&Cs)!==0&&us(o,ka);let e;try{e=Kp(o)}catch{e=!0}e&&sg(o)}A_.clear()}function dk(o,e=1){var t=u(o),i=e===1?t++:t--;return I(o,t),i}function bf(o){I(o,o.v+1)}function zP(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,c=(a&Ds)===0;if(c&&us(r,e),(a&M_)!==0)A_.add(r);else if((a&Hs)!==0){var h=r;Ns==null||Ns.delete(h),(a&Jd)===0&&(a&dr&&(Yi===null||(Yi.f&N_)===0)&&(r.f|=Jd),zP(h,ka,t))}else if(c){var g=r;(a&Or)!==0&&Cr!==null&&Cr.add(g),t!==null?t.push(g):j0(g)}}}function bi(o){if(typeof o!="object"||o===null||id in o)return o;const e=bP(o);if(e!==VF&&e!==jF)return o;var t=new Map,i=B0(o),n=U(0),s=rd,r=a=>{if(rd===s)return a();var c=Zi,h=rd;fr(null),fk(s);var g=a();return fr(c),fk(h),g};return i&&t.set("length",U(o.length)),new Proxy(o,{defineProperty(a,c,h){(!("value"in h)||h.configurable===!1||h.enumerable===!1||h.writable===!1)&&nH();var g=t.get(c);return g===void 0?r(()=>{var f=U(h.value);return t.set(c,f),f}):I(g,h.value,!0),!0},deleteProperty(a,c){var h=t.get(c);if(h===void 0){if(c in a){const g=r(()=>U(ys));t.set(c,g),bf(n)}}else I(h,ys),bf(n);return!0},get(a,c,h){var v;if(c===id)return o;var g=t.get(c),f=c in a;if(g===void 0&&(!f||(v=yu(a,c))!=null&&v.writable)&&(g=r(()=>{var _=bi(f?a[c]:ys),y=U(_);return y}),t.set(c,g)),g!==void 0){var p=u(g);return p===ys?void 0:p}return Reflect.get(a,c,h)},getOwnPropertyDescriptor(a,c){var h=Reflect.getOwnPropertyDescriptor(a,c);if(h&&"value"in h){var g=t.get(c);g&&(h.value=u(g))}else if(h===void 0){var f=t.get(c),p=f==null?void 0:f.v;if(f!==void 0&&p!==ys)return{enumerable:!0,configurable:!0,value:p,writable:!0}}return h},has(a,c){var p;if(c===id)return!0;var h=t.get(c),g=h!==void 0&&h.v!==ys||Reflect.has(a,c);if(h!==void 0||Yi!==null&&(!g||(p=yu(a,c))!=null&&p.writable)){h===void 0&&(h=r(()=>{var v=g?bi(a[c]):ys,_=U(v);return _}),t.set(c,h));var f=u(h);if(f===ys)return!1}return g},set(a,c,h,g){var N;var f=t.get(c),p=c in a;if(i&&c==="length")for(var v=h;v<f.v;v+=1){var _=t.get(v+"");_!==void 0?I(_,ys):v in a&&(_=r(()=>U(ys)),t.set(v+"",_))}if(f===void 0)(!p||(N=yu(a,c))!=null&&N.writable)&&(f=r(()=>U(void 0)),I(f,bi(h)),t.set(c,f));else{p=f.v!==ys;var y=r(()=>bi(h));I(f,y)}var S=Reflect.getOwnPropertyDescriptor(a,c);if(S!=null&&S.set&&S.set.call(g,h),!p){if(i&&typeof c=="string"){var D=t.get("length"),P=Number(c);Number.isInteger(P)&&P>=D.v&&I(D,P+1)}bf(n)}return!0},ownKeys(a){u(n);var c=Reflect.ownKeys(a).filter(f=>{var p=t.get(f);return p===void 0||p.v!==ys});for(var[h,g]of t)g.v!==ys&&!(h in a)&&c.push(h);return c},setPrototypeOf(){sH()}})}function hk(o){try{if(o!==null&&typeof o=="object"&&id in o)return o[id]}catch{}return o}function $H(o,e){return Object.is(hk(o),hk(e))}var sd,VP,jP,UP,$P;function qH(){if(sd===void 0){sd=window,VP=document,jP=/Firefox/.test(navigator.userAgent);var o=Element.prototype,e=Node.prototype,t=Text.prototype;UP=yu(e,"firstChild").get,$P=yu(e,"nextSibling").get,rk(o)&&(o[iS]=void 0,o[Qm]=null,o[nS]=void 0,o.__e=void 0),rk(t)&&(t[Jg]=void 0)}}function el(o=""){return document.createTextNode(o)}function _a(o){return UP.call(o)}function qp(o){return $P.call(o)}function C(o,e){return _a(o)}function wt(o,e=!1){{var t=_a(o);return t instanceof Comment&&t.data===""?qp(t):t}}function x(o,e=1,t=!1){let i=o;for(;e--;)i=qp(i);return i}function KH(o){o.textContent=""}function qP(){return!1}function KP(o,e,t){return e==null||e===xP?t?document.createElement(o,{is:t}):document.createElement(o):t?document.createElementNS(e,o,{is:t}):document.createElementNS(e,o)}let uk=!1;function GH(){uk||(uk=!0,document.addEventListener("reset",o=>{Promise.resolve().then(()=>{var e;if(!o.defaultPrevented)for(const t of o.target.elements)(e=t[e_])==null||e.call(t)})},{capture:!0}))}function rw(o){var e=Zi,t=Yi;fr(null),Ia(null);try{return o()}finally{fr(e),Ia(t)}}function q0(o,e,t,i=t){o.addEventListener(e,()=>rw(t));const n=o[e_];n?o[e_]=()=>{n(),i(!0)}:o[e_]=()=>i(!0),GH()}function ZH(o){Yi===null&&(Zi===null&&eH(),QF()),ll&&JF()}function XH(o,e){var t=e.last;t===null?e.last=e.first=o:(t.next=o,o.prev=t,e.last=o)}function _l(o,e){var t=Yi;t!==null&&(t.f&oo)!==0&&(o|=oo);var i={ctx:Fs,deps:null,nodes:null,f:o|Ds|dr,first:null,fn:e,last:null,next:null,parent:t,b:t&&t.b,prev:null,teardown:null,wv:0,ac:null};ci==null||ci.register_created_effect(i);var n=i;if((o&eg)!==0)au!==null?au.push(i):Qd.ensure().schedule(i);else if(e!==null){try{sg(i)}catch(r){throw Lo(i),r}n.deps===null&&n.teardown===null&&n.nodes===null&&n.first===n.last&&(n.f&Ig)===0&&(n=n.first,(o&Or)!==0&&(o&tg)!==0&&n!==null&&(n.f|=tg))}if(n!==null&&(n.parent=t,t!==null&&XH(n,t),Zi!==null&&(Zi.f&Hs)!==0&&(o&pc)===0)){var s=Zi;(s.effects??(s.effects=[])).push(n)}return i}function K0(){return Zi!==null&&!Fr}function G0(o){const e=_l(sw,null);return us(e,Cs),e.teardown=o,e}function An(o){ZH();var e=Yi.f,t=!Zi&&(e&Wr)!==0&&Fs!==null&&!Fs.i;if(t){var i=Fs;(i.e??(i.e=[])).push(o)}else return GP(o)}function GP(o){return _l(eg|KF,o)}function YH(o){Qd.ensure();const e=_l(pc|Ig,o);return(t={})=>new Promise(i=>{t.outro?od(e,()=>{Lo(e),i(void 0)}):(Lo(e),i(void 0))})}function Z0(o){return _l(eg,o)}function JH(o){return _l(Su|Ig,o)}function aw(o,e=0){return _l(sw|e,o)}function Z(o,e=[],t=[],i=[]){HH(i,e,t,n=>{_l(sw,()=>o(...n.map(u)))})}function X0(o,e=0){var t=_l(Or|e,o);return t}function sr(o){return _l(Wr|Ig,o)}function ZP(o){var e=o.teardown;if(e!==null){const t=ll,i=Zi;gk(!0),fr(null);try{e.call(null)}finally{gk(t),fr(i)}}}function Y0(o,e=!1){var t=o.first;for(o.first=o.last=null;t!==null;){const n=t.ac;n!==null&&rw(()=>{n.abort(ow)});var i=t.next;(t.f&pc)!==0?t.parent=null:Lo(t,e),t=i}}function QH(o){for(var e=o.first;e!==null;){var t=e.next;(e.f&Wr)===0&&Lo(e),e=t}}function Lo(o,e=!0){var t=!1;(e||(o.f&qF)!==0)&&o.nodes!==null&&o.nodes.end!==null&&(XP(o.nodes.start,o.nodes.end),t=!0),us(o,tS),Y0(o,e&&!t),Kf(o,0);var i=o.nodes&&o.nodes.t;if(i!==null)for(const s of i)s.stop();ZP(o),o.f^=tS,o.f|=hr;var n=o.parent;n!==null&&n.first!==null&&YP(o),o.next=o.prev=o.teardown=o.ctx=o.deps=o.fn=o.nodes=o.ac=o.b=null}function XP(o,e){for(;o!==null;){var t=o===e?null:qp(o);o.remove(),o=t}}function YP(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 od(o,e,t=!0){var i=[];JP(o,i,!0);var n=()=>{t&&Lo(o),e&&e()},s=i.length;if(s>0){var r=()=>--s||n();for(var a of i)a.out(r)}else n()}function JP(o,e,t){if((o.f&oo)===0){o.f^=oo;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&pc)===0){var r=(n.f&tg)!==0||(n.f&Wr)!==0&&(o.f&Or)!==0;JP(n,e,r?t:!1)}n=s}}}function O_(o){QP(o,!0)}function QP(o,e){if((o.f&oo)!==0){o.f^=oo,(o.f&Cs)===0&&(us(o,Ds),Qd.ensure().schedule(o));for(var t=o.first;t!==null;){var i=t.next,n=(t.f&tg)!==0||(t.f&Wr)!==0;QP(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 J0(o,e){if(o.nodes)for(var t=o.nodes.start,i=o.nodes.end;t!==null;){var n=t===i?null:qp(t);e.append(t),t=n}}let s_=!1,ll=!1;function gk(o){ll=o}let Zi=null,Fr=!1;function fr(o){Zi=o}let Yi=null;function Ia(o){Yi=o}let Sa=null;function eT(o){Zi!==null&&(Sa??(Sa=new Set)).add(o)}let bo=null,Mo=0,er=null;function eW(o){er=o}let tT=1,$c=0,rd=$c;function fk(o){rd=o}function iT(){return++tT}function Kp(o){var e=o.f;if((e&Ds)!==0)return!0;if(e&Hs&&(o.f&=~Jd),(e&ka)!==0){for(var t=o.deps,i=t.length,n=0;n<i;n++){var s=t[n];if(Kp(s)&&HP(s),s.wv>o.wv)return!0}(e&dr)!==0&&Ns===null&&us(o,Cs)}return!1}function nT(o,e,t=!0){var i=o.reactions;if(i!==null&&!(Sa!==null&&Sa.has(o)))for(var n=0;n<i.length;n++){var s=i[n];(s.f&Hs)!==0?nT(s,e,!1):e===s&&(t?us(s,Ds):(s.f&Cs)!==0&&us(s,ka),j0(s))}}function sT(o){var y;var e=bo,t=Mo,i=er,n=Zi,s=Sa,r=Fs,a=Fr,c=rd,h=o.f;bo=null,Mo=0,er=null,Zi=(h&(Wr|pc))===0?o:null,Sa=null,ig(o.ctx),Fr=!1,rd=++$c,o.ac!==null&&(rw(()=>{o.ac.abort(ow)}),o.ac=null);try{o.f|=N_;var g=o.fn,f=g();o.f|=kg;var p=o.deps,v=ci==null?void 0:ci.is_fork;if(bo!==null){var _;if(v||Kf(o,Mo),p!==null&&Mo>0)for(p.length=Mo+bo.length,_=0;_<bo.length;_++)p[Mo+_]=bo[_];else o.deps=p=bo;if(K0()&&(o.f&dr)!==0)for(_=Mo;_<p.length;_++)((y=p[_]).reactions??(y.reactions=[])).push(o)}else!v&&p!==null&&Mo<p.length&&(Kf(o,Mo),p.length=Mo);if(IP()&&er!==null&&!Fr&&p!==null&&(o.f&(Hs|ka|Ds))===0)for(_=0;_<er.length;_++)nT(er[_],o);if(n!==null&&n!==o){if($c++,n.deps!==null)for(let S=0;S<t;S+=1)n.deps[S].rv=$c;if(e!==null)for(const S of e)S.rv=$c;er!==null&&(i===null?i=er:i.push(...er))}return(o.f&Kl)!==0&&(o.f^=Kl),f}catch(S){return EP(S)}finally{o.f^=N_,bo=e,Mo=t,er=i,Zi=n,Sa=s,ig(r),Fr=a,rd=c}}function tW(o,e){let t=e.reactions;if(t!==null){var i=WF.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&Hs)!==0&&(bo===null||!T_.call(bo,e))){var s=e;(s.f&dr)!==0&&(s.f^=dr,s.f&=~Jd),s.v!==ys&&z0(s),VH(s),Kf(s,0)}}function Kf(o,e){var t=o.deps;if(t!==null)for(var i=e;i<t.length;i++)tW(o,t[i])}function sg(o){var e=o.f;if((e&hr)===0){us(o,Cs);var t=Yi,i=s_;Yi=o,s_=!0;try{(e&(Or|yP))!==0?QH(o):Y0(o),ZP(o);var n=sT(o);o.teardown=typeof n=="function"?n:null,o.wv=tT;var s;vP&&CH&&(o.f&Ds)!==0&&o.deps}finally{s_=i,Yi=t}}}async function dS(){await Promise.resolve(),EH()}function u(o){var e=o.f,t=(e&Hs)!==0;if(Zi!==null&&!Fr){var i=Yi!==null&&(Yi.f&hr)!==0;if(!i&&(Sa===null||!Sa.has(o))){var n=Zi.deps;if((Zi.f&N_)!==0)o.rv<$c&&(o.rv=$c,bo===null&&n!==null&&n[Mo]===o?Mo++:bo===null?bo=[o]:bo.push(o));else{Zi.deps??(Zi.deps=[]),T_.call(Zi.deps,o)||Zi.deps.push(o);var s=o.reactions;s===null?o.reactions=[Zi]:T_.call(s,Zi)||s.push(Zi)}}}if(ll&&nd.has(o))return nd.get(o);if(t){var r=o;if(ll){var a=r.v;return((r.f&Cs)===0&&r.reactions!==null||rT(r))&&(a=$0(r)),nd.set(r,a),a}var c=(r.f&dr)===0&&!Fr&&Zi!==null&&(s_||(Zi.f&dr)!==0),h=(r.f&kg)===0;Kp(r)&&(c&&(r.f|=dr),HP(r)),c&&!h&&(WP(r),oT(r))}if(Ns!=null&&Ns.has(o))return Ns.get(o);if((o.f&Kl)!==0)throw o.v;return o.v}function oT(o){if(o.f|=dr,o.deps!==null)for(const e of o.deps)(e.reactions??(e.reactions=[])).push(o),(e.f&Hs)!==0&&(e.f&dr)===0&&(WP(e),oT(e))}function rT(o){if(o.v===ys)return!0;if(o.deps===null)return!1;for(const e of o.deps)if(nd.has(e)||(e.f&Hs)!==0&&rT(e))return!0;return!1}function vl(o){var e=Fr;try{return Fr=!0,o()}finally{Fr=e}}const iW=["touchstart","touchmove"];function nW(o){return iW.includes(o)}const qc=Symbol("events"),aT=new Set,hS=new Set;function sW(o,e,t,i={}){function n(s){if(i.capture||uS.call(e,s),!s.cancelBubble)return rw(()=>t==null?void 0:t.call(this,s))}return o.startsWith("pointer")||o.startsWith("touch")||o==="wheel"?Gl(()=>{e.addEventListener(o,n,i)}):e.addEventListener(o,n,i),n}function es(o,e,t,i,n){var s={capture:i,passive:n},r=sW(o,e,t,s);(e===document.body||e===window||e===document||e instanceof HTMLMediaElement)&&G0(()=>{e.removeEventListener(o,r,s)})}function ne(o,e,t){(e[qc]??(e[qc]={}))[o]=t}function _r(o){for(var e=0;e<o.length;e++)aT.add(o[e]);for(var t of hS)t(o)}let pk=null;function uS(o){var y,S;var e=this,t=e.ownerDocument,i=o.type,n=((y=o.composedPath)==null?void 0:y.call(o))||[],s=n[0]||o.target;pk=o;var r=0,a=pk===o&&o[qc];if(a){var c=n.indexOf(a);if(c!==-1&&(e===document||e===window)){o[qc]=e;return}var h=n.indexOf(e);if(h===-1)return;c<=h&&(r=c)}if(s=n[r]||o.target,s!==e){BF(o,"currentTarget",{configurable:!0,get(){return s||t}});var g=Zi,f=Yi;fr(null),Ia(null);try{for(var p,v=[];s!==null&&s!==e;){try{var _=(S=s[qc])==null?void 0:S[i];_!=null&&(!s.disabled||o.target===s)&&_.call(s,o)}catch(D){p?v.push(D):p=D}if(o.cancelBubble)break;r++,s=r<n.length?n[r]:null}if(p){for(let D of v)queueMicrotask(()=>{throw D});throw p}}finally{o[qc]=e,delete o.currentTarget,fr(g),Ia(f)}}}var zD;const Xw=((zD=globalThis==null?void 0:globalThis.window)==null?void 0:zD.trustedTypes)&&globalThis.window.trustedTypes.createPolicy("svelte-trusted-html",{createHTML:o=>o});function oW(o){return(Xw==null?void 0:Xw.createHTML(o))??o}function lT(o){var e=KP("template");return e.innerHTML=oW(o.replaceAll("<!>","<!---->")),e.content}function th(o,e){var t=Yi;t.nodes===null&&(t.nodes={start:o,end:e,a:null,t:null})}function R(o,e){var t=(e&pH)!==0,i=(e&mH)!==0,n,s=!o.startsWith("<!>");return()=>{n===void 0&&(n=lT(s?o:"<!>"+o),t||(n=_a(n)));var r=i||jP?document.importNode(n,!0):n.cloneNode(!0);if(t){var a=_a(r),c=r.lastChild;th(a,c)}else th(r,r);return r}}function rW(o,e,t="svg"){var i=!o.startsWith("<!>"),n=`<${t}>${i?o:"<!>"+o}</${t}>`,s;return()=>{if(!s){var r=lT(n),a=_a(r);s=_a(a)}var c=s.cloneNode(!0);return th(c,c),c}}function cT(o,e){return rW(o,e,"svg")}function Hr(o=""){{var e=el(o+"");return th(e,e),e}}function Es(){var o=document.createDocumentFragment(),e=document.createComment(""),t=el();return o.append(e,t),th(e,t),o}function T(o,e){o!==null&&o.before(e)}function K(o,e){var t=e==null?"":typeof e=="object"?`${e}`:e;t!==(o[Jg]??(o[Jg]=o.nodeValue))&&(o[Jg]=t,o.nodeValue=`${t}`)}function aW(o,e){return lW(o,e)}const Sm=new Map;function lW(o,{target:e,anchor:t,props:i={},events:n,context:s,intro:r=!0,transformError:a}){qH();var c=void 0,h=YH(()=>{var g=t??e.appendChild(el());NH(g,{pending:()=>{}},v=>{Do({});var _=Fs;s&&(_.c=s),n&&(i.$$events=n),c=o(v,i)||{},Eo()},a);var f=new Set,p=v=>{for(var _=0;_<v.length;_++){var y=v[_];if(!f.has(y)){f.add(y);var S=nW(y);for(const N of[e,document]){var D=Sm.get(N);D===void 0&&(D=new Map,Sm.set(N,D));var P=D.get(y);P===void 0?(N.addEventListener(y,uS,{passive:S}),D.set(y,1)):D.set(y,P+1)}}}};return p(iw(aT)),hS.add(p),()=>{var S;for(var v of f)for(const D of[e,document]){var _=Sm.get(D),y=_.get(v);--y==0?(D.removeEventListener(v,uS),_.delete(v),_.size===0&&Sm.delete(D)):_.set(v,y)}hS.delete(p),g!==t&&((S=g.parentNode)==null||S.removeChild(g))}});return cW.set(c,h),c}let cW=new WeakMap;var Ir,la,Ao,Jc,kp,Ip,$v;class dW{constructor(e,t=!0){Ai(this,"anchor");Li(this,Ir,new Map);Li(this,la,new Map);Li(this,Ao,new Map);Li(this,Jc,new Set);Li(this,kp,!0);Li(this,Ip,e=>{if(J(this,Ir).has(e)){var t=J(this,Ir).get(e),i=J(this,la).get(t);if(i)O_(i),J(this,Jc).delete(t);else{var n=J(this,Ao).get(t);n&&(O_(n.effect),J(this,la).set(t,n.effect),J(this,Ao).delete(t),n.fragment.lastChild.remove(),this.anchor.before(n.fragment),i=n.effect)}for(const[s,r]of J(this,Ir)){if(J(this,Ir).delete(s),s===e)break;const a=J(this,Ao).get(r);a&&(Lo(a.effect),J(this,Ao).delete(r))}for(const[s,r]of J(this,la)){if(s===t||J(this,Jc).has(s))continue;const a=()=>{if(Array.from(J(this,Ir).values()).includes(s)){var h=document.createDocumentFragment();J0(r,h),h.append(el()),J(this,Ao).set(s,{effect:r,fragment:h})}else Lo(r);J(this,Jc).delete(s),J(this,la).delete(s)};J(this,kp)||!i?(J(this,Jc).add(s),od(r,a,!1)):a()}}});Li(this,$v,e=>{J(this,Ir).delete(e);const t=Array.from(J(this,Ir).values());for(const[i,n]of J(this,Ao))t.includes(i)||(Lo(n.effect),J(this,Ao).delete(i))});this.anchor=e,ki(this,kp,t)}ensure(e,t){var i=ci,n=qP();if(t&&!J(this,la).has(e)&&!J(this,Ao).has(e))if(n){var s=document.createDocumentFragment(),r=el();s.append(r),J(this,Ao).set(e,{effect:sr(()=>t(r)),fragment:s})}else J(this,la).set(e,sr(()=>t(this.anchor)));if(J(this,Ir).set(i,e),n){for(const[a,c]of J(this,la))a===e?i.unskip_effect(c):i.skip_effect(c);for(const[a,c]of J(this,Ao))a===e?i.unskip_effect(c.effect):i.skip_effect(c.effect);i.oncommit(J(this,Ip)),i.ondiscard(J(this,$v))}else J(this,Ip).call(this,i)}}Ir=new WeakMap,la=new WeakMap,Ao=new WeakMap,Jc=new WeakMap,kp=new WeakMap,Ip=new WeakMap,$v=new WeakMap;function q(o,e,t=!1){var i=new dW(o),n=t?tg:0;function s(r,a){i.ensure(r,a)}X0(()=>{var r=!1;e((a,c=0)=>{r=!0,s(c,a)}),r||s(-1,null)},n)}function On(o,e){return e}function hW(o,e,t){for(var i=[],n=e.length,s,r=e.length,a=0;a<n;a++){let f=e[a];od(f,()=>{if(s){if(s.pending.delete(f),s.done.add(f),s.pending.size===0){var p=o.outrogroups;gS(o,iw(s.done)),p.delete(s),p.size===0&&(o.outrogroups=null)}}else r-=1},!1)}if(r===0){var c=i.length===0&&t!==null;if(c){var h=t,g=h.parentNode;KH(g),g.append(h),o.items.clear()}gS(o,e,!c)}else s={pending:new Set(e),done:new Set},(o.outrogroups??(o.outrogroups=new Set)).add(s)}function gS(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|=ma;const r=document.createDocumentFragment();J0(s,r)}else Lo(e[n],t)}}var mk;function mi(o,e,t,i,n,s=null){var r=o,a=new Map,c=(e&CP)!==0;if(c){var h=o;r=h.appendChild(el())}var g=null,f=U0(()=>{var N=t();return B0(N)?N:N==null?[]:iw(N)}),p,v=new Map,_=!0;function y(N){(P.effect.f&hr)===0&&(P.pending.delete(N),P.fallback=g,uW(P,p,r,e,i),g!==null&&(p.length===0?(g.f&ma)===0?O_(g):(g.f^=ma,tf(g,null,r)):od(g,()=>{g=null})))}function S(N){P.pending.delete(N)}var D=X0(()=>{p=u(f);for(var N=p.length,j=new Set,H=ci,ee=qP(),X=0;X<N;X+=1){var pe=p[X],be=i(pe,X),Te=_?null:a.get(be);Te?(Te.v&&ng(Te.v,pe),Te.i&&ng(Te.i,X),ee&&H.unskip_effect(Te.e)):(Te=gW(a,_?r:mk??(mk=el()),pe,be,X,n,e,t),_||(Te.e.f|=ma),a.set(be,Te)),j.add(be)}if(N===0&&s&&!g&&(_?g=sr(()=>s(r)):(g=sr(()=>s(mk??(mk=el()))),g.f|=ma)),N>j.size&&YF(),!_)if(v.set(H,j),ee){for(const[xe,ct]of a)j.has(xe)||H.skip_effect(ct.e);H.oncommit(y),H.ondiscard(S)}else y(H);u(f)}),P={effect:D,items:a,pending:v,outrogroups:null,fallback:g};_=!1}function Vg(o){for(;o!==null&&(o.f&Wr)===0;)o=o.next;return o}function uW(o,e,t,i,n){var Te,xe,ct,Pt,dt,ai,Mt,Jt,ge;var s=(i&cH)!==0,r=e.length,a=o.items,c=Vg(o.effect.first),h,g=null,f,p=[],v=[],_,y,S,D;if(s)for(D=0;D<r;D+=1)_=e[D],y=n(_,D),S=a.get(y).e,(S.f&ma)===0&&((xe=(Te=S.nodes)==null?void 0:Te.a)==null||xe.measure(),(f??(f=new Set)).add(S));for(D=0;D<r;D+=1){if(_=e[D],y=n(_,D),S=a.get(y).e,o.outrogroups!==null)for(const rt of o.outrogroups)rt.pending.delete(S),rt.done.delete(S);if((S.f&oo)!==0&&(O_(S),s&&((Pt=(ct=S.nodes)==null?void 0:ct.a)==null||Pt.unfix(),(f??(f=new Set)).delete(S))),(S.f&ma)!==0)if(S.f^=ma,S===c)tf(S,null,t);else{var P=g?g.next:c;S===o.effect.last&&(o.effect.last=S.prev),S.prev&&(S.prev.next=S.next),S.next&&(S.next.prev=S.prev),Cl(o,g,S),Cl(o,S,P),tf(S,P,t),g=S,p=[],v=[],c=Vg(g.next);continue}if(S!==c){if(h!==void 0&&h.has(S)){if(p.length<v.length){var N=v[0],j;g=N.prev;var H=p[0],ee=p[p.length-1];for(j=0;j<p.length;j+=1)tf(p[j],N,t);for(j=0;j<v.length;j+=1)h.delete(v[j]);Cl(o,H.prev,ee.next),Cl(o,g,H),Cl(o,ee,N),c=N,g=ee,D-=1,p=[],v=[]}else h.delete(S),tf(S,c,t),Cl(o,S.prev,S.next),Cl(o,S,g===null?o.effect.first:g.next),Cl(o,g,S),g=S;continue}for(p=[],v=[];c!==null&&c!==S;)(h??(h=new Set)).add(c),v.push(c),c=Vg(c.next);if(c===null)continue}(S.f&ma)===0&&p.push(S),g=S,c=Vg(S.next)}if(o.outrogroups!==null){for(const rt of o.outrogroups)rt.pending.size===0&&(gS(o,iw(rt.done)),(dt=o.outrogroups)==null||dt.delete(rt));o.outrogroups.size===0&&(o.outrogroups=null)}if(c!==null||h!==void 0){var X=[];if(h!==void 0)for(S of h)(S.f&oo)===0&&X.push(S);for(;c!==null;)(c.f&oo)===0&&c!==o.fallback&&X.push(c),c=Vg(c.next);var pe=X.length;if(pe>0){var be=(i&CP)!==0&&r===0?t:null;if(s){for(D=0;D<pe;D+=1)(Mt=(ai=X[D].nodes)==null?void 0:ai.a)==null||Mt.measure();for(D=0;D<pe;D+=1)(ge=(Jt=X[D].nodes)==null?void 0:Jt.a)==null||ge.fix()}hW(o,X,be)}}s&&Gl(()=>{var rt,Ae;if(f!==void 0)for(S of f)(Ae=(rt=S.nodes)==null?void 0:rt.a)==null||Ae.apply()})}function gW(o,e,t,i,n,s,r,a){var c=(r&aH)!==0?(r&dH)===0?jH(t,!1,!1):eh(t):null,h=(r&lH)!==0?eh(n):null;return{v:c,i:h,e:sr(()=>(s(e,c??t,h??n,a),()=>{o.delete(i)}))}}function tf(o,e,t){if(o.nodes)for(var i=o.nodes.start,n=o.nodes.end,s=e&&(e.f&ma)===0?e.nodes.start:t;i!==null;){var r=qp(i);if(s.before(i),i===n)return;i=r}}function Cl(o,e,t){e===null?o.effect.first=t:e.next=t,t===null?o.effect.last=e:t.prev=e}function Bl(o,e,t=!1,i=!1,n=!1,s=!1){var r=o,a="";if(t)var c=o;Z(()=>{var h=Yi;if(a!==(a=e()??"")){if(t){h.nodes=null,c.innerHTML=a,a!==""&&th(_a(c),c.lastChild);return}if(h.nodes!==null&&(XP(h.nodes.start,h.nodes.end),h.nodes=null),a!==""){var g=i?_H:n?vH:void 0,f=KP(i?"svg":n?"math":"template",g);f.innerHTML=a;var p=i||n?f:f.content;if(th(_a(p),p.lastChild),i||n)for(;_a(p);)r.before(_a(p));else r.before(p)}}})}const _k=[...`
3
- \r\f \v\uFEFF`];function fW(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||_k.includes(i[r-1]))&&(a===i.length||_k.includes(i[a]))?i=(r===0?"":i.substring(0,r))+i.substring(a+1):r=a}}return i===""?null:i}function vk(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 Yw(o){return o[0]!=="-"||o[1]!=="-"?o.toLowerCase():o}function pW(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,c=[];i&&c.push(...Object.keys(i).map(Yw)),n&&c.push(...Object.keys(n).map(Yw));var h=0,g=-1;const y=o.length;for(var f=0;f<y;f++){var p=o[f];if(a?p==="/"&&o[f-1]==="*"&&(a=!1):s?s===p&&(s=!1):p==="/"&&o[f+1]==="*"?a=!0:p==='"'||p==="'"?s=p:p==="("?r++:p===")"&&r--,!a&&s===!1&&r===0){if(p===":"&&g===-1)g=f;else if(p===";"||f===y-1){if(g!==-1){var v=Yw(o.substring(h,g).trim());if(!c.includes(v)){p!==";"&&f++;var _=o.substring(h,f).trim();t+=" "+_+";"}}h=f+1,g=-1}}}}return i&&(t+=vk(i)),n&&(t+=vk(n,!0)),t=t.trim(),t===""?null:t}return o==null?null:String(o)}function Vt(o,e,t,i,n,s){var r=o[iS];if(r!==t||r===void 0){var a=fW(t,i,s);a==null?o.removeAttribute("class"):e?o.className=a:o.setAttribute("class",a),o[iS]=t}else if(s&&n!==s)for(var c in s){var h=!!s[c];(n==null||h!==!!n[c])&&o.classList.toggle(c,h)}return s}function Jw(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[nS];if(n!==e){var s=pW(e,i);s==null?o.removeAttribute("style"):o.style.cssText=s,o[nS]=e}else i&&(Array.isArray(i)?(Jw(o,t==null?void 0:t[0],i[0]),Jw(o,t==null?void 0:t[1],i[1],"important")):Jw(o,t,i));return i}function dT(o,e,t=!1){if(o.multiple){if(e==null)return;if(!B0(e))return wH();for(var i of o.options)i.selected=e.includes(wf(i));return}for(i of o.options){var n=wf(i);if($H(n,e)){i.selected=!0;return}}(!t||e!==void 0)&&(o.selectedIndex=-1)}function mW(o){var e=new MutationObserver(()=>{dT(o,o.__value)});e.observe(o,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["value"]}),G0(()=>{e.disconnect()})}function ua(o,e,t=e){var i=new WeakSet,n=!0;q0(o,"change",s=>{var r=s?"[selected]":":checked",a;if(o.multiple)a=[].map.call(o.querySelectorAll(r),wf);else{var c=o.querySelector(r)??o.querySelector("option:not([disabled])");a=c&&wf(c)}t(a),o.__value=a,ci!==null&&i.add(ci)}),Z0(()=>{var s=e();if(o===document.activeElement){var r=ci;if(i.has(r))return}if(dT(o,s,n),n&&s===void 0){var a=o.querySelector(":checked");a!==null&&(s=wf(a),t(s))}o.__value=s,n=!1}),mW(o)}function wf(o){return"__value"in o?o.__value:o.value}const _W=Symbol("is custom element"),vW=Symbol("is html");function Qw(o,e){var t=hT(o);t.checked!==(t.checked=e??void 0)&&(o.checked=e)}function Fn(o,e,t,i){var n=hT(o);n[e]!==(n[e]=t)&&(e==="loading"&&(o[ZF]=t),t==null?o.removeAttribute(e):typeof t!="string"&&bW(o).includes(e)?o[e]=t:o.setAttribute(e,t))}function hT(o){return o[Qm]??(o[Qm]={[_W]:o.nodeName.includes("-"),[vW]:o.namespaceURI===xP})}var bk=new Map;function bW(o){var e=o.getAttribute("is")||o.nodeName,t=bk.get(e);if(t)return t;bk.set(e,t=[]);for(var i,n=o,s=Element.prototype;s!==n;){i=zF(n);for(var r in i)i[r].set&&r!=="innerHTML"&&r!=="textContent"&&r!=="innerText"&&t.push(r);n=bP(n)}return t}function Ii(o,e,t=e){var i=new WeakSet;q0(o,"input",async n=>{var s=n?o.defaultValue:o.value;if(s=ey(o)?ty(s):s,t(s),ci!==null&&i.add(ci),await dS(),s!==(s=e())){var r=o.selectionStart,a=o.selectionEnd,c=o.value.length;if(o.value=s??"",a!==null){var h=o.value.length;r===a&&a===c&&h>c?(o.selectionStart=h,o.selectionEnd=h):(o.selectionStart=r,o.selectionEnd=Math.min(a,h))}}}),vl(e)==null&&o.value&&(t(ey(o)?ty(o.value):o.value),ci!==null&&i.add(ci)),aw(()=>{var n=e();if(o===document.activeElement){var s=ci;if(i.has(s))return}ey(o)&&n===ty(o.value)||o.type==="date"&&!n&&!o.value||n!==o.value&&(o.value=n??"")})}function Us(o,e,t=e){q0(o,"change",i=>{var n=i?o.defaultChecked:o.checked;t(n)}),vl(e)==null&&t(o.checked),aw(()=>{var i=e();o.checked=!!i})}function ey(o){var e=o.type;return e==="number"||e==="range"}function ty(o){return o===""?null:+o}var Fl,Nu,Dp,qv,uT;const Kv=class Kv{constructor(e){Li(this,qv);Li(this,Fl,new WeakMap);Li(this,Nu);Li(this,Dp);ki(this,Dp,e)}observe(e,t){var i=J(this,Fl).get(e)||new Set;return i.add(t),J(this,Fl).set(e,i),bn(this,qv,uT).call(this).observe(e,J(this,Dp)),()=>{var n=J(this,Fl).get(e);n.delete(t),n.size===0&&(J(this,Fl).delete(e),J(this,Nu).unobserve(e))}}};Fl=new WeakMap,Nu=new WeakMap,Dp=new WeakMap,qv=new WeakSet,uT=function(){return J(this,Nu)??ki(this,Nu,new ResizeObserver(e=>{for(var t of e){Kv.entries.set(t.target,t);for(var i of J(this,Fl).get(t.target)||[])i(t)}}))},Ai(Kv,"entries",new WeakMap);let fS=Kv;var wW=new fS({box:"border-box"});function yW(o,e,t){var i=wW.observe(o,()=>t(o[e]));Z0(()=>(vl(()=>t(o[e])),i))}function iy(o,e){return o===e||(o==null?void 0:o[id])===e}function xs(o={},e,t,i){var n=Fs.r,s=Yi;return Z0(()=>{var r,a;return aw(()=>{r=a,a=[],vl(()=>{iy(t(...a),o)||(e(o,...a),r&&iy(t(...r),o)&&e(null,...r))})}),()=>{let c=s;for(;c!==n&&c.parent!==null&&c.parent.f&tS;)c=c.parent;const h=()=>{a&&iy(t(...a),o)&&e(null,...a)},g=c.teardown;c.teardown=()=>{h(),g==null||g()}}}),o}function og(o,e,t,i){var j;var n=!0,s=(t&gH)!==0,r=(t&fH)!==0,a=i,c=!0,h=void 0,g=()=>r&&n?(h??(h=qf(i)),u(h)):(c&&(c=!1,a=r?vl(i):i),a);let f;if(s){var p=id in o||GF in o;f=((j=yu(o,e))==null?void 0:j.set)??(p&&e in o?H=>o[e]=H:void 0)}var v,_=!1;s?[v,_]=kH(()=>o[e]):v=o[e],v===void 0&&i!==void 0&&(v=g(),f&&(iH(),f(v)));var y;if(y=()=>{var H=o[e];return H===void 0?g():(c=!0,H)},(t&uH)===0)return y;if(f){var S=o.$$legacy;return(function(H,ee){return arguments.length>0?((!ee||S||_)&&f(ee?y():H),H):y()})}var D=!1,P=((t&hH)!==0?qf:U0)(()=>(D=!1,y()));s&&u(P);var N=Yi;return(function(H,ee){if(arguments.length>0){const X=ee?u(P):s?bi(H):H;return I(P,X),D=!0,a!==void 0&&(a=X),H}return ll&&D||(N.f&hr)!==0?P.v:u(P)})}function vr(o){Fs===null&&SP(),An(()=>{const e=vl(o);if(typeof e=="function")return e})}function lw(o){Fs===null&&SP(),vr(()=>()=>vl(o))}const SW="5";var VD;typeof window<"u"&&((VD=window.__svelte??(window.__svelte={})).v??(VD.v=new Set)).add(SW);/*!-----------------------------------------------------------------------------
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 CW=Object.defineProperty,xW=Object.getOwnPropertyDescriptor,LW=Object.getOwnPropertyNames,kW=Object.prototype.hasOwnProperty,IW=(o,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of LW(e))!kW.call(o,n)&&n!==t&&CW(o,n,{get:()=>e[n],enumerable:!(i=xW(e,n))||i.enumerable});return o},DW=(o,e,t)=>(IW(o,e,"default"),t),Gp={};DW(Gp,UD);var EW=class{constructor(e,t,i){this._onDidChange=new Gp.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)}},PW={validate:!0,allowComments:!0,schemas:[],enableSchemaRequest:!1,schemaRequest:"warning",schemaValidation:"warning",comments:"error",trailingCommas:"error"},TW={documentFormattingEdits:!0,documentRangeFormattingEdits:!0,completionItems:!0,hovers:!0,documentSymbols:!0,tokens:!0,colors:!0,foldingRanges:!0,diagnostics:!0,selectionRanges:!0},gT=new EW("json",PW,TW),MW=()=>fT().then(o=>o.getWorker());Gp.languages.json={jsonDefaults:gT,getWorker:MW};function fT(){return jD(()=>import("./jsonMode-CXWNuhmR.js"),__vite__mapDeps([0,1,2]))}Gp.languages.register({id:"json",extensions:[".json",".bowerrc",".jshintrc",".jscsrc",".eslintrc",".babelrc",".har"],aliases:["JSON","json"],mimetypes:["application/json"]});Gp.languages.onLanguage("json",()=>{fT().then(o=>o.setupMode(gT))});/*!-----------------------------------------------------------------------------
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 NW=Object.defineProperty,RW=Object.getOwnPropertyDescriptor,AW=Object.getOwnPropertyNames,OW=Object.prototype.hasOwnProperty,FW=(o,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of AW(e))!OW.call(o,n)&&n!==t&&NW(o,n,{get:()=>e[n],enumerable:!(i=RW(e,n))||i.enumerable});return o},HW=(o,e,t)=>(FW(o,e,"default"),t),WW="5.4.5",rg={};HW(rg,UD);var pT=(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))(pT||{}),mT=(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))(mT||{}),_T=(o=>(o[o.CarriageReturnLineFeed=0]="CarriageReturnLineFeed",o[o.LineFeed=1]="LineFeed",o))(_T||{}),vT=(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))(vT||{}),bT=(o=>(o[o.Classic=1]="Classic",o[o.NodeJs=2]="NodeJs",o))(bT||{}),wT=class{constructor(o,e,t,i,n){this._onDidChange=new rg.Emitter,this._onDidExtraLibsChange=new rg.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=WW,yT={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},ST=new wT({allowNonTsExtensions:!0,target:99},{noSemanticValidation:!1,noSyntaxValidation:!1,onlyVisible:!1},{},{},yT),CT=new wT({allowNonTsExtensions:!0,allowJs:!0,target:99},{noSemanticValidation:!0,noSyntaxValidation:!1,onlyVisible:!1},{},{},yT),zW=()=>cw().then(o=>o.getTypeScriptWorker()),VW=()=>cw().then(o=>o.getJavaScriptWorker());rg.languages.typescript={ModuleKind:pT,JsxEmit:mT,NewLineKind:_T,ScriptTarget:vT,ModuleResolutionKind:bT,typescriptVersion:BW,typescriptDefaults:ST,javascriptDefaults:CT,getTypeScriptWorker:zW,getJavaScriptWorker:VW};function cw(){return jD(()=>import("./tsMode-6wpkRoMY.js"),__vite__mapDeps([3,1,2]))}rg.languages.onLanguage("typescript",()=>cw().then(o=>o.setupTypeScript(ST)));rg.languages.onLanguage("javascript",()=>cw().then(o=>o.setupJavaScript(CT)));class jW extends Zs{constructor(){super({id:"diffEditor.toggleCollapseUnchangedRegions",title:vt("toggleCollapseUnchangedRegions","Toggle Collapse Unchanged Regions"),icon:Xt.map,toggled:oe.has("config.diffEditor.hideUnchangedRegions.enabled"),precondition:oe.has("isInDiffEditor"),menu:{when:oe.has("isInDiffEditor"),id:et.EditorTitle,order:22,group:"navigation"}})}run(e,...t){const i=e.get(Sn),n=!i.getValue("diffEditor.hideUnchangedRegions.enabled");i.updateValue("diffEditor.hideUnchangedRegions.enabled",n)}}class xT extends Zs{constructor(){super({id:"diffEditor.toggleShowMovedCodeBlocks",title:vt("toggleShowMovedCodeBlocks","Toggle Show Moved Code Blocks"),precondition:oe.has("isInDiffEditor")})}run(e,...t){const i=e.get(Sn),n=!i.getValue("diffEditor.experimental.showMoves");i.updateValue("diffEditor.experimental.showMoves",n)}}class LT extends Zs{constructor(){super({id:"diffEditor.toggleUseInlineViewWhenSpaceIsLimited",title:vt("toggleUseInlineViewWhenSpaceIsLimited","Toggle Use Inline View When Space Is Limited"),precondition:oe.has("isInDiffEditor")})}run(e,...t){const i=e.get(Sn),n=!i.getValue("diffEditor.useInlineViewWhenSpaceIsLimited");i.updateValue("diffEditor.useInlineViewWhenSpaceIsLimited",n)}}const Zp=vt("diffEditor","Diff Editor");class UW extends Br{constructor(){super({id:"diffEditor.switchSide",title:vt("switchSide","Switch Side"),icon:Xt.arrowSwap,precondition:oe.has("isInDiffEditor"),f1:!0,category:Zp})}runEditorCommand(e,t,i){const n=Dg(e);if(n instanceof Ep){if(i&&i.dryRun)return{destinationSelection:n.mapToOtherSide().destinationSelection};n.switchSide()}}}class $W extends Br{constructor(){super({id:"diffEditor.exitCompareMove",title:vt("exitCompareMove","Exit Compare Move"),icon:Xt.close,precondition:M.comparingMovedCode,f1:!1,category:Zp,keybinding:{weight:1e4,primary:9}})}runEditorCommand(e,t,...i){const n=Dg(e);n instanceof Ep&&n.exitCompareMove()}}class qW extends Br{constructor(){super({id:"diffEditor.collapseAllUnchangedRegions",title:vt("collapseAllUnchangedRegions","Collapse All Unchanged Regions"),icon:Xt.fold,precondition:oe.has("isInDiffEditor"),f1:!0,category:Zp})}runEditorCommand(e,t,...i){const n=Dg(e);n instanceof Ep&&n.collapseAllUnchangedRegions()}}class KW extends Br{constructor(){super({id:"diffEditor.showAllUnchangedRegions",title:vt("showAllUnchangedRegions","Show All Unchanged Regions"),icon:Xt.unfold,precondition:oe.has("isInDiffEditor"),f1:!0,category:Zp})}runEditorCommand(e,t,...i){const n=Dg(e);n instanceof Ep&&n.showAllUnchangedRegions()}}class pS extends Zs{constructor(){super({id:"diffEditor.revert",title:vt("revert","Revert"),f1:!1,category:Zp})}run(e,t){const i=GW(e,t.originalUri,t.modifiedUri);i instanceof Ep&&i.revertRangeMappings(t.mapping.innerChanges??[])}}const kT=vt("accessibleDiffViewer","Accessible Diff Viewer"),Gv=class Gv extends Zs{constructor(){super({id:Gv.id,title:vt("editor.action.accessibleDiffViewer.next","Go to Next Difference"),category:kT,precondition:oe.has("isInDiffEditor"),keybinding:{primary:65,weight:100},f1:!0})}run(e){const t=Dg(e);t==null||t.accessibleDiffViewerNext()}};Gv.id="editor.action.accessibleDiffViewer.next";let Gf=Gv;const Zv=class Zv extends Zs{constructor(){super({id:Zv.id,title:vt("editor.action.accessibleDiffViewer.prev","Go to Previous Difference"),category:kT,precondition:oe.has("isInDiffEditor"),keybinding:{primary:1089,weight:100},f1:!0})}run(e){const t=Dg(e);t==null||t.accessibleDiffViewerPrev()}};Zv.id="editor.action.accessibleDiffViewer.prev";let F_=Zv;function GW(o,e,t){return o.get(Jn).listDiffEditors().find(s=>{var c,h;const r=s.getModifiedEditor(),a=s.getOriginalEditor();return r&&((c=r.getModel())==null?void 0:c.uri.toString())===t.toString()&&a&&((h=a.getModel())==null?void 0:h.uri.toString())===e.toString()})||null}function Dg(o){const t=o.get(Jn).listDiffEditors(),i=$D();if(i)for(const n of t){const s=n.getContainerDomNode();if(ZW(s,i))return n}return null}function ZW(o,e){let t=e;for(;t;){if(t===o)return!0;t=t.parentElement}return!1}Ji(jW);Ji(xT);Ji(LT);ur.appendMenuItem(et.EditorTitle,{command:{id:new LT().desc.id,title:w("useInlineViewWhenSpaceIsLimited","Use Inline View When Space Is Limited"),toggled:oe.has("config.diffEditor.useInlineViewWhenSpaceIsLimited"),precondition:oe.has("isInDiffEditor")},order:11,group:"1_diff",when:oe.and(M.diffEditorRenderSideBySideInlineBreakpointReached,oe.has("isInDiffEditor"))});ur.appendMenuItem(et.EditorTitle,{command:{id:new xT().desc.id,title:w("showMoves","Show Moved Code Blocks"),icon:Xt.move,toggled:rA.create("config.diffEditor.experimental.showMoves",!0),precondition:oe.has("isInDiffEditor")},order:10,group:"1_diff",when:oe.has("isInDiffEditor")});Ji(pS);for(const o of[{icon:Xt.arrowRight,key:M.diffEditorInlineMode.toNegated()},{icon:Xt.discard,key:M.diffEditorInlineMode}])ur.appendMenuItem(et.DiffEditorHunkToolbar,{command:{id:new pS().desc.id,title:w("revertHunk","Revert Block"),icon:o.icon},when:oe.and(M.diffEditorModifiedWritable,o.key),order:5,group:"primary"}),ur.appendMenuItem(et.DiffEditorSelectionToolbar,{command:{id:new pS().desc.id,title:w("revertSelection","Revert Selection"),icon:o.icon},when:oe.and(M.diffEditorModifiedWritable,o.key),order:5,group:"primary"});Ji(UW);Ji($W);Ji(qW);Ji(KW);ur.appendMenuItem(et.EditorTitle,{command:{id:Gf.id,title:w("Open Accessible Diff Viewer","Open Accessible Diff Viewer"),precondition:oe.has("isInDiffEditor")},order:10,group:"2_diff",when:oe.and(M.accessibleDiffViewerVisible.negate(),oe.has("isInDiffEditor"))});fn.registerCommandAlias("editor.action.diffReview.next",Gf.id);Ji(Gf);fn.registerCommandAlias("editor.action.diffReview.prev",F_.id);Ji(F_);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)}},mS;const dw=new Di("selectionAnchorSet",!1);var dd;let mc=(dd=class{static get(e){return e.getContribution(mS.ID)}constructor(e,t){this.editor=e,this.selectionAnchorSetContextKey=dw.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(jt.fromPositions(e,e),{description:"selection-anchor",stickiness:1,hoverMessage:new Ms().appendText(w("selectionAnchor","Selection Anchor")),className:"selection-anchor"})}),this.selectionAnchorSetContextKey.set(!!this.decorationId),gr(w("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(jt.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()}},mS=dd,dd.ID="editor.contrib.selectionAnchorController",dd);mc=mS=XW([YW(1,Fi)],mc);class JW extends we{constructor(){super({id:"editor.action.setSelectionAnchor",label:w("setSelectionAnchor","Set Selection Anchor"),alias:"Set Selection Anchor",precondition:void 0,kbOpts:{kbExpr:M.editorTextFocus,primary:ts(2089,2080),weight:100}})}async run(e,t){var i;(i=mc.get(t))==null||i.setSelectionAnchor()}}class QW extends we{constructor(){super({id:"editor.action.goToSelectionAnchor",label:w("goToSelectionAnchor","Go to Selection Anchor"),alias:"Go to Selection Anchor",precondition:dw})}async run(e,t){var i;(i=mc.get(t))==null||i.goToSelectionAnchor()}}class e3 extends we{constructor(){super({id:"editor.action.selectFromAnchorToCursor",label:w("selectFromAnchorToCursor","Select from Anchor to Cursor"),alias:"Select from Anchor to Cursor",precondition:dw,kbOpts:{kbExpr:M.editorTextFocus,primary:ts(2089,2089),weight:100}})}async run(e,t){var i;(i=mc.get(t))==null||i.selectFromAnchorToCursor()}}class t3 extends we{constructor(){super({id:"editor.action.cancelSelectionAnchor",label:w("cancelSelectionAnchor","Cancel Selection Anchor"),alias:"Cancel Selection Anchor",precondition:dw,kbOpts:{kbExpr:M.editorTextFocus,primary:9,weight:100}})}async run(e,t){var i;(i=mc.get(t))==null||i.cancelSelectionAnchor()}}_i(mc.ID,mc,4);ie(JW);ie(QW);ie(e3);ie(t3);const i3=ut("editorOverviewRuler.bracketMatchForeground","#A0A0A0",w("overviewRulerBracketMatchForeground","Overview ruler marker color for matching brackets."));class n3 extends we{constructor(){super({id:"editor.action.jumpToBracket",label:w("smartSelect.jumpBracket","Go to Bracket"),alias:"Go to Bracket",precondition:void 0,kbOpts:{kbExpr:M.editorTextFocus,primary:3165,weight:100}})}run(e,t){var i;(i=ih.get(t))==null||i.jumpToBracket()}}class s3 extends we{constructor(){super({id:"editor.action.selectToBracket",label:w("smartSelect.selectToBracket","Select to Bracket"),alias:"Select to Bracket",precondition:void 0,metadata:{description:vt("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=ih.get(t))==null||s.selectToBracket(n)}}class o3 extends we{constructor(){super({id:"editor.action.removeBrackets",label:w("smartSelect.removeBrackets","Remove Brackets"),alias:"Remove Brackets",precondition:void 0,kbOpts:{kbExpr:M.editorTextFocus,primary:2561,weight:100}})}run(e,t){var i;(i=ih.get(t))==null||i.removeBrackets(this.id)}}class r3{constructor(e,t,i){this.position=e,this.brackets=t,this.options=i}}const Pl=class Pl extends ze{static get(e){return e.getContribution(Pl.ID)}constructor(e){super(),this._editor=e,this._lastBracketsData=[],this._lastVersionId=0,this._decorations=this._editor.createDecorationsCollection(),this._updateBracketsSoon=this._register(new ds(()=>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 c=e.bracketPairs.findNextBracket(n);c&&c.range&&(r=c.range.getStartPosition())}}return r?new jt(r.lineNumber,r.column,r.lineNumber,r.column):new jt(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 h=t.bracketPairs.findNextBracket(s);h&&h.range&&(r=t.bracketPairs.matchBracket(h.range.getStartPosition()))}let a=null,c=null;if(r){r.sort(B.compareRangesUsingStarts);const[h,g]=r;if(a=e?h.getStartPosition():h.getEndPosition(),c=e?g.getEndPosition():g.getStartPosition(),g.containsPosition(s)){const f=a;a=c,c=f}}a&&c&&i.push(new jt(a.lineNumber,a.column,c.lineNumber,c.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 f=0,p=e.length;f<p;f++){const v=e[f];v.isEmpty()&&(s[r++]=v.getStartPosition())}s.length>1&&s.sort(yt.compare);const a=[];let c=0,h=0;const g=n.length;for(let f=0,p=s.length;f<p;f++){const v=s[f];for(;h<g&&n[h].position.isBefore(v);)h++;if(h<g&&n[h].position.equals(v))a[c++]=n[h];else{let _=t.bracketPairs.matchBracket(v,20),y=Pl._DECORATION_OPTIONS_WITH_OVERVIEW_RULER;!_&&this._matchBrackets==="always"&&(_=t.bracketPairs.findEnclosingBrackets(v,20),y=Pl._DECORATION_OPTIONS_WITHOUT_OVERVIEW_RULER),a[c++]=new r3(v,_,y)}}this._lastBracketsData=a,this._lastVersionId=i}};Pl.ID="editor.contrib.bracketMatchingController",Pl._DECORATION_OPTIONS_WITH_OVERVIEW_RULER=Ci.register({description:"bracket-match-overview",stickiness:1,className:"bracket-match",overviewRuler:{color:as(i3),position:ba.Center}}),Pl._DECORATION_OPTIONS_WITHOUT_OVERVIEW_RULER=Ci.register({description:"bracket-match-no-overview",stickiness:1,className:"bracket-match"});let ih=Pl;_i(ih.ID,ih,1);ie(s3);ie(n3);ie(o3);ur.appendMenuItem(et.MenubarGoMenu,{group:"5_infile_nav",command:{id:"editor.action.jumpToBracket",title:w({key:"miGoToBracket",comment:["&& denotes a mnemonic"]},"Go to &&Bracket")},order:2});class a3{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 B(i,n-1,i,n),a=e.getValueInRange(r);t.addEditOperation(r,null),t.addEditOperation(new B(i,s,i,s),a)}else{const r=new B(i,s,i,s+1),a=e.getValueInRange(r);t.addEditOperation(r,null),t.addEditOperation(new B(i,n,i,n),a)}}computeCursorState(e,t){return this._isMovingLeft?new jt(this._selection.startLineNumber,this._selection.startColumn-1,this._selection.endLineNumber,this._selection.endColumn-1):new jt(this._selection.startLineNumber,this._selection.startColumn+1,this._selection.endLineNumber,this._selection.endColumn+1)}}class IT extends we{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 a3(s,this.left));t.pushUndoStop(),t.executeCommands(this.id,i),t.pushUndoStop()}}class l3 extends IT{constructor(){super(!0,{id:"editor.action.moveCarretLeftAction",label:w("caret.moveLeft","Move Selected Text Left"),alias:"Move Selected Text Left",precondition:M.writable})}}class c3 extends IT{constructor(){super(!1,{id:"editor.action.moveCarretRightAction",label:w("caret.moveRight","Move Selected Text Right"),alias:"Move Selected Text Right",precondition:M.writable})}}ie(l3);ie(c3);class d3 extends we{constructor(){super({id:"editor.action.transposeLetters",label:w("transposeLetters.label","Transpose Letters"),alias:"Transpose Letters",precondition:M.writable,kbOpts:{kbExpr:M.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,c=r.startColumn,h=i.getLineMaxColumn(a);if(a===1&&(c===1||c===2&&h===2))continue;const g=c===h?r.getPosition():zw.rightPosition(i,r.getPosition().lineNumber,r.getPosition().column),f=zw.leftPosition(i,g),p=zw.leftPosition(i,f),v=i.getValueInRange(B.fromPositions(p,f)),_=i.getValueInRange(B.fromPositions(f,g)),y=B.fromPositions(p,g);n.push(new Pp(y,_+v))}n.length>0&&(t.pushUndoStop(),t.executeCommands(this.id,n),t.pushUndoStop())}}ie(d3);const hw=(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 Q0(o){return{asString:async()=>o,asFile:()=>{},value:typeof o=="string"?o:void 0}}function h3(o,e,t){const i={id:hw(),name:o,uri:e,data:t};return{asString:async()=>"",asFile:()=>i,value:void 0}}class DT{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 Ya.some(this,([i,n])=>n.asFile())&&t.push("files"),PT(H_(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 H_(e)}}function H_(o){return o.toLowerCase()}function ET(o,e){return PT(H_(o),e.map(H_))}function PT(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 uw=Object.freeze({create:o=>qD(o.map(e=>e.toString())).join(`\r
14
- `),split:o=>o.split(`\r
15
- `),parse:o=>uw.split(o).filter(e=>!e.startsWith("#"))}),na=class na{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+na.sep)}intersects(e){return this.contains(e)||e.contains(this)}append(...e){return new na((this.value?[this.value,...e]:e).join(na.sep))}};na.sep=".",na.None=new na("@@none@@"),na.Empty=new na("");let yn=na;const wk={EDITORS:"CodeEditors",FILES:"CodeFiles"};class u3{}const g3={DragAndDropContribution:"workbench.contributions.dragAndDrop"};zr.add(g3.DragAndDropContribution,new u3);const Tf=class Tf{constructor(){}static getInstance(){return Tf.INSTANCE}hasData(e){return e&&e===this.proto}getData(e){if(this.hasData(e))return this.data}};Tf.INSTANCE=new Tf;let _S=Tf;function TT(o){const e=new DT;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,Q0(n))}else if(t.kind==="file"){const n=t.getAsFile();n&&e.append(i,f3(n))}}return e}function f3(o){const e=o.path?sn.parse(o.path):void 0;return h3(o.name,e,async()=>new Uint8Array(await o.arrayBuffer()))}const p3=Object.freeze([wk.EDITORS,wk.FILES,Wy.RESOURCES,Wy.INTERNAL_URI_LIST]);function MT(o,e=!1){const t=TT(o),i=t.get(Wy.INTERNAL_URI_LIST);if(i)t.replace(bs.uriList,i);else if(e||!t.has(bs.uriList)){const n=[];for(const s of o.items){const r=s.getAsFile();if(r){const a=r.path;try{a?n.push(sn.file(a).toString()):n.push(sn.parse(r.name,!0).toString())}catch{}}}n.length&&t.replace(bs.uriList,Q0(uw.create(n)))}for(const n of p3)t.delete(n);return t}var e1=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Zf=function(o,e){return function(t,i){e(t,i,o)}};class t1{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 Mf=class Mf extends t1{constructor(){super(...arguments),this.kind=Mf.kind,this.dropMimeTypes=[bs.text],this.pasteMimeTypes=[bs.text]}async getEdit(e,t){const i=e.get(bs.text);if(!i||e.has(bs.uriList))return;const n=await i.asString();return{handledMimeType:bs.text,title:w("text.label","Insert Plain Text"),insertText:n,kind:this.kind}}};Mf.id="text",Mf.kind=new yn("text.plain");let nh=Mf;class NT extends t1{constructor(){super(...arguments),this.kind=new yn("uri.absolute"),this.dropMimeTypes=[bs.uriList],this.pasteMimeTypes=[bs.uriList]}async getEdit(e,t){const i=await RT(e);if(!i.length||t.isCancellationRequested)return;let n=0;const s=i.map(({uri:a,originalText:c})=>a.scheme===js.file?a.fsPath:(n++,c)).join(" ");let r;return n>0?r=i.length>1?w("defaultDropProvider.uriList.uris","Insert Uris"):w("defaultDropProvider.uriList.uri","Insert Uri"):r=i.length>1?w("defaultDropProvider.uriList.paths","Insert Paths"):w("defaultDropProvider.uriList.path","Insert Path"),{handledMimeType:bs.uriList,insertText:s,title:r,kind:this.kind}}}let W_=class extends t1{constructor(e){super(),this._workspaceContextService=e,this.kind=new yn("uri.relative"),this.dropMimeTypes=[bs.uriList],this.pasteMimeTypes=[bs.uriList]}async getEdit(e,t){const i=await RT(e);if(!i.length||t.isCancellationRequested)return;const n=nl(i.map(({uri:s})=>{const r=this._workspaceContextService.getWorkspaceFolder(s);return r?aA(r.uri,s):void 0}));if(n.length)return{handledMimeType:bs.uriList,insertText:n.join(" "),title:i.length>1?w("defaultDropProvider.uriList.relativePaths","Insert Relative Paths"):w("defaultDropProvider.uriList.relativePath","Insert Relative Path"),kind:this.kind}}};W_=e1([Zf(0,Uu)],W_);class m3{constructor(){this.kind=new yn("html"),this.pasteMimeTypes=["text/html"],this._yieldTo=[{mimeType:bs.text}]}async provideDocumentPasteEdits(e,t,i,n,s){var c;if(n.triggerKind!==By.PasteAs&&!((c=n.only)!=null&&c.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:w("pasteHtmlLabel","Insert HTML"),kind:this.kind}]}}}async function RT(o){const e=o.get(bs.uriList);if(!e)return[];const t=await e.asString(),i=[];for(const n of uw.parse(t))try{i.push({uri:sn.parse(n),originalText:n})}catch{}return i}let vS=class extends ze{constructor(e,t){super(),this._register(e.documentDropEditProvider.register("*",new nh)),this._register(e.documentDropEditProvider.register("*",new NT)),this._register(e.documentDropEditProvider.register("*",new W_(t)))}};vS=e1([Zf(0,St),Zf(1,Uu)],vS);let bS=class extends ze{constructor(e,t){super(),this._register(e.documentPasteEditProvider.register("*",new nh)),this._register(e.documentPasteEditProvider.register("*",new NT)),this._register(e.documentPasteEditProvider.register("*",new W_(t))),this._register(e.documentPasteEditProvider.register("*",new m3))}};bS=e1([Zf(0,St),Zf(1,Uu)],bS);const Xo=class Xo{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=Xo._table[i],typeof n=="number")return this.pos+=1,{type:n,pos:e,len:1};if(Xo.isDigitCharacter(i)){n=8;do t+=1,i=this.value.charCodeAt(e+t);while(Xo.isDigitCharacter(i));return this.pos+=t,{type:n,pos:e,len:t}}if(Xo.isVariableCharacter(i)){n=9;do i=this.value.charCodeAt(e+ ++t);while(Xo.isVariableCharacter(i)||Xo.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 Xo._table[i]>"u"&&!Xo.isDigitCharacter(i)&&!Xo.isVariableCharacter(i));return this.pos+=t,{type:n,pos:e,len:t}}};Xo._table={36:0,58:1,44:2,123:3,125:4,92:5,47:6,124:7,43:11,45:12,63:13};let wS=Xo;class Eg{constructor(){this._children=[]}appendChild(e){return e instanceof so&&this._children[this._children.length-1]instanceof so?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,c){for(const h of a)h.parent=c,r(h.children,h)})(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 Xp)return e;e=e.parent}}toString(){return this.children.reduce((e,t)=>e+t.toString(),"")}len(){return 0}}let so=class AT extends Eg{constructor(e){super(),this.value=e}toString(){return this.value}len(){return this.value.length}clone(){return new AT(this.value)}};class OT extends Eg{}class Wo extends OT{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 Pg?this._children[0]:void 0}clone(){const e=new Wo(this.index);return this.transform&&(e.transform=this.transform.clone()),e._children=this.children.map(t=>t.clone()),e}}class Pg extends Eg{constructor(){super(...arguments),this.options=[]}appendChild(e){return e instanceof so&&(e.parent=this,this.options.push(e)),this}toString(){return this.options[0].value}len(){return this.options[0].len()}clone(){const e=new Pg;return this.options.forEach(e.appendChild,e),e}}class i1 extends Eg{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 Dr&&!!s.elseValue)&&(n=this._replace([])),n}_replace(e){let t="";for(const i of this._children)if(i instanceof Dr){let n=e[i.index]||"";n=i.resolve(n),t+=n}else t+=i.toString();return t}toString(){return""}clone(){const e=new i1;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 Dr extends Eg{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 Dr(this.index,this.shorthandName,this.ifValue,this.elseValue)}}class Xf extends OT{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 so(t)],!0):!1}clone(){const e=new Xf(this.name);return this.transform&&(e.transform=this.transform.clone()),e._children=this.children.map(t=>t.clone()),e}}function yk(o,e){const t=[...o];for(;t.length>0;){const i=t.shift();if(!e(i))break;t.unshift(...i.children)}}class Xp extends Eg{get placeholderInfo(){if(!this._placeholders){const e=[];let t;this.walk(function(i){return i instanceof Wo&&(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 yk([e],i=>(t+=i.len(),!0)),t}enclosingPlaceholders(e){const t=[];let{parent:i}=e;for(;i;)i instanceof Wo&&t.push(i),i=i.parent;return t}resolveVariables(e){return this.walk(t=>(t instanceof Xf&&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 Xp;return this._children=this.children.map(t=>t.clone()),e}walk(e){yk(this.children,e)}}class sh{constructor(){this._scanner=new wS,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 Xp;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(c=>(c instanceof Wo&&(c.isFinalTabstop?n.set(0,void 0):!n.has(c.index)&&c.children.length>0?n.set(c.index,c.children):s.push(c)),!0));const r=(c,h)=>{const g=n.get(c.index);if(!g)return;const f=new Wo(c.index);f.transform=c.transform;for(const p of g){const v=p.clone();f.appendChild(v),v instanceof Wo&&n.has(v.index)&&!h.has(v.index)&&(h.add(v.index),r(v,h),h.delete(v.index))}t.replace(c,[f])},a=new Set;for(const c of s)r(c,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 Wo(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 so(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 Wo(Number(t)):new Xf(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 Wo(Number(t));if(this._accept(1))for(;;){if(this._accept(4))return e.appendChild(s),!0;if(!this._parse(s))return e.appendChild(new so("${"+t+":")),s.children.forEach(e.appendChild,e),!0}else if(s.index>0&&this._accept(7)){const r=new Pg;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 so(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 Xf(t);if(this._accept(1))for(;;){if(this._accept(4))return e.appendChild(s),!0;if(!this._parse(s))return e.appendChild(new so("${"+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 i1;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 so(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 Dr(Number(n))),!0;if(!this._accept(1))return this._backTo(t),!1}else return e.appendChild(new Dr(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 Dr(Number(n),s)),!0)}else if(this._accept(11)){const s=this._until(4);if(s)return e.appendChild(new Dr(Number(n),void 0,s,void 0)),!0}else if(this._accept(12)){const s=this._until(4);if(s)return e.appendChild(new Dr(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 Dr(Number(n),void 0,s,r)),!0}}else{const s=this._until(4);if(s)return e.appendChild(new Dr(Number(n),void 0,void 0,s)),!0}return this._backTo(t),!1}_parseAnything(e){return this._token.type!==14?(e.appendChild(new so(this._scanner.tokenText(this._token))),this._accept(void 0),!0):!1}}function FT(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 lA(o,{range:s,text:typeof t.insertText=="string"?sh.escape(t.insertText)+"$0":t.insertText.snippet,insertAsSnippet:!0})),...((n=t.additionalEdit)==null?void 0:n.edits)??[]]}}function HT(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 c of o)if(c!==r&&e(a,c)){let h=t.get(r);h||(h=[],t.set(r,h)),h.push(c)}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 c=[];const h=t.get(a);return h&&(n.push(a),c=s(h),n.pop()),i.add(a),[...c,a,...s(r.slice(1))]}return s(Array.from(o))}var _3=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},v3=function(o,e){return function(t,i){e(t,i,o)}};const b3=Ci.register({description:"inline-progress-widget",stickiness:1,showIfCollapsed:!0,after:{content:KD,inlineClassName:"inline-editor-progress-decoration",inlineClassNameAffectsLetterSpacing:!0}}),Xv=class Xv extends ze{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=ht(".inline-progress-widget"),this.domNode.role="button",this.domNode.title=e;const t=ht("span.icon");this.domNode.append(t),t.classList.add(...qi.asClassNameArray(Xt.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(Oi(this.domNode,Wn.CLICK,n=>{this.delegate.cancel()}))}getId(){return Xv.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)}};Xv.baseId="editor.widget.inlineProgressWidget";let yS=Xv,B_=class extends ze{constructor(e,t,i){super(),this.id=e,this._editor=t,this._instantiationService=i,this._showDelay=500,this._showPromise=this._register(new ko),this._currentWidget=this._register(new ko),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=Af(()=>{const a=B.fromPositions(e);this._currentDecorations.set([{range:a,options:b3}]).length>0&&(this._currentWidget.value=this._instantiationService.createInstance(yS,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()}};B_=_3([v3(2,ri)],B_);var w3=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Sk=function(o,e){return function(t,i){e(t,i,o)}},o_,Xl;let ro=(Xl=class{static get(e){return e.getContribution(o_.ID)}constructor(e,t,i){this._openerService=i,this._messageWidget=new ko,this._messageListeners=new He,this._mouseOverMessage=!1,this._editor=e,this._visible=o_.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){gr(Gm(e)?e.value:e),this._visible.set(!0),this._messageWidget.clear(),this._messageListeners.clear(),this._message=Gm(e)?cA(e,{actionHandler:{callback:n=>{this.closeMessage(),dA(this._openerService,n,Gm(e)?e.isTrusted:void 0)},disposables:this._messageListeners}}):void 0,this._messageWidget.value=new Ck(this._editor,t,typeof e=="string"?e:this._message.element),this._messageListeners.add(cs.debounce(this._editor.onDidBlurEditorText,(n,s)=>s,0)(()=>{this._mouseOverMessage||this._messageWidget.value&&hA($D(),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(Oi(this._messageWidget.value.getDomNode(),Wn.MOUSE_ENTER,()=>this._mouseOverMessage=!0,!0)),this._messageListeners.add(Oi(this._messageWidget.value.getDomNode(),Wn.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 B(t.lineNumber-3,1,n.target.position.lineNumber+3,1))}))}closeMessage(){this._visible.reset(),this._messageListeners.clear(),this._messageWidget.value&&this._messageListeners.add(Ck.fadeOut(this._messageWidget.value))}},o_=Xl,Xl.ID="editor.contrib.messageController",Xl.MESSAGE_VISIBLE=new Di("messageVisible",!1,w("messageVisible","Whether the editor is currently showing an inline message")),Xl);ro=o_=w3([Sk(1,Fi),Sk(2,Vr)],ro);const y3=Xs.bindToContribution(ro.get);Lt(new y3({id:"leaveEditorMessage",precondition:ro.MESSAGE_VISIBLE,handler:o=>o.closeMessage(),kbOpts:{weight:130,primary:9}}));let Ck=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)}};_i(ro.ID,ro,4);function ny(o,e){return e&&(o.stack||o.stacktrace)?w("stackTrace.format","{0}: {1}",Lk(o),xk(o.stack)||xk(o.stacktrace)):Lk(o)}function xk(o){return Array.isArray(o)?o.join(`
16
- `):o}function Lk(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"?w("nodeExceptionMessage","A system error occurred ({0})",o.message):o.message||w("error.defaultMessage","An unknown error occurred. Please consult the log for more details.")}function z_(o=null,e=!1){if(!o)return w("error.defaultMessage","An unknown error occurred. Please consult the log for more details.");if(Array.isArray(o)){const t=nl(o),i=z_(t[0],e);return t.length>1?w("error.moreErrors","{0} ({1} errors in total)",i,t.length):i}if(GD(o))return o;if(o.detail){const t=o.detail;if(t.error)return ny(t.error,e);if(t.exception)return ny(t.exception,e)}return o.stack?ny(o,e):o.message?o.message:w("error.defaultMessage","An unknown error occurred. Please consult the log for more details.")}var WT=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Cu=function(o,e){return function(t,i){e(t,i,o)}},SS,hd;let CS=(hd=class extends ze{constructor(e,t,i,n,s,r,a,c,h,g){super(),this.typeId=e,this.editor=t,this.showCommand=n,this.range=s,this.edits=r,this.onSelectNewEdit=a,this._contextMenuService=c,this._keybindingService=g,this.allowEditorOverflow=!0,this.suppressMouseDown=!0,this.create(),this.visibleContext=i.bindTo(h),this.visibleContext.set(!0),this._register(wn(()=>this.visibleContext.reset())),this.editor.addContentWidget(this),this.editor.layoutContentWidget(this),this._register(wn((()=>this.editor.removeContentWidget(this)))),this._register(this.editor.onDidChangeCursorPosition(f=>{s.containsPosition(f.position)||this.dispose()})),this._register(cs.runAndSubscribe(g.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=ht(".post-edit-widget"),this.button=this._register(new uA(this.domNode,{supportIcons:!0})),this.button.label="$(insert)",this._register(Oi(this.domNode,Wn.CLICK,()=>this.showSelector()))}getId(){return SS.baseId+"."+this.typeId}getDomNode(){return this.domNode}getPosition(){return{position:this.range.getEndPosition(),preference:[2]}}showSelector(){this._contextMenuService.showContextMenu({getAnchor:()=>{const e=qs(this.button.element);return{x:e.left+e.width,y:e.top+e.height}},getActions:()=>this.edits.allEdits.map((e,t)=>gA({id:"",label:e.title,checked:t===this.edits.activeEditIndex,run:()=>{if(t!==this.edits.activeEditIndex)return this.onSelectNewEdit(t)}}))})}},SS=hd,hd.baseId="editor.widget.postEditWidget",hd);CS=SS=WT([Cu(7,yg),Cu(8,Fi),Cu(9,is)],CS);let V_=class extends ze{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 ko),this._register(cs.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 c=async S=>{const D=this._editor.getModel();D&&(await D.undo(),this.applyEditAndShowIfNeeded(e,{activeEditIndex:S,allEdits:t.allEdits},i,n,s))},h=(S,D)=>{yc(S)||(this._notificationService.error(D),i&&this.show(e[0],t,c))};let g;try{g=await n(a,s)}catch(S){return h(S,w("resolveError",`Error resolving edit '{0}':
17
- {1}`,a.title,z_(S)))}if(s.isCancellationRequested)return;const f=FT(r.uri,e,g),p=e[0],v=r.deltaDecorations([],[{range:p,options:{description:"paste-line-suffix",stickiness:0}}]);this._editor.focus();let _,y;try{_=await this._bulkEditService.apply(f,{editor:this._editor,token:s}),y=r.getDecorationRange(v[0])}catch(S){return h(S,w("applyError",`Error applying edit '{0}':
18
- {1}`,a.title,z_(S)))}finally{r.deltaDecorations(v,[])}s.isCancellationRequested||i&&_.isApplied&&t.allEdits.length>1&&this.show(y??p,t,c)}show(e,t,i){this.clear(),this._editor.hasModel()&&(this._currentWidget.value=this._instantiationService.createInstance(CS,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()}};V_=WT([Cu(4,ri),Cu(5,Ob),Cu(6,Bs)],V_);var S3=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(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)}},Oc;const BT="editor.changePasteType",n1=new Di("pasteWidgetVisible",!1,w("pasteWidgetVisible","Whether the paste widget is showing")),sy="application/vnd.code.copyMetadata";var ud;let cl=(ud=class extends ze{static get(e){return e.getContribution(Oc.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 c=e.getContainerDomNode();this._register(Oi(c,"copy",h=>this.handleCopy(h))),this._register(Oi(c,"cut",h=>this.handleCopy(h))),this._register(Oi(c,"paste",h=>this.handlePaste(h),!0)),this._pasteProgressManager=this._register(new B_("pasteIntoEditor",e,t)),this._postPasteWidgetManager=this._register(t.createInstance(V_,"pasteIntoEditor",e,n1,{id:BT,label:w("postPasteWidgetTitle","Show paste options...")}))}changePasteType(){this._postPasteWidgetManager.tryShowSelector()}pasteAs(e){this._editor.focus();try{this._pasteAsActionContext={preferred:e},h0().execCommand("paste")}finally{this._pasteAsActionContext=void 0}}clearWidgets(){this._postPasteWidgetManager.clear()}isPasteAsEnabled(){return this._editor.getOption(85).enabled}async finishedPaste(){await this._currentPasteOperation}handleCopy(e){var y,S,D,P;if(!this._editor.hasTextFocus()||((S=(y=this._clipboardService).clearInternalState)==null||S.call(y),!e.clipboardData||!this.isPasteAsEnabled()))return;const t=this._editor.getModel(),i=this._editor.getSelections();if(!t||!(i!=null&&i.length))return;const n=this._editor.getOption(37);let s=i;const r=i.length===1&&i[0].isEmpty();if(r){if(!n)return;s=[new B(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,Fb),h={multicursorText:Array.isArray(a)?a:null,pasteOnNewLine:r,mode:null},g=this._languageFeaturesService.documentPasteEditProvider.ordered(t).filter(N=>!!N.prepareDocumentPaste);if(!g.length){this.setCopyMetadata(e.clipboardData,{defaultPastePayload:h});return}const f=TT(e.clipboardData),p=g.flatMap(N=>N.copyMimeTypes??[]),v=hw();this.setCopyMetadata(e.clipboardData,{id:v,providerCopyMimeTypes:p,defaultPastePayload:h});const _=ms(async N=>{const j=nl(await Promise.all(g.map(async H=>{try{return await H.prepareDocumentPaste(t,s,f,N)}catch(ee){console.error(ee);return}})));j.reverse();for(const H of j)for(const[ee,X]of H)f.replace(ee,X);return f});(P=Oc._currentCopyOperation)==null||P.dataTransferPromise.cancel(),Oc._currentCopyOperation={handle:v,dataTransferPromise:_}}async handlePaste(e){var c,h,g;if(!e.clipboardData||!this._editor.hasTextFocus())return;(c=ro.get(this._editor))==null||c.closeMessage(),(h=this._currentPasteOperation)==null||h.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=MT(e.clipboardData);s.delete(sy);const r=[...e.clipboardData.types,...(n==null?void 0:n.providerCopyMimeTypes)??[],bs.uriList],a=this._languageFeaturesService.documentPasteEditProvider.ordered(t).filter(f=>{var v,_;const p=(v=this._pasteAsActionContext)==null?void 0:v.preferred;return p&&f.providedPasteEditKinds&&!this.providerMatchesPreference(f,p)?!1:(_=f.pasteMimeTypes)==null?void 0:_.some(y=>ET(y,r))});if(!a.length){(g=this._pasteAsActionContext)!=null&&g.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=ro.get(this._editor))==null||i.showMessage(w("pasteAsError","No paste edits for '{0}' found",t instanceof yn?t.value:t.providerId),e[0].getStartPosition())}doPasteInline(e,t,i,n,s){const r=this._editor;if(!r.hasModel())return;const a=new $u(r,3,void 0),c=ms(async h=>{const g=this._editor;if(!g.hasModel())return;const f=g.getModel(),p=new He,v=p.add(new _s(h));p.add(a.token.onCancellationRequested(()=>v.cancel()));const _=v.token;try{if(await this.mergeInDataFromCopy(i,n,_),_.isCancellationRequested)return;const y=e.filter(P=>this.isSupportedPasteProvider(P,i));if(!y.length||y.length===1&&y[0]instanceof nh)return this.applyDefaultPasteHandler(i,n,_,s);const S={triggerKind:By.Automatic},D=await this.getPasteEdits(y,i,f,t,S,_);if(p.add(D),_.isCancellationRequested)return;if(D.edits.length===1&&D.edits[0].provider instanceof nh)return this.applyDefaultPasteHandler(i,n,_,s);if(D.edits.length){const P=g.getOption(85).showPasteSelector==="afterPaste";return this._postPasteWidgetManager.applyEditAndShowIfNeeded(t,{activeEditIndex:0,allEdits:D.edits},P,(N,j)=>new Promise((H,ee)=>{(async()=>{var X,pe;try{const be=(pe=(X=N.provider).resolveDocumentPasteEdit)==null?void 0:pe.call(X,N,j),Te=new Hb,xe=be&&await this._pasteProgressManager.showWhile(t[0].getEndPosition(),w("resolveProcess","Resolving paste edit. Click to cancel"),Promise.race([Te.p,be]),{cancel:()=>(Te.cancel(),ee(new Wb))},0);return xe&&(N.additionalEdit=xe.additionalEdit),H(N)}catch(be){return ee(be)}})()}),_)}await this.applyDefaultPasteHandler(i,n,_,s)}finally{p.dispose(),this._currentPasteOperation===c&&(this._currentPasteOperation=void 0)}});this._pasteProgressManager.showWhile(t[0].getEndPosition(),w("pasteIntoEditorProgress","Running paste handlers. Click to cancel and do basic paste"),c,{cancel:async()=>{try{if(c.cancel(),a.token.isCancellationRequested)return;await this.applyDefaultPasteHandler(i,n,a.token,s)}finally{a.dispose()}}}).then(()=>{a.dispose()}),this._currentPasteOperation=c}showPasteAsPick(e,t,i,n,s){const r=ms(async a=>{const c=this._editor;if(!c.hasModel())return;const h=c.getModel(),g=new He,f=g.add(new $u(c,3,void 0,a));try{if(await this.mergeInDataFromCopy(n,s,f.token),f.token.isCancellationRequested)return;let p=t.filter(D=>this.isSupportedPasteProvider(D,n,e));e&&(p=p.filter(D=>this.providerMatchesPreference(D,e)));const v={triggerKind:By.PasteAs,only:e&&e instanceof yn?e:void 0};let _=g.add(await this.getPasteEdits(p,n,h,i,v,f.token));if(f.token.isCancellationRequested)return;if(e&&(_={edits:_.edits.filter(D=>e instanceof yn?e.contains(D.kind):e.providerId===D.provider.id),dispose:_.dispose}),!_.edits.length){v.only&&this.showPasteAsNoEditMessage(i,v.only);return}let y;if(e)y=_.edits.at(0);else{const D=await this._quickInputService.pick(_.edits.map(P=>{var N;return{label:P.title,description:(N=P.kind)==null?void 0:N.value,edit:P}}),{placeHolder:w("pasteAsPickerPlaceholder","Select Paste Action")});y=D==null?void 0:D.edit}if(!y)return;const S=FT(h.uri,i,y);await this._bulkEditService.apply(S,{editor:this._editor})}finally{g.dispose(),this._currentPasteOperation===r&&(this._currentPasteOperation=void 0)}});this._progressService.withProgress({location:10,title:w("pasteAsProgress","Running paste handlers")},()=>r)}setCopyMetadata(e,t){e.setData(sy,JSON.stringify(t))}fetchCopyMetadata(e){if(!e.clipboardData)return;const t=e.clipboardData.getData(sy);if(t)try{return JSON.parse(t)}catch{return}const[i,n]=fA.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=Oc._currentCopyOperation)==null?void 0:n.handle)===t.id){const s=await Oc._currentCopyOperation.dataTransferPromise;if(i.isCancellationRequested)return;for(const[r,a]of s)e.replace(r,a)}if(!e.has(bs.uriList)){const s=await this._clipboardService.readResources();if(i.isCancellationRequested)return;s.length&&e.append(bs.uriList,Q0(uw.create(s)))}}async getPasteEdits(e,t,i,n,s,r){const a=new He,c=await Tp(Promise.all(e.map(async g=>{var f,p;try{const v=await((f=g.provideDocumentPasteEdits)==null?void 0:f.call(g,i,n,t,s,r));return v&&a.add(v),(p=v==null?void 0:v.edits)==null?void 0:p.map(_=>({..._,provider:g}))}catch(v){yc(v)||console.error(v);return}})),r),h=nl(c??[]).flat().filter(g=>!s.only||s.only.contains(g.kind));return{edits:HT(h),dispose:()=>a.dispose()}}async applyDefaultPasteHandler(e,t,i,n){const s=e.get(bs.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 yn?e.providedPasteEditKinds?e.providedPasteEditKinds.some(i=>t.contains(i)):!0:e.id===t.providerId}},Oc=ud,ud.ID="editor.contrib.copyPasteActionController",ud);cl=Oc=S3([Fh(1,ri),Fh(2,Ob),Fh(3,Sg),Fh(4,St),Fh(5,gl),Fh(6,pA)],cl);const oh="9_cutcopypaste",C3=Cg||document.queryCommandSupported("cut"),zT=Cg||document.queryCommandSupported("copy"),x3=typeof navigator.clipboard>"u"||mA?document.queryCommandSupported("paste"):!0;function s1(o){return o.register(),o}const L3=C3?s1(new u0({id:"editor.action.clipboardCutAction",precondition:void 0,kbOpts:Cg?{primary:2102,win:{primary:2102,secondary:[1044]},weight:100}:void 0,menuOpts:[{menuId:et.MenubarEditMenu,group:"2_ccp",title:w({key:"miCut",comment:["&& denotes a mnemonic"]},"Cu&&t"),order:1},{menuId:et.EditorContext,group:oh,title:w("actions.clipboard.cutLabel","Cut"),when:M.writable,order:1},{menuId:et.CommandPalette,group:"",title:w("actions.clipboard.cutLabel","Cut"),order:1},{menuId:et.SimpleEditorContext,group:oh,title:w("actions.clipboard.cutLabel","Cut"),when:M.writable,order:1}]})):void 0,k3=zT?s1(new u0({id:"editor.action.clipboardCopyAction",precondition:void 0,kbOpts:Cg?{primary:2081,win:{primary:2081,secondary:[2067]},weight:100}:void 0,menuOpts:[{menuId:et.MenubarEditMenu,group:"2_ccp",title:w({key:"miCopy",comment:["&& denotes a mnemonic"]},"&&Copy"),order:2},{menuId:et.EditorContext,group:oh,title:w("actions.clipboard.copyLabel","Copy"),order:2},{menuId:et.CommandPalette,group:"",title:w("actions.clipboard.copyLabel","Copy"),order:1},{menuId:et.SimpleEditorContext,group:oh,title:w("actions.clipboard.copyLabel","Copy"),order:2}]})):void 0;ur.appendMenuItem(et.MenubarEditMenu,{submenu:et.MenubarCopy,title:vt("copy as","Copy As"),group:"2_ccp",order:3});ur.appendMenuItem(et.EditorContext,{submenu:et.EditorContextCopy,title:vt("copy as","Copy As"),group:oh,order:3});ur.appendMenuItem(et.EditorContext,{submenu:et.EditorContextShare,title:vt("share","Share"),group:"11_share",order:-1,when:oe.and(oe.notEquals("resourceScheme","output"),M.editorTextFocus)});ur.appendMenuItem(et.ExplorerContext,{submenu:et.ExplorerContextShare,title:vt("share","Share"),group:"11_share",order:-1});const oy=x3?s1(new u0({id:"editor.action.clipboardPasteAction",precondition:void 0,kbOpts:Cg?{primary:2100,win:{primary:2100,secondary:[1043]},linux:{primary:2100,secondary:[1043]},weight:100}:void 0,menuOpts:[{menuId:et.MenubarEditMenu,group:"2_ccp",title:w({key:"miPaste",comment:["&& denotes a mnemonic"]},"&&Paste"),order:4},{menuId:et.EditorContext,group:oh,title:w("actions.clipboard.pasteLabel","Paste"),when:M.writable,order:4},{menuId:et.CommandPalette,group:"",title:w("actions.clipboard.pasteLabel","Paste"),order:1},{menuId:et.SimpleEditorContext,group:oh,title:w("actions.clipboard.pasteLabel","Paste"),when:M.writable,order:4}]})):void 0;class I3 extends we{constructor(){super({id:"editor.action.clipboardCopyWithSyntaxHighlightingAction",label:w("actions.clipboard.copyWithSyntaxHighlightingLabel","Copy With Syntax Highlighting"),alias:"Copy With Syntax Highlighting",precondition:void 0,kbOpts:{kbExpr:M.textInputFocus,primary:0,weight:100}})}run(e,t){!t.hasModel()||!t.getOption(37)&&t.getSelection().isEmpty()||(EL.forceCopyWithSyntaxHighlighting=!0,t.focus(),t.getContainerDomNode().ownerDocument.execCommand("copy"),EL.forceCopyWithSyntaxHighlighting=!1)}}function VT(o,e){o&&(o.addImplementation(1e4,"code-editor",(t,i)=>{const n=t.get(Jn).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)=>(h0().execCommand(e),!0)))}VT(L3,"cut");VT(k3,"copy");oy&&(oy.addImplementation(1e4,"code-editor",(o,e)=>{var s;const t=o.get(Jn),i=o.get(Sg),n=t.getFocusedCodeEditor();return n&&n.hasTextFocus()?n.getContainerDomNode().ownerDocument.execCommand("paste")?((s=cl.get(n))==null?void 0:s.finishedPaste())??Promise.resolve():_A?(async()=>{const a=await i.readText();if(a!==""){const c=vA.INSTANCE.get(a);let h=!1,g=null,f=null;c&&(h=n.getOption(37)&&!!c.isFromEmptySelection,g=typeof c.multicursorText<"u"?c.multicursorText:null,f=c.mode),n.trigger("keyboard","paste",{text:a,pasteOnNewLine:h,multicursorText:g,mode:f})}})():!0:!1}),oy.addImplementation(0,"generic-dom",(o,e)=>(h0().execCommand("paste"),!0)));zT&&ie(I3);const un=new class{constructor(){this.QuickFix=new yn("quickfix"),this.Refactor=new yn("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 yn("notebook"),this.Source=new yn("source"),this.SourceOrganizeImports=this.Source.append("organizeImports"),this.SourceFixAll=this.Source.append("fixAll"),this.SurroundWith=this.Refactor.append("surround")}};var ho;(function(o){o.Refactor="refactor",o.RefactorPreview="refactor preview",o.Lightbulb="lightbulb",o.Default="other (default)",o.SourceAction="source action",o.QuickFix="quick fix action",o.FixAll="fix all",o.OrganizeImports="organize imports",o.AutoFix="auto fix",o.QuickFixHover="quick fix hover window",o.OnSave="save participants",o.ProblemsView="problems view"})(ho||(ho={}));function D3(o,e){return!(o.include&&!o.include.intersects(e)||o.excludes&&o.excludes.some(t=>jT(e,t,o.include))||!o.includeSourceActions&&un.Source.contains(e))}function E3(o,e){const t=e.kind?new yn(e.kind):void 0;return!(o.include&&(!t||!o.include.contains(t))||o.excludes&&t&&o.excludes.some(i=>jT(t,i,o.include))||!o.includeSourceActions&&t&&un.Source.contains(t)||o.onlyIncludePreferredActions&&!e.isPreferred)}function jT(o,e,t){return!(!e.contains(o)||t&&e.contains(t))}class ga{static fromUser(e,t){return!e||typeof e!="object"?new ga(t.kind,t.apply,!1):new ga(ga.getKindFromUser(e,t.kind),ga.getApplyFromUser(e,t.apply),ga.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 yn(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 P3{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){Yn(n)}i&&(this.action.edit=i.edit)}return this}}const UT="editor.action.codeAction",o1="editor.action.quickFix",$T="editor.action.autoFix",qT="editor.action.refactor",KT="editor.action.sourceAction",xS="editor.action.organizeImports",LS="editor.action.fixAll";class yf extends ze{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:Co(e.diagnostics)?Co(t.diagnostics)?yf.codeActionsPreferredComparator(e,t):-1:Co(t.diagnostics)?1:yf.codeActionsPreferredComparator(e,t)}constructor(e,t,i){super(),this.documentation=t,this._register(i),this.allActions=[...e].sort(yf.codeActionsComparator),this.validActions=this.allActions.filter(({action:n})=>!n.disabled)}get hasAutoFix(){return this.validActions.some(({action:e})=>!!e.kind&&un.QuickFix.contains(new yn(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 kk={actions:[],documentation:void 0};async function lu(o,e,t,i,n,s){var y;const r=i.filter||{},a={...r,excludes:[...r.excludes||[],un.Notebook]},c={only:(y=r.include)==null?void 0:y.value,trigger:i.type},h=new bA(e,s),g=i.type===2,f=T3(o,e,g?a:r),p=new He,v=f.map(async S=>{try{n.report(S);const D=await S.provideCodeActions(e,t,c,h.token);if(D&&p.add(D),h.token.isCancellationRequested)return kk;const P=((D==null?void 0:D.actions)||[]).filter(j=>j&&E3(r,j)),N=N3(S,P,r.include);return{actions:P.map(j=>new P3(j,S)),documentation:N}}catch(D){if(yc(D))throw D;return Yn(D),kk}}),_=o.onDidChange(()=>{const S=o.all(e);Ca(S,f)||h.cancel()});try{const S=await Promise.all(v),D=S.map(N=>N.actions).flat(),P=[...nl(S.map(N=>N.documentation)),...M3(o,e,i,D)];return new yf(D,P,p)}finally{_.dispose(),h.dispose()}}function T3(o,e,t){return o.all(e).filter(i=>i.providedCodeActionKinds?i.providedCodeActionKinds.some(n=>D3(t,new yn(n))):!0)}function*M3(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(c=>c.action)))}function N3(o,e,t){if(!o.documentation)return;const i=o.documentation.map(n=>({kind:new yn(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 yn(n.kind)))return s.command}}var Kc;(function(o){o.OnSave="onSave",o.FromProblemsView="fromProblemsView",o.FromCodeActions="fromCodeActions",o.FromAILightbulb="fromAILightbulb"})(Kc||(Kc={}));async function R3(o,e,t,i,n=fi.None){var h;const s=o.get(Ob),r=o.get(fs),a=o.get(jr),c=o.get(Bs);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&&!((h=e.action.edit)!=null&&h.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!==Kc.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(g){const f=A3(g);c.error(typeof f=="string"?f:w("applyCodeActionFailed","An unknown error occurred while applying the code action"))}}function A3(o){return typeof o=="string"?o:o instanceof Error&&typeof o.message=="string"?o.message:void 0}fn.registerCommand("_executeCodeActionProvider",async function(o,e,t,i,n){if(!(e instanceof sn))throw Ja();const{codeActionProvider:s}=o.get(St),r=o.get(zs).getModel(e);if(!r)throw Ja();const a=jt.isISelection(t)?jt.liftSelection(t):B.isIRange(t)?r.validateRange(t):void 0;if(!a)throw Ja();const c=typeof i=="string"?new yn(i):void 0,h=await lu(s,r,a,{type:1,triggerAction:ho.Default,filter:{includeSourceActions:!0,include:c}},Ka.None,fi.None),g=[],f=Math.min(h.validActions.length,typeof n=="number"?n:0);for(let p=0;p<f;p++)g.push(h.validActions[p].resolve(fi.None));try{return await Promise.all(g),h.validActions.map(p=>p.action)}finally{setTimeout(()=>h.dispose(),100)}});var O3=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},F3=function(o,e){return function(t,i){e(t,i,o)}},kS,gd;let IS=(gd=class{constructor(e){this.keybindingService=e}getResolver(){const e=new g0(()=>this.keybindingService.getKeybindings().filter(t=>kS.codeActionCommands.indexOf(t.command)>=0).filter(t=>t.resolvedKeybinding).map(t=>{let i=t.commandArgs;return t.command===xS?i={kind:un.SourceOrganizeImports.value}:t.command===LS&&(i={kind:un.SourceFixAll.value}),{resolvedKeybinding:t.resolvedKeybinding,...ga.fromUser(i,{kind:yn.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 yn(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)}},kS=gd,gd.codeActionCommands=[qT,UT,KT,xS,LS],gd);IS=kS=O3([F3(0,is)],IS);ut("symbolIcon.arrayForeground",hs,w("symbolIcon.arrayForeground","The foreground color for array symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));ut("symbolIcon.booleanForeground",hs,w("symbolIcon.booleanForeground","The foreground color for boolean symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));ut("symbolIcon.classForeground",{dark:"#EE9D28",light:"#D67E00",hcDark:"#EE9D28",hcLight:"#D67E00"},w("symbolIcon.classForeground","The foreground color for class symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));ut("symbolIcon.colorForeground",hs,w("symbolIcon.colorForeground","The foreground color for color symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));ut("symbolIcon.constantForeground",hs,w("symbolIcon.constantForeground","The foreground color for constant symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));ut("symbolIcon.constructorForeground",{dark:"#B180D7",light:"#652D90",hcDark:"#B180D7",hcLight:"#652D90"},w("symbolIcon.constructorForeground","The foreground color for constructor symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));ut("symbolIcon.enumeratorForeground",{dark:"#EE9D28",light:"#D67E00",hcDark:"#EE9D28",hcLight:"#D67E00"},w("symbolIcon.enumeratorForeground","The foreground color for enumerator symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));ut("symbolIcon.enumeratorMemberForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},w("symbolIcon.enumeratorMemberForeground","The foreground color for enumerator member symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));ut("symbolIcon.eventForeground",{dark:"#EE9D28",light:"#D67E00",hcDark:"#EE9D28",hcLight:"#D67E00"},w("symbolIcon.eventForeground","The foreground color for event symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));ut("symbolIcon.fieldForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},w("symbolIcon.fieldForeground","The foreground color for field symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));ut("symbolIcon.fileForeground",hs,w("symbolIcon.fileForeground","The foreground color for file symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));ut("symbolIcon.folderForeground",hs,w("symbolIcon.folderForeground","The foreground color for folder symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));ut("symbolIcon.functionForeground",{dark:"#B180D7",light:"#652D90",hcDark:"#B180D7",hcLight:"#652D90"},w("symbolIcon.functionForeground","The foreground color for function symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));ut("symbolIcon.interfaceForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},w("symbolIcon.interfaceForeground","The foreground color for interface symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));ut("symbolIcon.keyForeground",hs,w("symbolIcon.keyForeground","The foreground color for key symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));ut("symbolIcon.keywordForeground",hs,w("symbolIcon.keywordForeground","The foreground color for keyword symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));ut("symbolIcon.methodForeground",{dark:"#B180D7",light:"#652D90",hcDark:"#B180D7",hcLight:"#652D90"},w("symbolIcon.methodForeground","The foreground color for method symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));ut("symbolIcon.moduleForeground",hs,w("symbolIcon.moduleForeground","The foreground color for module symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));ut("symbolIcon.namespaceForeground",hs,w("symbolIcon.namespaceForeground","The foreground color for namespace symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));ut("symbolIcon.nullForeground",hs,w("symbolIcon.nullForeground","The foreground color for null symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));ut("symbolIcon.numberForeground",hs,w("symbolIcon.numberForeground","The foreground color for number symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));ut("symbolIcon.objectForeground",hs,w("symbolIcon.objectForeground","The foreground color for object symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));ut("symbolIcon.operatorForeground",hs,w("symbolIcon.operatorForeground","The foreground color for operator symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));ut("symbolIcon.packageForeground",hs,w("symbolIcon.packageForeground","The foreground color for package symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));ut("symbolIcon.propertyForeground",hs,w("symbolIcon.propertyForeground","The foreground color for property symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));ut("symbolIcon.referenceForeground",hs,w("symbolIcon.referenceForeground","The foreground color for reference symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));ut("symbolIcon.snippetForeground",hs,w("symbolIcon.snippetForeground","The foreground color for snippet symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));ut("symbolIcon.stringForeground",hs,w("symbolIcon.stringForeground","The foreground color for string symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));ut("symbolIcon.structForeground",hs,w("symbolIcon.structForeground","The foreground color for struct symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));ut("symbolIcon.textForeground",hs,w("symbolIcon.textForeground","The foreground color for text symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));ut("symbolIcon.typeParameterForeground",hs,w("symbolIcon.typeParameterForeground","The foreground color for type parameter symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));ut("symbolIcon.unitForeground",hs,w("symbolIcon.unitForeground","The foreground color for unit symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));ut("symbolIcon.variableForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},w("symbolIcon.variableForeground","The foreground color for variable symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));const GT=Object.freeze({kind:yn.Empty,title:w("codeAction.widget.id.more","More Actions...")}),H3=Object.freeze([{kind:un.QuickFix,title:w("codeAction.widget.id.quickfix","Quick Fix")},{kind:un.RefactorExtract,title:w("codeAction.widget.id.extract","Extract"),icon:Xt.wrench},{kind:un.RefactorInline,title:w("codeAction.widget.id.inline","Inline"),icon:Xt.wrench},{kind:un.RefactorRewrite,title:w("codeAction.widget.id.convert","Rewrite"),icon:Xt.wrench},{kind:un.RefactorMove,title:w("codeAction.widget.id.move","Move"),icon:Xt.wrench},{kind:un.SurroundWith,title:w("codeAction.widget.id.surround","Surround With"),icon:Xt.surroundWith},{kind:un.Source,title:w("codeAction.widget.id.source","Source Action"),icon:Xt.symbolFile},GT]);function W3(o,e,t){if(!e)return o.map(s=>{var r;return{kind:"action",item:s,group:GT,disabled:!!s.action.disabled,label:s.action.disabled||s.action.title,canPreview:!!((r=s.action.edit)!=null&&r.edits.length)}});const i=H3.map(s=>({group:s,actions:[]}));for(const s of o){const r=s.action.kind?new yn(s.action.kind):yn.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:Xt.sparkle}:a,label:r.action.title,disabled:!!r.action.disabled,keybinding:t(r.action)})}}return n}var B3=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},z3=function(o,e){return function(t,i){e(t,i,o)}},Jh;const Ik=Gn("gutter-lightbulb",Xt.lightBulb,w("gutterLightbulbWidget","Icon which spawns code actions menu from the gutter when there is no space in the editor.")),Dk=Gn("gutter-lightbulb-auto-fix",Xt.lightbulbAutofix,w("gutterLightbulbAutoFixWidget","Icon which spawns code actions menu from the gutter when there is no space in the editor and a quick fix is available.")),Ek=Gn("gutter-lightbulb-sparkle",Xt.lightbulbSparkle,w("gutterLightbulbAIFixWidget","Icon which spawns code actions menu from the gutter when there is no space in the editor and an AI fix is available.")),Pk=Gn("gutter-lightbulb-aifix-auto-fix",Xt.lightbulbSparkleAutofix,w("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.")),Tk=Gn("gutter-lightbulb-sparkle-filled",Xt.sparkleFilled,w("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 xr;(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})(xr||(xr={}));var Za;let Yf=(Za=class extends ze{constructor(e,t){super(),this._editor=e,this._keybindingService=t,this._onClick=this._register(new gi),this.onClick=this._onClick.event,this._state=xr.Hidden,this._gutterState=xr.Hidden,this._iconClasses=[],this.lightbulbClasses=["codicon-"+Ik.id,"codicon-"+Pk.id,"codicon-"+Dk.id,"codicon-"+Ek.id,"codicon-"+Tk.id],this.gutterDecoration=Jh.GUTTER_DECORATION,this._domNode=ht("div.lightBulbWidget"),this._domNode.role="listbox",this._register(ZD.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(wA(this._domNode,i=>{if(this.state.type!==1)return;this._editor.focus(),i.preventDefault();const{top:n,height:s}=qs(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(Oi(this._domNode,"mouseenter",i=>{(i.buttons&1)===1&&this.hide()})),this._register(cs.runAndSubscribe(this._keybindingService.onDidUpdateKeybindings,()=>{var i,n;this._preferredKbLabel=((i=this._keybindingService.lookupKeybinding($T))==null?void 0:i.getLabel())??void 0,this._quickFixKbLabel=((n=this._keybindingService.lookupKeybinding(o1))==null?void 0:n.getLabel())??void 0,this._updateLightBulbTitleAndIcon()})),this._register(this._editor.onMouseDown(async i=>{if(!i.target.element||!this.lightbulbClasses.some(c=>i.target.element&&i.target.element.classList.contains(c))||this.gutterState.type!==1)return;this._editor.focus();const{top:n,height:s}=qs(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:c}=r.validatePosition(i),h=r.getOptions().tabSize,g=this._editor.getOptions().get(50),f=r.getLineContent(a),p=f0(f,h),v=g.spaceWidth*p>22,_=H=>H>2&&this._editor.getTopForLineNumber(H)===this._editor.getTopForLineNumber(H-1),y=this._editor.getLineDecorations(a);let S=!1;if(y)for(const H of y){const ee=H.options.glyphMarginClassName;if(ee&&!this.lightbulbClasses.some(X=>ee.includes(X))){S=!0;break}}let D=a,P=1;if(!v){const H=ee=>{const X=r.getLineContent(ee);return/^\s*$|^\s+/.test(X)||X.length<=P};if(a>1&&!_(a-1)){const ee=r.getLineCount(),X=a===ee,pe=a>1&&H(a-1),be=!X&&H(a+1),Te=H(a),xe=!be&&!pe;if(!be&&!pe&&!S)return this.gutterState=new xr.Showing(e,t,i,{position:{lineNumber:D,column:P},preference:Jh._posPref}),this.renderGutterLightbub(),this.hide();pe||X||pe&&!Te?D-=1:(be||xe&&Te)&&(D+=1)}else if(a===1&&(a===r.getLineCount()||!H(a+1)&&!H(a)))if(this.gutterState=new xr.Showing(e,t,i,{position:{lineNumber:D,column:P},preference:Jh._posPref}),S)this.gutterHide();else return this.renderGutterLightbub(),this.hide();else if(a<r.getLineCount()&&!_(a+1))D+=1;else if(c*g.spaceWidth<22)return this.hide();P=/^\S\s*$/.test(r.getLineContent(D))?2:1}this.state=new xr.Showing(e,t,i,{position:{lineNumber:D,column:P},preference:Jh._posPref}),this._gutterDecorationID&&(this._removeGutterDecoration(this._gutterDecorationID),this.gutterHide());const N=e.validActions,j=e.validActions[0].action.kind;if(N.length!==1||!j){this._editor.layoutContentWidget(this);return}this._editor.layoutContentWidget(this)}hide(){this.state!==xr.Hidden&&(this.state=xr.Hidden,this._editor.layoutContentWidget(this))}gutterHide(){this.gutterState!==xr.Hidden&&(this._gutterDecorationID&&this._removeGutterDecoration(this._gutterDecorationID),this.gutterState=xr.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=Xt.sparkleFilled,this.state.actions.validActions.length===1&&(t=!0)):this.state.actions.hasAutoFix?this.state.actions.hasAIFix?e=Xt.lightbulbSparkleAutofix:e=Xt.lightbulbAutofix:this.state.actions.hasAIFix?e=Xt.lightbulbSparkle:e=Xt.lightBulb,this._updateLightbulbTitle(this.state.actions.hasAutoFix,t),this._iconClasses=qi.asClassNameArray(e),this._domNode.classList.add(...this._iconClasses)}_updateGutterLightBulbTitleAndIcon(){if(this.gutterState.type!==1)return;let e,t=!1;this.gutterState.actions.allAIFixes?(e=Tk,this.gutterState.actions.validActions.length===1&&(t=!0)):this.gutterState.actions.hasAutoFix?this.gutterState.actions.hasAIFix?e=Pk:e=Dk:this.gutterState.actions.hasAIFix?e=Ek:e=Ik,this._updateLightbulbTitle(this.gutterState.actions.hasAutoFix,t);const i=Ci.register({description:"codicon-gutter-lightbulb-decoration",glyphMarginClassName:qi.asClassName(e),glyphMargin:{position:y_.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 B(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 B(t,0,t,0)),i.changeDecorationOptions(e,this.gutterDecoration)})}_updateLightbulbTitle(e,t){this.state.type===1&&(t?this.title=w("codeActionAutoRun","Run: {0}",this.state.actions.validActions[0].action.title):e&&this._preferredKbLabel?this.title=w("preferredcodeActionWithKb","Show Code Actions. Preferred Quick Fix Available ({0})",this._preferredKbLabel):!e&&this._quickFixKbLabel?this.title=w("codeActionWithKb","Show Code Actions ({0})",this._quickFixKbLabel):e||(this.title=w("codeAction","Show Code Actions")))}set title(e){this._domNode.title=e}},Jh=Za,Za.GUTTER_DECORATION=Ci.register({description:"codicon-gutter-lightbulb-decoration",glyphMarginClassName:qi.asClassName(Xt.lightBulb),glyphMargin:{position:y_.Left},stickiness:1}),Za.ID="editor.contrib.lightbulbWidget",Za._posPref=[0],Za);Yf=Jh=B3([z3(1,is)],Yf);var ZT=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},DS=function(o,e){return function(t,i){e(t,i,o)}};const XT="acceptSelectedCodeAction",YT="previewSelectedCodeAction";class V3{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 ES=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 p0(e,m0);return{container:e,icon:t,text:i,keybinding:n}}renderElement(e,t,i){var r,a,c;if((r=e.group)!=null&&r.icon?(i.icon.className=qi.asClassName(e.group.icon),e.group.icon.color&&(i.icon.style.color=Qc(e.group.icon.color.id))):(i.icon.className=qi.asClassName(Xt.lightBulb),i.icon.style.color="var(--vscode-editorLightBulb-foreground)"),!e.item||!e.label)return;i.text.textContent=JT(e.label),i.keybinding.set(e.keybinding),yA(!!e.keybinding,i.keybinding.element);const n=(a=this._keybindingService.lookupKeybinding(XT))==null?void 0:a.getLabel(),s=(c=this._keybindingService.lookupKeybinding(YT))==null?void 0:c.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=w({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=w({key:"label",comment:['placeholder is a keybinding, e.g "F2 to Apply"']},"{0} to Apply",n):i.container.title=""}disposeTemplate(e){e.keybinding.dispose()}};ES=ZT([DS(1,is)],ES);class j3 extends UIEvent{constructor(){super("acceptSelectedAction")}}class Mk extends UIEvent{constructor(){super("previewSelectedAction")}}function U3(o){if(o.kind==="action")return o.label}let PS=class extends ze{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 _s),this.domNode=document.createElement("div"),this.domNode.classList.add("actionList");const a={getHeight:c=>c.kind==="header"?this._headerLineHeight:this._actionLineHeight,getTemplateId:c=>c.kind};this._list=this._register(new _0(e,this.domNode,a,[new ES(t,this._keybindingService),new V3],{keyboardSupport:!1,typeNavigationEnabled:!0,keyboardNavigationLabelProvider:{getKeyboardNavigationLabel:U3},accessibilityProvider:{getAriaLabel:c=>{if(c.kind==="action"){let h=c.label?JT(c==null?void 0:c.label):"";return c.disabled&&(h=w({key:"customQuickFixWidget.labels",comment:["Action widget labels for accessibility."]},"{0}, Disabled Reason: {1}",h,c.disabled)),h}return null},getWidgetAriaLabel:()=>w({key:"customQuickFixWidget",comment:["An action widget option"]},"Action Widget"),getRole:c=>c.kind==="action"?"option":"separator",getWidgetRole:()=>"listbox"}})),this._list.style(SA),this._register(this._list.onMouseClick(c=>this.onListClick(c))),this._register(this._list.onMouseOver(c=>this.onListHover(c))),this._register(this._list.onDidChangeFocus(()=>this.onFocus())),this._register(this._list.onDidChangeSelection(c=>this.onListSelection(c))),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(c=>c.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 c=this._allMenuItems.map((h,g)=>{const f=this.domNode.ownerDocument.getElementById(this._list.getElementID(g));if(f){f.style.width="auto";const p=f.getBoundingClientRect().width;return f.style.width="",p}return 0});s=Math.max(...c,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 Mk:new j3;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 Mk):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([])}};PS=ZT([DS(4,Bb),DS(5,is)],PS);function JT(o){return o.replace(/\r\n|\r|\n/g," ")}var $3=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},ry=function(o,e){return function(t,i){e(t,i,o)}};ut("actionBar.toggledBackground",v0,w("actionBar.toggledBackground","Background color for toggled action items in action bar."));const rh={Visible:new Di("codeActionMenuVisible",!1,w("codeActionMenuVisible","Whether the action widget list is visible"))},wh=fl("actionWidgetService");let ah=class extends ze{get isVisible(){return rh.Visible.getValue(this._contextKeyService)||!1}constructor(e,t,i){super(),this._contextViewService=e,this._contextKeyService=t,this._instantiationService=i,this._list=this._register(new ko)}show(e,t,i,n,s,r,a){const c=rh.Visible.bindTo(this._contextKeyService),h=this._instantiationService.createInstance(PS,e,t,i,n);this._contextViewService.showContextView({getAnchor:()=>s,render:g=>(c.set(!0),this._renderWidget(g,h,a??[])),onHide:g=>{c.reset(),this._onWidgetClosed(g)}},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 v;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 He,r=document.createElement("div"),a=e.appendChild(r);a.classList.add("context-view-block"),s.add(Oi(a,Wn.MOUSE_DOWN,_=>_.stopPropagation()));const c=document.createElement("div"),h=e.appendChild(c);h.classList.add("context-view-pointerBlock"),s.add(Oi(h,Wn.POINTER_MOVE,()=>h.remove())),s.add(Oi(h,Wn.MOUSE_DOWN,()=>h.remove()));let g=0;if(i.length){const _=this._createActionBar(".action-widget-action-bar",i);_&&(n.appendChild(_.getContainer().parentElement),s.add(_),g=_.getContainer().offsetWidth)}const f=(v=this._list.value)==null?void 0:v.layout(g);n.style.width=`${f}px`;const p=s.add(qu(e));return s.add(p.onDidBlur(()=>this.hide(!0))),s}_createActionBar(e,t){if(!t.length)return;const i=ht(e),n=new Of(i);return n.push(t,{icon:!1,label:!0}),n}_onWidgetClosed(e){var t;(t=this._list.value)==null||t.hide(e)}};ah=$3([ry(0,Bb),ry(1,Fi),ry(2,ri)],ah);pl(wh,ah,1);const Yp=1100;Ji(class extends Zs{constructor(){super({id:"hideCodeActionWidget",title:vt("hideCodeActionWidget.title","Hide action widget"),precondition:rh.Visible,keybinding:{weight:Yp,primary:9,secondary:[1033]}})}run(o){o.get(wh).hide(!0)}});Ji(class extends Zs{constructor(){super({id:"selectPrevCodeAction",title:vt("selectPrevCodeAction.title","Select previous action"),precondition:rh.Visible,keybinding:{weight:Yp,primary:16,secondary:[2064],mac:{primary:16,secondary:[2064,302]}}})}run(o){const e=o.get(wh);e instanceof ah&&e.focusPrevious()}});Ji(class extends Zs{constructor(){super({id:"selectNextCodeAction",title:vt("selectNextCodeAction.title","Select next action"),precondition:rh.Visible,keybinding:{weight:Yp,primary:18,secondary:[2066],mac:{primary:18,secondary:[2066,300]}}})}run(o){const e=o.get(wh);e instanceof ah&&e.focusNext()}});Ji(class extends Zs{constructor(){super({id:XT,title:vt("acceptSelected.title","Accept selected action"),precondition:rh.Visible,keybinding:{weight:Yp,primary:3,secondary:[2137]}})}run(o){const e=o.get(wh);e instanceof ah&&e.acceptSelected()}});Ji(class extends Zs{constructor(){super({id:YT,title:vt("previewSelected.title","Preview selected action"),precondition:rh.Visible,keybinding:{weight:Yp,primary:2051}})}run(o){const e=o.get(wh);e instanceof ah&&e.acceptSelected(!0)}});const QT=new Di("supportedCodeAction",""),Nk="_typescript.applyFixAllCodeAction";class q3 extends ze{constructor(e,t,i,n=250){super(),this._editor=e,this._markerService=t,this._signalChange=i,this._delay=n,this._autoTriggerTimer=this._register(new Mp),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=>S_(i,t.uri))&&this._tryAutoTrigger()}_tryAutoTrigger(){this._autoTriggerTimer.cancelAndSet(()=>{this.trigger({type:2,triggerAction:ho.Default})},this._delay)}_getRangeOfSelectionUnlessWhitespaceEnclosed(e){if(!this._editor.hasModel())return;const t=this._editor.getSelection();if(e.type===1)return t;const i=this._editor.getOption(65).enabled;if(i!==Vw.Off){{if(i===Vw.On)return t;if(i===Vw.OnCode){if(!t.isEmpty())return t;const s=this._editor.getModel(),{lineNumber:r,column:a}=t.getPosition(),c=s.getLineContent(r);if(c.length===0)return;if(a===1){if(/\s/.test(c[0]))return}else if(a===s.getLineMaxColumn(r)){if(/\s/.test(c[c.length-1]))return}else if(/\s/.test(c[a-2])&&/\s/.test(c[a-1]))return}}return t}}}var Bc;(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(yc(r))return eM;throw r})}cancel(){this._cancellablePromise.cancel()}}o.Triggered=e})(Bc||(Bc={}));const eM=Object.freeze({allActions:[],validActions:[],dispose:()=>{},documentation:[],hasAutoFix:!1,hasAIFix:!1,allAIFixes:!1});class K3 extends ze{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 ko),this._state=Bc.Empty,this._onDidChangeState=this._register(new gi),this.onDidChangeState=this._onDidChangeState.event,this._disposed=!1,this._supportedCodeActions=QT.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(c=>{c.hasChanged(65)&&this._update()})),this._update()}dispose(){this._disposed||(this._disposed=!0,super.dispose(),this.setState(Bc.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(Bc.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 q3(this._editor,this._markerService,i=>{var c;if(!i){this.setState(Bc.Empty);return}const n=i.selection.getStartPosition(),s=ms(async h=>{var g,f,p,v,_,y,S,D,P,N;if(this._settingEnabledNearbyQuickfixes()&&i.trigger.type===1&&(i.trigger.triggerAction===ho.QuickFix||(f=(g=i.trigger.filter)==null?void 0:g.include)!=null&&f.contains(un.QuickFix))){const j=await lu(this._registry,e,i.selection,i.trigger,Ka.None,h),H=[...j.allActions];if(h.isCancellationRequested)return eM;const ee=(p=j.validActions)==null?void 0:p.some(pe=>pe.action.kind?un.QuickFix.contains(new yn(pe.action.kind)):!1),X=this._markerService.read({resource:e.uri});if(ee){for(const pe of j.validActions)(_=(v=pe.action.command)==null?void 0:v.arguments)!=null&&_.some(be=>typeof be=="string"&&be.includes(Nk))&&(pe.action.diagnostics=[...X.filter(be=>be.relatedInformation)]);return{validActions:j.validActions,allActions:H,documentation:j.documentation,hasAutoFix:j.hasAutoFix,hasAIFix:j.hasAIFix,allAIFixes:j.allAIFixes,dispose:()=>{j.dispose()}}}else if(!ee&&X.length>0){const pe=i.selection.getPosition();let be=pe,Te=Number.MAX_VALUE;const xe=[...j.validActions];for(const Pt of X){const dt=Pt.endColumn,ai=Pt.endLineNumber,Mt=Pt.startLineNumber;if(ai===pe.lineNumber||Mt===pe.lineNumber){be=new yt(ai,dt);const Jt={type:i.trigger.type,triggerAction:i.trigger.triggerAction,filter:{include:(y=i.trigger.filter)!=null&&y.include?(S=i.trigger.filter)==null?void 0:S.include:un.QuickFix},autoApply:i.trigger.autoApply,context:{notAvailableMessage:((D=i.trigger.context)==null?void 0:D.notAvailableMessage)||"",position:be}},ge=new jt(be.lineNumber,be.column,be.lineNumber,be.column),rt=await lu(this._registry,e,ge,Jt,Ka.None,h);if(rt.validActions.length!==0){for(const Ae of rt.validActions)(N=(P=Ae.action.command)==null?void 0:P.arguments)!=null&&N.some(Ze=>typeof Ze=="string"&&Ze.includes(Nk))&&(Ae.action.diagnostics=[...X.filter(Ze=>Ze.relatedInformation)]);j.allActions.length===0&&H.push(...rt.allActions),Math.abs(pe.column-dt)<Te?xe.unshift(...rt.validActions):xe.push(...rt.validActions)}Te=Math.abs(pe.column-dt)}}const ct=xe.filter((Pt,dt,ai)=>ai.findIndex(Mt=>Mt.action.title===Pt.action.title)===dt);return ct.sort((Pt,dt)=>Pt.action.isPreferred&&!dt.action.isPreferred?-1:!Pt.action.isPreferred&&dt.action.isPreferred||Pt.action.isAI&&!dt.action.isAI?1:!Pt.action.isAI&&dt.action.isAI?-1:0),{validActions:ct,allActions:H,documentation:j.documentation,hasAutoFix:j.hasAutoFix,hasAIFix:j.hasAIFix,allAIFixes:j.allAIFixes,dispose:()=>{j.dispose()}}}}if(i.trigger.type===1){const j=new co,H=await lu(this._registry,e,i.selection,i.trigger,Ka.None,h);return this._telemetryService&&this._telemetryService.publicLog2("codeAction.invokedDurations",{codeActions:H.validActions.length,duration:j.elapsed()}),H}return lu(this._registry,e,i.selection,i.trigger,Ka.None,h)});i.trigger.type===1&&((c=this._progressService)==null||c.showWhile(s,250));const r=new Bc.Triggered(i.trigger,n,s);let a=!1;this._state.type===1&&(a=this._state.trigger.type===1&&r.type===1&&r.trigger.type===2&&this._state.position!==r.position),a?setTimeout(()=>{this.setState(r)},500):this.setState(r)},void 0),this._codeActionOracle.value.trigger({type:2,triggerAction:ho.Default})}else this._supportedCodeActions.reset()}trigger(e){var t;(t=this._codeActionOracle.value)==null||t.trigger(e)}setState(e,t){e!==this._state&&(this._state.type===1&&this._state.cancel(),this._state=e,!t&&!this._disposed&&this._onDidChangeState.fire(e))}}var G3=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Jr=function(o,e){return function(t,i){e(t,i,o)}},Qh;const Z3="quickfix-edit-highlight";var Yl;let ag=(Yl=class extends ze{static get(e){return e.getContribution(Qh.ID)}constructor(e,t,i,n,s,r,a,c,h,g,f){super(),this._commandService=a,this._configurationService=c,this._actionWidgetService=h,this._instantiationService=g,this._telemetryService=f,this._activeCodeActions=this._register(new ko),this._showDisabled=!1,this._disposed=!1,this._editor=e,this._model=this._register(new K3(this._editor,s.codeActionProvider,t,i,r,c,this._telemetryService)),this._register(this._model.onDidChangeState(p=>this.update(p))),this._lightBulbWidget=new g0(()=>{const p=this._editor.getContribution(Yf.ID);return p&&this._register(p.onClick(v=>this.showCodeActionsFromLightbulb(v.actions,v))),p}),this._resolver=n.createInstance(IS),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,Kc.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=ro.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(R3,e,n,{preview:i,editor:this._editor})}finally{t&&this._trigger({type:2,triggerAction:ho.QuickFix,filter:{}})}}hideLightBulbWidget(){var e,t;(e=this._lightBulbWidget.rawValue)==null||e.hide(),(t=this._lightBulbWidget.rawValue)==null||t.gutterHide()}async update(e){var n,s,r,a,c;if(e.type!==1){this.hideLightBulbWidget();return}let t;try{t=await e.actions}catch(h){cn(h);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 g=this.tryGetValidActionToApply(e.trigger,t);if(g){try{this.hideLightBulbWidget(),await this._applyCodeAction(g,!1,!1,Kc.FromCodeActions)}finally{t.dispose()}return}if(e.trigger.context){const f=this.getInvalidActionThatWouldHaveBeenApplied(e.trigger,t);if(f&&f.action.disabled){(r=ro.get(this._editor))==null||r.showMessage(f.action.disabled,e.trigger.context.position),t.dispose();return}}}const h=!!((a=e.trigger.filter)!=null&&a.include);if(e.trigger.context&&(!t.allActions.length||!h&&!t.validActions.length)){(c=ro.get(this._editor))==null||c.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:h,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=yt.isIPosition(t)?this.toCoords(t):t,c={onSelect:async(h,g)=>{this._applyCodeAction(h,!0,!!g,i.fromLightbulb?Kc.FromAILightbulb:Kc.FromCodeActions),this._actionWidgetService.hide(!1),n.clear()},onHide:h=>{var g;(g=this._editor)==null||g.focus(),n.clear()},onHover:async(h,g)=>{var v;if(g.isCancellationRequested)return;let f=!1;const p=h.action.kind;if(p){const _=new yn(p);f=[un.RefactorExtract,un.RefactorInline,un.RefactorRewrite,un.RefactorMove,un.Source].some(S=>S.contains(_))}return{canPreview:f||!!((v=h.action.edit)!=null&&v.edits.length)}},onFocus:h=>{var g,f;if(h&&h.action){const p=h.action.ranges,v=h.action.diagnostics;if(n.clear(),p&&p.length>0){const _=v&&(v==null?void 0:v.length)>1?v.map(y=>({range:y,options:Qh.DECORATION})):p.map(y=>({range:y,options:Qh.DECORATION}));n.set(_)}else if(v&&v.length>0){const _=v.map(S=>({range:S,options:Qh.DECORATION}));n.set(_);const y=v[0];if(y.startLineNumber&&y.startColumn){const S=(f=(g=this._editor.getModel())==null?void 0:g.getWordAtPosition({lineNumber:y.startLineNumber,column:y.startColumn}))==null?void 0:f.word;Ku(w("editingNewSelection","Context: {0} at line {1} and column {2}.",S,y.startLineNumber,y.startColumn))}}}else n.clear()}};this._actionWidgetService.show("codeActionWidget",!0,W3(r,this._shouldShowHeaders(),this._resolver.getResolver()),c,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=qs(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:w("hideMoreActions","Hide Disabled"),enabled:!0,tooltip:"",class:void 0,run:()=>(this._showDisabled=!1,this.showCodeActionList(e,t,i))}:{id:"showMoreActions",label:w("showMoreActions","Show Disabled"),enabled:!0,tooltip:"",class:void 0,run:()=>(this._showDisabled=!0,this.showCodeActionList(e,t,i))}),n}},Qh=Yl,Yl.ID="editor.contrib.codeActionController",Yl.DECORATION=Ci.register({description:"quickfix-highlight",className:Z3}),Yl);ag=Qh=G3([Jr(1,b0),Jr(2,Fi),Jr(3,ri),Jr(4,St),Jr(5,Np),Jr(6,fs),Jr(7,Sn),Jr(8,wh),Jr(9,ri),Jr(10,jr)],ag);zb((o,e)=>{((n,s)=>{s&&e.addRule(`.monaco-editor ${n} { background-color: ${s}; }`)})(".quickfix-edit-highlight",o.getColor(CA));const i=o.getColor(XD);i&&e.addRule(`.monaco-editor .quickfix-edit-highlight { border: 1px ${Ff(o.type)?"dotted":"solid"} ${i}; box-sizing: border-box; }`)});function Jp(o){return oe.regex(QT.keys()[0],new RegExp("(\\s|^)"+Hf(o.value)+"\\b"))}const r1={type:"object",defaultSnippets:[{body:{kind:""}}],properties:{kind:{type:"string",description:w("args.schema.kind","Kind of the code action to run.")},apply:{type:"string",description:w("args.schema.apply","Controls when the returned actions are applied."),default:"ifSingle",enum:["first","ifSingle","never"],enumDescriptions:[w("args.schema.apply.first","Always apply the first returned code action."),w("args.schema.apply.ifSingle","Apply the first returned code action if it is the only one."),w("args.schema.apply.never","Do not apply the returned code actions.")]},preferred:{type:"boolean",default:!1,description:w("args.schema.preferred","Controls if only preferred code actions should be returned.")}}};function yh(o,e,t,i,n=ho.Default){if(o.hasModel()){const s=ag.get(o);s==null||s.manualTriggerAtCurrentPosition(e,n,t,i)}}class X3 extends we{constructor(){super({id:o1,label:w("quickfix.trigger.label","Quick Fix..."),alias:"Quick Fix...",precondition:oe.and(M.writable,M.hasCodeActionsProvider),kbOpts:{kbExpr:M.textInputFocus,primary:2137,weight:100}})}run(e,t){return yh(t,w("editor.action.quickFix.noneMessage","No code actions available"),void 0,void 0,ho.QuickFix)}}class Y3 extends Xs{constructor(){super({id:UT,precondition:oe.and(M.writable,M.hasCodeActionsProvider),metadata:{description:"Trigger a code action",args:[{name:"args",schema:r1}]}})}runEditorCommand(e,t,i){const n=ga.fromUser(i,{kind:yn.Empty,apply:"ifSingle"});return yh(t,typeof(i==null?void 0:i.kind)=="string"?n.preferred?w("editor.action.codeAction.noneMessage.preferred.kind","No preferred code actions for '{0}' available",i.kind):w("editor.action.codeAction.noneMessage.kind","No code actions for '{0}' available",i.kind):n.preferred?w("editor.action.codeAction.noneMessage.preferred","No preferred code actions available"):w("editor.action.codeAction.noneMessage","No code actions available"),{include:n.kind,includeSourceActions:!0,onlyIncludePreferredActions:n.preferred},n.apply)}}class J3 extends we{constructor(){super({id:qT,label:w("refactor.label","Refactor..."),alias:"Refactor...",precondition:oe.and(M.writable,M.hasCodeActionsProvider),kbOpts:{kbExpr:M.textInputFocus,primary:3120,mac:{primary:1328},weight:100},contextMenuOpts:{group:"1_modification",order:2,when:oe.and(M.writable,Jp(un.Refactor))},metadata:{description:"Refactor...",args:[{name:"args",schema:r1}]}})}run(e,t,i){const n=ga.fromUser(i,{kind:un.Refactor,apply:"never"});return yh(t,typeof(i==null?void 0:i.kind)=="string"?n.preferred?w("editor.action.refactor.noneMessage.preferred.kind","No preferred refactorings for '{0}' available",i.kind):w("editor.action.refactor.noneMessage.kind","No refactorings for '{0}' available",i.kind):n.preferred?w("editor.action.refactor.noneMessage.preferred","No preferred refactorings available"):w("editor.action.refactor.noneMessage","No refactorings available"),{include:un.Refactor.contains(n.kind)?n.kind:yn.None,onlyIncludePreferredActions:n.preferred},n.apply,ho.Refactor)}}class Q3 extends we{constructor(){super({id:KT,label:w("source.label","Source Action..."),alias:"Source Action...",precondition:oe.and(M.writable,M.hasCodeActionsProvider),contextMenuOpts:{group:"1_modification",order:2.1,when:oe.and(M.writable,Jp(un.Source))},metadata:{description:"Source Action...",args:[{name:"args",schema:r1}]}})}run(e,t,i){const n=ga.fromUser(i,{kind:un.Source,apply:"never"});return yh(t,typeof(i==null?void 0:i.kind)=="string"?n.preferred?w("editor.action.source.noneMessage.preferred.kind","No preferred source actions for '{0}' available",i.kind):w("editor.action.source.noneMessage.kind","No source actions for '{0}' available",i.kind):n.preferred?w("editor.action.source.noneMessage.preferred","No preferred source actions available"):w("editor.action.source.noneMessage","No source actions available"),{include:un.Source.contains(n.kind)?n.kind:yn.None,includeSourceActions:!0,onlyIncludePreferredActions:n.preferred},n.apply,ho.SourceAction)}}class eB extends we{constructor(){super({id:xS,label:w("organizeImports.label","Organize Imports"),alias:"Organize Imports",precondition:oe.and(M.writable,Jp(un.SourceOrganizeImports)),kbOpts:{kbExpr:M.textInputFocus,primary:1581,weight:100}})}run(e,t){return yh(t,w("editor.action.organize.noneMessage","No organize imports action available"),{include:un.SourceOrganizeImports,includeSourceActions:!0},"ifSingle",ho.OrganizeImports)}}class tB extends we{constructor(){super({id:LS,label:w("fixAll.label","Fix All"),alias:"Fix All",precondition:oe.and(M.writable,Jp(un.SourceFixAll))})}run(e,t){return yh(t,w("fixAll.noneMessage","No fix all action available"),{include:un.SourceFixAll,includeSourceActions:!0},"ifSingle",ho.FixAll)}}class iB extends we{constructor(){super({id:$T,label:w("autoFix.label","Auto Fix..."),alias:"Auto Fix...",precondition:oe.and(M.writable,Jp(un.QuickFix)),kbOpts:{kbExpr:M.textInputFocus,primary:1625,mac:{primary:2649},weight:100}})}run(e,t){return yh(t,w("editor.action.autoFix.noneMessage","No auto fixes available"),{include:un.QuickFix,onlyIncludePreferredActions:!0},"ifSingle",ho.AutoFix)}}_i(ag.ID,ag,3);_i(Yf.ID,Yf,4);ie(X3);ie(J3);ie(Q3);ie(eB);ie(iB);ie(tB);Lt(new Y3);zr.as(Rp.Configuration).registerConfiguration({...Vb,properties:{"editor.codeActionWidget.showHeaders":{type:"boolean",scope:5,description:w("showCodeActionHeaders","Enable/disable showing group headers in the Code Action menu."),default:!0}}});zr.as(Rp.Configuration).registerConfiguration({...Vb,properties:{"editor.codeActionWidget.includeNearbyQuickFixes":{type:"boolean",scope:5,description:w("includeNearbyQuickFixes","Enable/disable showing nearest Quick Fix within a line when not currently on a diagnostic."),default:!0}}});zr.as(Rp.Configuration).registerConfiguration({...Vb,properties:{"editor.codeActions.triggerOnFocusChange":{type:"boolean",scope:5,markdownDescription:w("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 TS{constructor(){this.lenses=[],this._disposables=new He}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 tM(o,e,t){const i=o.ordered(e),n=new Map,s=new TS,r=i.map(async(a,c)=>{n.set(a,c);try{const h=await Promise.resolve(a.provideCodeLenses(e,t));h&&s.add(h,a)}catch(h){Yn(h)}});return await Promise.all(r),s.lenses=s.lenses.sort((a,c)=>a.symbol.range.startLineNumber<c.symbol.range.startLineNumber?-1:a.symbol.range.startLineNumber>c.symbol.range.startLineNumber?1:n.get(a.provider)<n.get(c.provider)?-1:n.get(a.provider)>n.get(c.provider)?1:a.symbol.range.startColumn<c.symbol.range.startColumn?-1:a.symbol.range.startColumn>c.symbol.range.startColumn?1:0),s}fn.registerCommand("_executeCodeLensProvider",function(o,...e){let[t,i]=e;ji(sn.isUri(t)),ji(typeof i=="number"||!i);const{codeLensProvider:n}=o.get(St),s=o.get(zs).getModel(t);if(!s)throw Ja();const r=[],a=new He;return tM(n,s,fi.None).then(c=>{a.add(c);const h=[];for(const g of c.lenses)i==null||g.symbol.command?r.push(g.symbol):i-- >0&&g.provider.resolveCodeLens&&h.push(Promise.resolve(g.provider.resolveCodeLens(s,g.symbol,fi.None)).then(f=>r.push(f||g.symbol)));return Promise.all(h)}).then(()=>r).finally(()=>{setTimeout(()=>a.dispose(),100)})});var nB=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},sB=function(o,e){return function(t,i){e(t,i,o)}};const iM=fl("ICodeLensCache");class Rk{constructor(e,t){this.lineCount=e,this.data=t}}let MS=class{constructor(e){this._fakeProvider=new class{provideCodeLenses(){throw new Error("not supported")}},this._cache=new Ap(20,.75);const t="codelens/cache";xA(LA,()=>e.remove(t,1));const i="codelens/cache2",n=e.get(i,1,"{}");this._deserialize(n);const s=cs.filter(e.onWillSaveState,r=>r.reason===w0.SHUTDOWN);cs.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 TS;n.add({lenses:i,dispose:()=>{}},this._fakeProvider);const s=new Rk(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 B(a,1,a,11)});const r=new TS;r.add({lenses:s,dispose(){}},this._fakeProvider),this._cache.set(i,new Rk(n.lineCount,r))}}catch{}}};MS=nB([sB(0,Sc)],MS);pl(iM,MS,1);class oB{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 Nf=class Nf{constructor(e,t){this.allowEditorOverflow=!1,this.suppressMouseDown=!0,this._commands=new Map,this._isEmpty=!0,this._editor=e,this._id=`codelens.widget-${Nf._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=kA(r.command.title.trim());if(r.command.id){const c=`c${Nf._idPool++}`;i.push(ht("a",{id:c,title:r.command.tooltip,role:"button"},...a)),this._commands.set(c,r.command)}else i.push(ht("span",{title:r.command.tooltip},...a));s+1<e.length&&i.push(ht("span",void 0," | "))}}n?(C_(this._domNode,...i),this._isEmpty&&t&&this._domNode.classList.add("fadein"),this._isEmpty=!1):C_(this._domNode,ht("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}};Nf._idPool=0;let NS=Nf;class ay{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 Ak=Ci.register({collapseOnReplaceEdit:!0,description:"codelens"});class Ok{constructor(e,t,i,n,s,r){this._isDisposed=!1,this._editor=t,this._data=e,this._decorationIds=[];let a;const c=[];this._data.forEach((h,g)=>{h.symbol.command&&c.push(h.symbol),i.addDecoration({range:h.symbol.range,options:Ak},f=>this._decorationIds[g]=f),a?a=B.plusRange(a,h.symbol.range):a=B.lift(h.symbol.range)}),this._viewZone=new oB(a.startLineNumber-1,s,r),this._viewZoneId=n.addZone(this._viewZone),c.length>0&&(this._createContentWidgetIfNecessary(),this._contentWidget.withCommands(c,!1))}_createContentWidgetIfNecessary(){this._contentWidget?this._editor.layoutContentWidget(this._contentWidget):(this._contentWidget=new NS(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&&B.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:Ak},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 rB=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},jg=function(o,e){return function(t,i){e(t,i,o)}},Ru;let Jf=(Ru=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 He,this._localToDispose=new He,this._lenses=[],this._oldCodeLensModels=new He,this._provideCodeLensDebounce=i.for(t.codeLensProvider,"CodeLensProvide",{min:250}),this._resolveCodeLensesDebounce=i.for(t.codeLensProvider,"CodeLensResolve",{min:250,salt:"resolve"}),this._resolveCodeLensesScheduler=new ds(()=>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",y0.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&&Af(()=>{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 ds(()=>{var s;const n=Date.now();(s=this._getCodeLensModelPromise)==null||s.cancel(),this._getCodeLensModelPromise=ms(r=>tM(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()},cn)},this._provideCodeLensDebounce.get(e));this._localToDispose.add(i),this._localToDispose.add(wn(()=>this._resolveCodeLensesScheduler.cancel())),this._localToDispose.add(this._editor.onDidChangeModelContent(()=>{var n;this._editor.changeDecorations(s=>{this._editor.changeViewZones(r=>{const a=[];let c=-1;this._lenses.forEach(g=>{!g.isValid()||c===g.getLineNumber()?a.push(g):(g.update(r),c=g.getLineNumber())});const h=new ay;a.forEach(g=>{g.dispose(h,r),this._lenses.splice(this._lenses.indexOf(g),1)}),h.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(wn(()=>{if(this._editor.getModel()){const n=Gu.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(c=>this._notificationService.error(c));break}}})),i.schedule()}_disposeAllLenses(e,t){const i=new ay;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 c=a.symbol.range.startLineNumber;c<1||c>t||(n&&n[n.length-1].symbol.range.startLineNumber===c?n.push(a):(n=[a],i.push(n)))}if(!i.length&&!this._lenses.length)return;const s=Gu.capture(this._editor),r=this._getLayoutInfo();this._editor.changeDecorations(a=>{this._editor.changeViewZones(c=>{const h=new ay;let g=0,f=0;for(;f<i.length&&g<this._lenses.length;){const p=i[f][0].symbol.range.startLineNumber,v=this._lenses[g].getLineNumber();v<p?(this._lenses[g].dispose(h,c),this._lenses.splice(g,1)):v===p?(this._lenses[g].updateCodeLensSymbols(i[f],h),f++,g++):(this._lenses.splice(g,0,new Ok(i[f],this._editor,h,c,r.codeLensHeight,()=>this._resolveCodeLensesInViewportSoon())),g++,f++)}for(;g<this._lenses.length;)this._lenses[g].dispose(h,c),this._lenses.splice(g,1);for(;f<i.length;)this._lenses.push(new Ok(i[f],this._editor,h,c,r.codeLensHeight,()=>this._resolveCodeLensesInViewportSoon())),f++;h.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 c=a.computeIfNecessary(e);c&&(t.push(c),i.push(a))}),t.length===0)return;const n=Date.now(),s=ms(a=>{const c=t.map((h,g)=>{const f=new Array(h.length),p=h.map((v,_)=>!v.symbol.command&&typeof v.provider.resolveCodeLens=="function"?Promise.resolve(v.provider.resolveCodeLens(e,v.symbol,a)).then(y=>{f[_]=y},Yn):(f[_]=v.symbol,Promise.resolve(void 0)));return Promise.all(p).then(()=>{!a.isCancellationRequested&&!i[g].isDisposed()&&i[g].updateCommands(f)})});return Promise.all(c)});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=>{cn(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}},Ru.ID="css.editor.codeLens",Ru);Jf=rB([jg(1,St),jg(2,Vo),jg(3,fs),jg(4,Bs),jg(5,iM)],Jf);_i(Jf.ID,Jf,1);ie(class extends we{constructor(){super({id:"codelens.showLensesInCurrentLine",precondition:M.hasCodeLensProvider,label:w("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(gl),n=e.get(fs),s=e.get(Bs),r=t.getSelection().positionLineNumber,a=t.getContribution(Jf.ID);if(!a)return;const c=await a.getModel();if(!c)return;const h=[];for(const p of c.lenses)p.symbol.command&&p.symbol.range.startLineNumber===r&&h.push({label:p.symbol.command.title,command:p.symbol.command});if(h.length===0)return;const g=await i.pick(h,{canPickMany:!1,placeHolder:w("placeHolder","Select a command")});if(!g)return;let f=g.command;if(c.isDisposed){const p=await a.getModel(),v=p==null?void 0:p.lenses.find(_=>{var y;return _.symbol.range.startLineNumber===r&&((y=_.symbol.command)==null?void 0:y.title)===f.title});if(!v||!v.symbol.command)return;f=v.symbol.command}try{await n.executeCommand(f.id,...f.arguments||[])}catch(p){s.error(p)}}});var nM=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},RS=function(o,e){return function(t,i){e(t,i,o)}};let Qf=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 wi(new Zu(Math.round(255*s.red),Math.round(255*s.green),Math.round(255*s.blue),r)),c=r?wi.Format.CSS.formatRGB(a):wi.Format.CSS.formatRGBA(a),h=r?wi.Format.CSS.formatHSL(a):wi.Format.CSS.formatHSLA(a),g=r?wi.Format.CSS.formatHex(a):wi.Format.CSS.formatHexA(a),f=[];return f.push({label:c,textEdit:{range:n,text:c}}),f.push({label:h,textEdit:{range:n,text:h}}),f.push({label:g,textEdit:{range:n,text:g}}),f}};Qf=nM([RS(0,ml)],Qf);let AS=class extends ze{constructor(e,t){super(),this._register(e.colorProvider.register("*",new Qf(t)))}};AS=nM([RS(0,St),RS(1,ml)],AS);xg(AS);async function sM(o,e,t,i=!0){return a1(new aB,o,e,t,i)}function oM(o,e,t,i){return Promise.resolve(t.provideColorPresentations(o,e,i))}class aB{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 lB{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 cB{constructor(e){this.colorInfo=e}async compute(e,t,i,n){const s=await e.provideColorPresentations(t,this.colorInfo,fi.None);return Array.isArray(s)&&n.push(...s),Array.isArray(s)}}async function a1(o,e,t,i,n){let s=!1,r;const a=[],c=e.ordered(t);for(let h=c.length-1;h>=0;h--){const g=c[h];if(g instanceof Qf)r=g;else try{await o.compute(g,t,i,a)&&(s=!0)}catch(f){Yn(f)}}return s?a:r&&n?(await o.compute(r,t,i,a),a):[]}function rM(o,e){const{colorProvider:t}=o.get(St),i=o.get(zs).getModel(e);if(!i)throw Ja();const n=o.get(Sn).getValue("editor.defaultColorDecorators",{resource:e});return{model:i,colorProviderRegistry:t,isDefaultColorDecoratorsEnabled:n}}fn.registerCommand("_executeDocumentColorProvider",function(o,...e){const[t]=e;if(!(t instanceof sn))throw Ja();const{model:i,colorProviderRegistry:n,isDefaultColorDecoratorsEnabled:s}=rM(o,t);return a1(new lB,n,i,fi.None,s)});fn.registerCommand("_executeColorPresentationProvider",function(o,...e){const[t,i]=e,{uri:n,range:s}=i;if(!(n instanceof sn)||!Array.isArray(t)||t.length!==4||!B.isIRange(s))throw Ja();const{model:r,colorProviderRegistry:a,isDefaultColorDecoratorsEnabled:c}=rM(o,n),[h,g,f,p]=t;return a1(new cB({range:s,color:{red:h,green:g,blue:f,alpha:p}}),a,r,fi.None,c)});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},ly=function(o,e){return function(t,i){e(t,i,o)}},OS;const aM=Object.create({});var Jl;let lg=(Jl=class extends ze{constructor(e,t,i,n){super(),this._editor=e,this._configurationService=t,this._languageFeaturesService=i,this._localToDispose=this._register(new He),this._decorationsIds=[],this._colorDatas=new Map,this._colorDecoratorIds=this._editor.createDecorationsCollection(),this._ruleFactory=new YD(this._editor),this._decoratorLimitReporter=new hB,this._colorDecorationClassRefs=this._register(new He),this._debounceInformation=n.for(i.colorProvider,"Document Colors",{min:OS.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),c=s.hasChanged(148);(a||c)&&(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 Mp,this._timeoutTimer.cancelAndSet(()=>{this._timeoutTimer=null,this.beginCompute()},this._debounceInformation.get(e)))})),this.beginCompute())}async beginCompute(){this._computePromise=ms(async e=>{const t=this._editor.getModel();if(!t)return[];const i=new co(!1),n=await sM(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){cn(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:Ci.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:c,alpha:h}=e[s].colorInfo.color,g=new Zu(Math.round(r*255),Math.round(a*255),Math.round(c*255),h),f=`rgba(${g.r}, ${g.g}, ${g.b}, ${g.a})`,p=this._colorDecorationClassRefs.add(this._ruleFactory.createClassNameRef({backgroundColor:f}));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:KD,inlineClassName:`${p.className} colorpicker-color-decoration`,inlineClassNameAffectsLetterSpacing:!0,attachedData:aM}}})}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(B.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)}},OS=Jl,Jl.ID="editor.contrib.colorDetector",Jl.RECOMPUTE_TIME=1e3,Jl);lg=OS=dB([ly(1,Sn),ly(2,St),ly(3,Vo)],lg);class hB{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())}}_i(lg.ID,lg,1);class uB{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 So=ht;class gB extends ze{constructor(e,t,i,n=!1){super(),this.model=t,this.showingStandaloneColorPicker=n,this._closeButton=null,this._domNode=So(".colorpicker-header"),st(e,this._domNode),this._pickedColorNode=st(this._domNode,So(".picked-color")),st(this._pickedColorNode,So("span.codicon.codicon-color-mode")),this._pickedColorPresentation=st(this._pickedColorNode,document.createElement("span")),this._pickedColorPresentation.classList.add("picked-color-presentation");const s=w("clickToToggleColorOptions","Click to toggle color options (rgb/hsl/hex)");this._pickedColorNode.setAttribute("title",s),this._originalColorNode=st(this._domNode,So(".original-color")),this._originalColorNode.style.backgroundColor=wi.Format.CSS.format(this.model.originalColor)||"",this.backgroundColor=i.getColorTheme().getColor(PL)||wi.white,this._register(i.onDidColorThemeChange(r=>{this.backgroundColor=r.getColor(PL)||wi.white})),this._register(Oi(this._pickedColorNode,Wn.CLICK,()=>this.model.selectNextColorPresentation())),this._register(Oi(this._originalColorNode,Wn.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=wi.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 fB(this._domNode)))}get closeButton(){return this._closeButton}get pickedColorNode(){return this._pickedColorNode}get originalColorNode(){return this._originalColorNode}onDidChangeColor(e){this._pickedColorNode.style.backgroundColor=wi.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 fB extends ze{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"),st(e,this._button);const t=document.createElement("div");t.classList.add("close-button-inner-div"),st(this._button,t),st(t,So(".button"+qi.asCSSSelector(Gn("color-picker-close",Xt.close,w("closeIcon","Icon to close the color picker"))))).classList.add("close-icon"),this._register(Oi(this._button,Wn.CLICK,()=>{this._onClicked.fire()}))}}class pB extends ze{constructor(e,t,i,n=!1){super(),this.model=t,this.pixelRatio=i,this._insertButton=null,this._domNode=So(".colorpicker-body"),st(e,this._domNode),this._saturationBox=new mB(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 _B(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 vB(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 bB(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 wi(new Zm(i.h,e,t,i.a))}onDidOpacityChange(e){const t=this.model.color.hsva;this.model.color=new wi(new Zm(t.h,t.s,t.v,e))}onDidHueChange(e){const t=this.model.color.hsva,i=(1-e)*360;this.model.color=new wi(new Zm(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 mB extends ze{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=So(".saturation-wrap"),st(e,this._domNode),this._canvas=document.createElement("canvas"),this._canvas.className="saturation-box",st(this._domNode,this._canvas),this.selection=So(".saturation-selection"),st(this._domNode,this.selection),this.layout(),this._register(Oi(this._domNode,Wn.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 JD);const t=qs(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=Oi(e.target.ownerDocument,Wn.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 wi(new Zm(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=wi.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 lM extends ze{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=st(e,So(".standalone-strip")),this.overlay=st(this.domNode,So(".standalone-overlay"))):(this.domNode=st(e,So(".strip")),this.overlay=st(this.domNode,So(".overlay"))),this.slider=st(this.domNode,So(".slider")),this.slider.style.top="0px",this._register(Oi(this.domNode,Wn.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 JD),i=qs(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=Oi(e.target.ownerDocument,Wn.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 _B extends lM{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 wi(new Zu(t,i,n,1)),r=new wi(new Zu(t,i,n,0));this.overlay.style.background=`linear-gradient(to bottom, ${s} 0%, ${r} 100%)`}getValue(e){return e.hsva.a}}class vB extends lM{constructor(e,t,i=!1){super(e,t,i),this.domNode.classList.add("hue-strip")}getValue(e){return 1-e.hsva.h/360}}class bB extends ze{constructor(e){super(),this._onClicked=this._register(new gi),this.onClicked=this._onClicked.event,this._button=st(e,document.createElement("button")),this._button.classList.add("insert-button"),this._button.textContent="Insert",this._register(Oi(this._button,Wn.CLICK,()=>{this._onClicked.fire()}))}get button(){return this._button}}class wB extends Op{constructor(e,t,i,n,s=!1){super(),this.model=t,this.pixelRatio=i,this._register(IA.getInstance(ed(e)).onDidChange(()=>this.layout())),this._domNode=So(".colorpicker-widget"),e.appendChild(this._domNode),this.header=this._register(new gB(this._domNode,this.model,n,s)),this.body=this._register(new pB(this._domNode,this.model,this.pixelRatio,s))}layout(){this.body.layout()}get domNode(){return this._domNode}}class cy{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 r_{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 lh{constructor(e){this.renderedHoverParts=e}dispose(){for(const e of this.renderedHoverParts)e.dispose()}}const Sh=new class{constructor(){this._participants=[]}register(e){this._participants.push(e)}getAll(){return this._participants}};var cM=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},dM=function(o,e){return function(t,i){e(t,i,o)}};class yB{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 Ar.fromPromise(this._computeAsync(e,t,i))}async _computeAsync(e,t,i){if(!this._editor.hasModel())return[];const n=lg.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 hM(this,this._editor.getModel(),r.colorInfo,r.provider)]}return[]}renderHoverParts(e,t){const i=uM(this,this._editor,this._themeService,t,e);if(!i)return new lh([]);this._colorPicker=i.colorPicker;const n={hoverPart:i.hoverPart,hoverElement:this._colorPicker.domNode,dispose(){i.disposables.dispose()}};return new lh([n])}handleResize(){var e;(e=this._colorPicker)==null||e.layout()}isColorPickerVisible(){return!!this._colorPicker}};ep=cM([dM(1,mr)],ep);class SB{constructor(e,t,i,n){this.owner=e,this.range=t,this.model=i,this.provider=n}}let tp=class{constructor(e,t){this._editor=e,this._themeService=t,this._color=null}async createColorHover(e,t,i){if(!this._editor.hasModel()||!lg.get(this._editor))return null;const s=await sM(i,this._editor.getModel(),fi.None);let r=null,a=null;for(const f of s){const p=f.colorInfo;B.containsRange(p.range,e.range)&&(r=p,a=f.provider)}const c=r??e,h=a??t,g=!!r;return{colorHover:await hM(this,this._editor.getModel(),c,h),foundInEditor:g}}async updateEditorModel(e){if(!this._editor.hasModel())return;const t=e.model;let i=new B(e.range.startLineNumber,e.range.startColumn,e.range.endLineNumber,e.range.endColumn);this._color&&(await a_(this._editor.getModel(),t,this._color,i,e),i=gM(this._editor,i,t))}renderHoverParts(e,t){return uM(this,this._editor,this._themeService,t,e)}set color(e){this._color=e}get color(){return this._color}};tp=cM([dM(1,mr)],tp);async function hM(o,e,t,i){const n=e.getValueInRange(t.range),{red:s,green:r,blue:a,alpha:c}=t.color,h=new Zu(Math.round(s*255),Math.round(r*255),Math.round(a*255),c),g=new wi(h),f=await oM(e,t,i,fi.None),p=new uB(g,[],0);return p.colorPresentations=f||[],p.guessColorPresentation(g,n),o instanceof ep?new yB(o,B.lift(t.range),p,i):new SB(o,B.lift(t.range),p,i)}function uM(o,e,t,i,n){if(i.length===0||!e.hasModel())return;if(n.setMinimumDimensions){const p=e.getOption(67)+8;n.setMinimumDimensions(new hn(302,p))}const s=new He,r=i[0],a=e.getModel(),c=r.model,h=s.add(new wB(n.fragment,c,e.getOption(144),t,o instanceof tp));let g=!1,f=new B(r.range.startLineNumber,r.range.startColumn,r.range.endLineNumber,r.range.endColumn);if(o instanceof tp){const p=r.model.color;o.color=p,a_(a,c,p,f,r),s.add(c.onColorFlushed(v=>{o.color=v}))}else s.add(c.onColorFlushed(async p=>{await a_(a,c,p,f,r),g=!0,f=gM(e,f,c)}));return s.add(c.onDidChangeColor(p=>{a_(a,c,p,f,r)})),s.add(e.onDidChangeModelContent(p=>{g?g=!1:(n.hide(),e.focus())})),{hoverPart:r,colorPicker:h,disposables:s}}function gM(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=B.lift(n.range),r=o.getModel()._setTrackedRange(null,s,3);return o.executeEdits("colorpicker",i),o.pushUndoStop(),o.getModel()._getTrackedRange(r)??s}async function a_(o,e,t,i,n){const s=await oM(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,fi.None);e.colorPresentations=s||[]}const fM="editor.action.showHover",CB="editor.action.showDefinitionPreviewHover",xB="editor.action.scrollUpHover",LB="editor.action.scrollDownHover",kB="editor.action.scrollLeftHover",IB="editor.action.scrollRightHover",DB="editor.action.pageUpHover",EB="editor.action.pageDownHover",PB="editor.action.goToTopHover",TB="editor.action.goToBottomHover",gw="editor.action.increaseHoverVerbosityLevel",MB=w({key:"increaseHoverVerbosityLevel",comment:["Label for action that will increase the hover verbosity level."]},"Increase Hover Verbosity Level"),fw="editor.action.decreaseHoverVerbosityLevel",NB=w({key:"decreaseHoverVerbosityLevel",comment:["Label for action that will decrease the hover verbosity level."]},"Decrease Hover Verbosity Level"),pM="editor.action.inlineSuggest.commit",mM="editor.action.inlineSuggest.showPrevious",_M="editor.action.inlineSuggest.showNext";var l1=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},or=function(o,e){return function(t,i){e(t,i,o)}},l_;let FS=class extends ze{constructor(e,t,i){super(),this.editor=e,this.model=t,this.instantiationService=i,this.alwaysShowToolbar=no(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(62).showToolbar==="always"),this.sessionPosition=void 0,this.position=Xi(this,n=>{var c,h;const s=(c=this.model.read(n))==null?void 0:c.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 yt(s.lineNumber,Math.min(r,((h=this.sessionPosition)==null?void 0:h.column)??Number.MAX_SAFE_INTEGER));return this.sessionPosition=a,a}),this._register(Fp((n,s)=>{const r=this.model.read(n);if(!r||!this.alwaysShowToolbar.read(n))return;const a=iE((h,g)=>{const f=g.add(this.instantiationService.createInstance(cg,this.editor,!0,this.position,r.selectedInlineCompletionIndex,r.inlineCompletionsCount,r.activeCommands));return e.addContentWidget(f),g.add(wn(()=>e.removeContentWidget(f))),g.add(Hn(p=>{this.position.read(p)&&r.lastTriggerKind.read(p)!==Qa.Explicit&&r.triggerExplicitly()})),f}),c=jb(this,(h,g)=>!!this.position.read(h)||!!g);s.add(Hn(h=>{c.read(h)&&a.read(h)}))}))}};FS=l1([or(2,ri)],FS);const RB=Gn("inline-suggestion-hints-next",Xt.chevronRight,w("parameterHintsNextIcon","Icon for show next parameter hint.")),AB=Gn("inline-suggestion-hints-previous",Xt.chevronLeft,w("parameterHintsPreviousIcon","Icon for show previous parameter hint."));var Ql;let cg=(Ql=class extends ze{static get dropDownVisible(){return this._dropDownVisible}createCommandAction(e,t,i){const n=new Xu(e,t,i,!0,()=>this._commandService.executeCommand(e)),s=this.keybindingService.lookupKeybinding(e,this._contextKeyService);let r=t;return s&&(r=w({key:"content",comment:["A label","A keybinding"]},"{0} ({1})",t,s.getLabel())),n.tooltip=r,n}constructor(e,t,i,n,s,r,a,c,h,g,f){super(),this.editor=e,this.withBorder=t,this._position=i,this._currentSuggestionIdx=n,this._suggestionCount=s,this._extraCommands=r,this._commandService=a,this.keybindingService=h,this._contextKeyService=g,this._menuService=f,this.id=`InlineSuggestionHintsContentWidget${l_.id++}`,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this.nodes=rr("div.inlineSuggestionsHints",{className:this.withBorder?".withBorder":""},[rr("div@toolBar")]),this.previousAction=this.createCommandAction(mM,w("previous","Previous"),qi.asClassName(AB)),this.availableSuggestionCountAction=new Xu("inlineSuggestionHints.availableSuggestionCount","",void 0,!1),this.nextAction=this.createCommandAction(_M,w("next","Next"),qi.asClassName(RB)),this.inlineCompletionsActionsMenus=this._register(this._menuService.createMenu(et.InlineCompletionsActions,this._contextKeyService)),this.clearAvailableSuggestionCountLabelDebounced=this._register(new ds(()=>{this.availableSuggestionCountAction.label=""},100)),this.disableButtonsDebounced=this._register(new ds(()=>{this.previousAction.enabled=this.nextAction.enabled=!1},100)),this.toolBar=this._register(c.createInstance(HS,this.nodes.toolBar,et.InlineSuggestionToolbar,{menuOptions:{renderShortTitle:!0},toolbarOptions:{primaryGroup:p=>p.startsWith("primary")},actionViewItemProvider:(p,v)=>{if(p instanceof Yu)return c.createInstance(FB,p,void 0);if(p===this.availableSuggestionCountAction){const _=new OB(void 0,p,{label:!0,icon:!1});return _.setClass("availableSuggestionCount"),_}},telemetrySource:"InlineSuggestionToolbar"})),this.toolBar.setPrependedPrimaryActions([this.previousAction,this.availableSuggestionCountAction,this.nextAction]),this._register(this.toolBar.onDidChangeDropdownVisibility(p=>{l_._dropDownVisible=p})),this._register(Hn(p=>{this._position.read(p),this.editor.layoutContentWidget(this)})),this._register(Hn(p=>{const v=this._suggestionCount.read(p),_=this._currentSuggestionIdx.read(p);v!==void 0?(this.clearAvailableSuggestionCountLabelDebounced.cancel(),this.availableSuggestionCountAction.label=`${_+1}/${v}`):this.clearAvailableSuggestionCountLabelDebounced.schedule(),v!==void 0&&v>1?(this.disableButtonsDebounced.cancel(),this.previousAction.enabled=this.nextAction.enabled=!0):this.disableButtonsDebounced.schedule()})),this._register(Hn(p=>{const _=this._extraCommands.read(p).map(y=>({class:void 0,id:y.id,enabled:!0,tooltip:y.tooltip||"",label:y.title,run:S=>this._commandService.executeCommand(y.id)}));for(const[y,S]of this.inlineCompletionsActionsMenus.getActions())for(const D of S)D instanceof Yu&&_.push(D);_.length>0&&_.unshift(new Wf),this.toolBar.setAdditionalSecondaryActions(_)}))}getId(){return this.id}getDomNode(){return this.nodes.root}getPosition(){return{position:this._position.get(),preference:[1,2],positionAffinity:3}}},l_=Ql,Ql._dropDownVisible=!1,Ql.id=0,Ql);cg=l_=l1([or(6,fs),or(7,ri),or(8,is),or(9,Fi),or(10,mh)],cg);class OB extends zy{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 FB=class extends QD{updateLabel(){const e=this._keybindingService.lookupKeybinding(this._action.id,this._contextKeyService);if(!e)return super.updateLabel();if(this.label){const t=rr("div.keybinding").root;this._register(new p0(t,m0,{disableTitle:!0,...eE})).set(e),this.label.textContent=this._action.label,this.label.appendChild(t),this.label.classList.add("inlineSuggestionStatusBarItemLabel")}}updateTooltip(){}},HS=class extends tE{constructor(e,t,i,n,s,r,a,c,h){super(e,{resetMenu:t,...i},n,s,r,a,c,h),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,c,h;const e=[],t=[];S0(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,(h=(c=this.options2)==null?void 0:c.toolbarOptions)==null?void 0:h.useSeparatorsInPrimaryActions),t.push(...this.additionalActions),e.unshift(...this.prependedPrimaryActions),this.setActions(e,t)}setPrependedPrimaryActions(e){Ca(this.prependedPrimaryActions,e,(t,i)=>t===i)||(this.prependedPrimaryActions=e,this.updateToolbar())}setAdditionalSecondaryActions(e){Ca(this.additionalActions,e,(t,i)=>t===i)||(this.additionalActions=e,this.updateToolbar())}};HS=l1([or(3,mh),or(4,Fi),or(5,yg),or(6,is),or(7,fs),or(8,jr)],HS);function pw(o,e,t){const i=qs(o);return!(e<i.left||e>i.left+i.width||t<i.top||t>i.top+i.height)}let HB=class{constructor(e,t,i){this.value=e,this.isComplete=t,this.hasLoadingMessage=i}};class vM extends ze{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 ds(()=>this._triggerAsyncComputation(),0)),this._secondWaitScheduler=this._register(new ds(()=>this._triggerSyncComputation(),0)),this._loadingMessageScheduler=this._register(new ds(()=>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=DA(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){cn(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 HB(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 c1{constructor(){this._onDidWillResize=new gi,this.onDidWillResize=this._onDidWillResize.event,this._onDidResize=new gi,this.onDidResize=this._onDidResize.event,this._sashListener=new He,this._size=new hn(0,0),this._minSize=new hn(0,0),this._maxSize=new hn(Number.MAX_SAFE_INTEGER,Number.MAX_SAFE_INTEGER),this.domNode=document.createElement("div"),this._eastSash=new nu(this.domNode,{getVerticalSashLeft:()=>this._size.width},{orientation:0}),this._westSash=new nu(this.domNode,{getVerticalSashLeft:()=>0},{orientation:0}),this._northSash=new nu(this.domNode,{getHorizontalSashTop:()=>0},{orientation:1,orthogonalEdge:TL.North}),this._southSash=new nu(this.domNode,{getHorizontalSashTop:()=>this._size.height},{orientation:1,orthogonalEdge:TL.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(cs.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(cs.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(cs.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(cs.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 hn(t,e);hn.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 WB=30,BB=24;class zB extends ze{constructor(e,t=new hn(10,10)){super(),this._editor=e,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this._resizableNode=this._register(new c1),this._contentPosition=null,this._isResizing=!1,this._resizableNode.domNode.style.position="absolute",this._resizableNode.minSize=hn.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 hn(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?yt.lift(this._contentPosition.position):void 0}_availableVerticalSpaceAbove(e){const t=this._editor.getDomNode(),i=this._editor.getScrolledVisiblePosition(e);return!t||!i?void 0:qs(t).top+i.top-WB}_availableVerticalSpaceBelow(e){const t=this._editor.getDomNode(),i=this._editor.getScrolledVisiblePosition(e);if(!t||!i)return;const n=qs(t),s=Hp(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 VB=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Cm=function(o,e){return function(t,i){e(t,i,o)}},ta;const Fk=30,jB=6;var ec;let WS=(ec=class extends zB{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,c=new hn(a,r);super(e,c),this._configurationService=i,this._accessibilityService=n,this._keybindingService=s,this._hover=this._register(new nE),this._onDidResize=this._register(new gi),this.onDidResize=this._onDidResize.event,this._minimumSize=c,this._hoverVisibleKey=M.hoverVisible.bindTo(t),this._hoverFocusedKey=M.hoverFocused.bindTo(t),st(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(g=>{g.hasChanged(50)&&this._updateFont()}));const h=this._register(qu(this._resizableNode.domNode));this._register(h.onDidFocus(()=>{this._hoverFocusedKey.set(!0)})),this._register(h.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 ta.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 ta._applyDimensions(i,e,t)}_setContainerDomNodeDimensions(e,t){const i=this._hover.containerDomNode;return ta._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){ta._applyMaxDimensions(this._hover.contentsDomNode,e,t),ta._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 hn(e,t),this._setHoverWidgetMaxDimensions(e,t)}_resize(e){ta._lastDimensions=new hn(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=jB;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?Hp(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=qs(this.getDomNode());this._renderedHover.closestMouseDistance===void 0&&(this._renderedHover.closestMouseDistance=Hk(this._renderedHover.initialMousePosX,this._renderedHover.initialMousePosY,i.left,i.top,i.width,i.height));const n=Hk(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,ta._lastDimensions.height),t=Math.max(this._editor.getLayoutInfo().width*.66,500,ta._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=su(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&&EA(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 hn(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 hn(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 hn(e,this._minimumSize.height)}onContentsChanged(){var n;this._removeConstraintsRenderNormally();const e=this._hover.containerDomNode;let t=su(e),i=Qo(e);if(this._resizableNode.layout(t,i),this._setHoverWidgetDimensions(i,t),t=su(e),i=Qo(e),this._contentWidth=i,this._updateMinimumWidth(),this._resizableNode.layout(t,i),(n=this._renderedHover)!=null&&n.showAtPosition){const s=su(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-Fk})}scrollRight(){const e=this._hover.scrollbar.getScrollPosition().scrollLeft;this._hover.scrollbar.setScrollPosition({scrollLeft:e+Fk})}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})}},ta=ec,ec.ID="editor.contrib.resizableContentHoverWidget",ec._lastDimensions=new hn(0,0),ec);WS=ta=VB([Cm(1,Fi),Cm(2,Sn),Cm(3,Ub),Cm(4,is)],WS);function Hk(o,e,t,i,n,s){const r=t+n/2,a=i+s/2,c=Math.max(Math.abs(o-r)-n/2,0),h=Math.max(Math.abs(e-a)-s/2,0);return Math.sqrt(c*c+h*h)}class j_{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,c=r.range.endLineNumber===n?r.range.endColumn:s;if(r.options.showIfCollapsed){if(a>t.range.startColumn+1||t.range.endColumn-1>c)return!1}else if(a>t.range.startColumn||t.range.endColumn>c)return!1;return!0})}computeAsync(e){const t=this._anchor;if(!this._editor.hasModel()||!t)return Ar.EMPTY;const i=j_._getLineDecorations(this._editor,t);return Ar.merge(this._participants.map(n=>n.computeAsync?n.computeAsync(t,i,e):Ar.EMPTY))}computeSync(){if(!this._editor.hasModel()||!this._anchor)return[];const e=j_._getLineDecorations(this._editor,this._anchor);let t=[];for(const i of this._participants)t=t.concat(i.computeSync(this._anchor,e));return nl(t)}}class bM{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 UB(this,this.anchor,t,this.isComplete)}}class UB extends bM{constructor(e,t,i,n){super(t,i,n),this.original=e}filter(e){return this.original.filter(e)}}var $B=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},qB=function(o,e){return function(t,i){e(t,i,o)}};const Wk=ht;let U_=class extends ze{get hasContent(){return this._hasContent}constructor(e){super(),this._keybindingService=e,this.actions=[],this._hasContent=!1,this.hoverElement=Wk("div.hover-row.status-bar"),this.hoverElement.tabIndex=0,this.actionsElement=st(this.hoverElement,Wk("div.actions"))}addAction(e){const t=this._keybindingService.lookupKeybinding(e.commandId),i=t?t.getLabel():null;this._hasContent=!0;const n=this._register(PA.render(this.actionsElement,e,i));return this.actions.push(n),n}append(e){const t=st(this.actionsElement,e);return this._hasContent=!0,t}};U_=$B([qB(0,is)],U_);class KB{constructor(e,t,i){this.provider=e,this.hover=t,this.ordinal=i}}async function GB(o,e,t,i,n){const s=await Promise.resolve(o.provideHover(t,i,n)).catch(Yn);if(!(!s||!ZB(s)))return new KB(o,s,e)}function d1(o,e,t,i,n=!1){const r=o.ordered(e,n).map((a,c)=>GB(a,c,e,t,i));return Ar.fromPromises(r).coalesce()}function wM(o,e,t,i,n=!1){return d1(o,e,t,i,n).map(s=>s.hover).toPromise()}Ys("_executeHoverProvider",(o,e,t)=>{const i=o.get(St);return wM(i.hoverProvider,e,t,fi.None)});Ys("_executeHoverProvider_recursive",(o,e,t)=>{const i=o.get(St);return wM(i.hoverProvider,e,t,fi.None,!0)});function ZB(o){const e=typeof o.range<"u",t=typeof o.contents<"u"&&o.contents&&o.contents.length>0;return e&&t}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},Tc=function(o,e){return function(t,i){e(t,i,o)}};const cu=ht,YB=Gn("hover-increase-verbosity",Xt.add,w("increaseHoverVerbosity","Icon for increaseing hover verbosity.")),JB=Gn("hover-decrease-verbosity",Xt.remove,w("decreaseHoverVerbosity","Icon for decreasing hover verbosity."));class lr{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 yM{constructor(e,t,i){this.hover=e,this.hoverProvider=t,this.hoverPosition=i}supportsVerbosityAction(e){switch(e){case Ho.Increase:return this.hover.canIncreaseVerbosity??!1;case Ho.Decrease:return this.hover.canDecreaseVerbosity??!1}}}let ip=class{constructor(e,t,i,n,s,r,a,c){this._editor=e,this._languageService=t,this._openerService=i,this._configurationService=n,this._languageFeaturesService=s,this._keybindingService=r,this._hoverService=a,this._commandService=c,this.hoverOrdinal=3}createLoadingMessage(e){return new lr(this,e.range,[new Ms().appendText(w("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 c=i.getLineLength(n),h=i.getLanguageIdAtPosition(e.range.startLineNumber,e.range.startColumn),g=this._editor.getOption(118),f=this._configurationService.getValue("editor.maxTokenizationLineLength",{overrideIdentifier:h});let p=!1;g>=0&&c>g&&e.range.startColumn>=g&&(p=!0,r.push(new lr(this,e.range,[{value:w("stopped rendering","Rendering paused for long line for performance reasons. This can be configured via `editor.stopRenderingLineAfter`.")}],!1,a++))),!p&&typeof f=="number"&&c>=f&&r.push(new lr(this,e.range,[{value:w("too many characters","Tokenization is skipped for long lines for performance reasons. This can be configured via `editor.maxTokenizationLineLength`.")}],!1,a++));let v=!1;for(const _ of t){const y=_.range.startLineNumber===n?_.range.startColumn:1,S=_.range.endLineNumber===n?_.range.endColumn:s,D=_.options.hoverMessage;if(!D||Bf(D))continue;_.options.beforeContentClassName&&(v=!0);const P=new B(e.range.startLineNumber,y,e.range.startLineNumber,S);r.push(new lr(this,P,sE(D),v,a++))}return r}computeAsync(e,t,i){if(!this._editor.hasModel()||e.type!==1)return Ar.EMPTY;const n=this._editor.getModel(),s=this._languageFeaturesService.hoverProvider;return s.has(n)?this._getMarkdownHovers(s,n,e,i):Ar.EMPTY}_getMarkdownHovers(e,t,i,n){const s=i.range.getStartPosition();return d1(e,t,s,n).filter(c=>!Bf(c.hover.contents)).map(c=>{const h=c.hover.range?B.lift(c.hover.range):i.range,g=new yM(c.hover,c.provider,s);return new lr(this,h,c.hover.contents,!1,c.ordinal,g)})}renderHoverParts(e,t){return this._renderedHoverParts=new QB(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))}};ip=XB([Tc(1,Ur),Tc(2,Vr),Tc(3,Sn),Tc(4,St),Tc(5,is),Tc(6,Wp),Tc(7,fs)],ip);class xm{constructor(e,t,i){this.hoverPart=e,this.hoverElement=t,this.disposables=i}dispose(){this.disposables.dispose()}}class QB{constructor(e,t,i,n,s,r,a,c,h,g,f){this._hoverParticipant=i,this._editor=n,this._languageService=s,this._openerService=r,this._commandService=a,this._keybindingService=c,this._hoverService=h,this._configurationService=g,this._onFinishedRendering=f,this._ongoingHoverOperations=new Map,this._disposables=new He,this.renderedHoverParts=this._renderHoverParts(e,t,this._onFinishedRendering),this._disposables.add(wn(()=>{this.renderedHoverParts.forEach(p=>{p.dispose()}),this._ongoingHoverOperations.forEach(p=>{p.tokenSource.dispose(!0)})}))}_renderHoverParts(e,t,i){return e.sort(Bp(n=>n.ordinal,$b)),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 He;if(r.add(i),!s)return new xm(e,n,r);const a=s.supportsVerbosityAction(Ho.Increase),c=s.supportsVerbosityAction(Ho.Decrease);if(!a&&!c)return new xm(e,n,r);const h=cu("div.verbosity-actions");return n.prepend(h),r.add(this._renderHoverExpansionAction(h,Ho.Increase,a)),r.add(this._renderHoverExpansionAction(h,Ho.Decrease,c)),new xm(e,n,r)}_renderMarkdownHover(e,t){return SM(this._editor,e,this._languageService,this._openerService,t)}_renderHoverExpansionAction(e,t,i){const n=new He,s=t===Ho.Increase,r=st(e,cu(qi.asCSSSelector(s?YB:JB)));r.tabIndex=0;const a=new TA("mouse",!1,{target:e,position:{hoverPosition:0}},this._configurationService,this._hoverService);if(n.add(this._hoverService.setupManagedHover(a,r,tz(this._keybindingService,t))),!i)return r.classList.add("disabled"),n;r.classList.add("enabled");const c=()=>this._commandService.executeCommand(t===Ho.Increase?gw:fw);return n.add(new MA(r,c)),n.add(new NA(r,c,[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 c=new yM(a,r.hoverProvider,r.hoverPosition),h=s.hoverPart,g=new lr(this._hoverParticipant,h.range,a.contents,h.isBeforeContent,h.ordinal,c),f=this._renderHoverPart(g,this._onFinishedRendering);return this._replaceRenderedHoverPartAtIndex(t,f,g),i&&this._focusOnHoverPartWithIndex(t),{hoverPart:g,hoverElement:f.hoverElement}}async _fetchHover(e,t,i){let n=i===Ho.Increase?1:-1;const s=e.hoverProvider,r=this._ongoingHoverOperations.get(s);r&&(r.tokenSource.cancel(),n+=r.verbosityDelta);const a=new _s;this._ongoingHoverOperations.set(s,{verbosityDelta:n,tokenSource:a});const c={verbosityRequest:{verbosityDelta:n,previousHover:e.hover}};let h;try{h=await Promise.resolve(s.provideHover(t,e.hoverPosition,a.token,c))}catch(g){Yn(g)}return a.dispose(),this._ongoingHoverOperations.delete(s),h}_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 c=new xm(i,s,t.disposables);s.focus(),n.dispose(),this.renderedHoverParts[e]=c}_focusOnHoverPartWithIndex(e){this.renderedHoverParts[e].hoverElement.focus()}_getRenderedHoverPartAtIndex(e){return this.renderedHoverParts[e]}dispose(){this._disposables.dispose()}}function ez(o,e,t,i,n){e.sort(Bp(r=>r.ordinal,$b));const s=[];for(const r of e)s.push(SM(t,r,i,n,o.onContentsChanged));return new lh(s)}function SM(o,e,t,i,n){const s=new He,r=cu("div.hover-row"),a=cu("div.hover-row-contents");r.appendChild(a);const c=e.contents;for(const g of c){if(Bf(g))continue;const f=cu("div.markdown-hover"),p=st(f,cu("div.hover-contents")),v=s.add(new Lg({editor:o},t,i));s.add(v.onDidRenderAsync(()=>{p.className="hover-contents code-hover-contents",n()}));const _=s.add(v.render(g));p.appendChild(_.element),a.appendChild(f)}return{hoverPart:e,hoverElement:r,dispose(){s.dispose()}}}function tz(o,e){switch(e){case Ho.Increase:{const t=o.lookupKeybinding(gw);return t?w("increaseVerbosityWithKb","Increase Hover Verbosity ({0})",t.getLabel()):w("increaseVerbosity","Increase Hover Verbosity")}case Ho.Decrease:{const t=o.lookupKeybinding(fw);return t?w("decreaseVerbosityWithKb","Decrease Hover Verbosity ({0})",t.getLabel()):w("decreaseVerbosity","Decrease Hover Verbosity")}}}function BS(o,e){return!!o[e]}class dy{constructor(e,t){this.target=e.target,this.isLeftClick=e.event.leftButton,this.isMiddleClick=e.event.middleButton,this.isRightClick=e.event.rightButton,this.hasTriggerModifier=BS(e.event,t.triggerModifier),this.hasSideBySideModifier=BS(e.event,t.triggerSideBySideModifier),this.isNoneOrSingleMouseDown=e.event.detail<=1}}class Bk{constructor(e,t){this.keyCodeIsTriggerKey=e.keyCode===t.triggerKey,this.keyCodeIsSideBySideKey=e.keyCode===t.triggerSideBySideKey,this.hasTriggerModifier=BS(e,t.triggerModifier)}}class Lm{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 zk(o){return o==="altKey"?xa?new Lm(57,"metaKey",6,"altKey"):new Lm(5,"ctrlKey",6,"altKey"):xa?new Lm(6,"altKey",57,"metaKey"):new Lm(6,"altKey",5,"ctrlKey")}class mw extends ze{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=zk(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=zk(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 dy(i,this._opts)))),this._register(this._editor.onMouseDown(i=>this._onEditorMouseDown(new dy(i,this._opts)))),this._register(this._editor.onMouseUp(i=>this._onEditorMouseUp(new dy(i,this._opts)))),this._register(this._editor.onKeyDown(i=>this._onEditorKeyDown(new Bk(i,this._opts)))),this._register(this._editor.onKeyUp(i=>this._onEditorKeyUp(new Bk(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 CM{constructor(e,t){this.range=e,this.direction=t}}class h1{constructor(e,t,i){this.hint=e,this.anchor=t,this.provider=i,this._isResolved=!1}with(e){const t=new h1(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){Yn(t),this._isResolved=!1}}}const mu=class mu{static async create(e,t,i,n){const s=[],r=e.ordered(t).reverse().map(a=>i.map(async c=>{try{const h=await a.provideInlayHints(t,c,n);(h!=null&&h.hints.length||a.onDidChangeInlayHints)&&s.push([h??mu._emptyInlayHintList,a])}catch(h){Yn(h)}}));if(await Promise.all(r.flat()),n.isCancellationRequested||t.isDisposed())throw new Wb;return new mu(i,s,t)}constructor(e,t,i){this._disposables=new He,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 c=i.validatePosition(a.position);let h="before";const g=mu._getRangeAtPosition(i,c);let f;g.getStartPosition().isBefore(c)?(f=B.fromPositions(g.getStartPosition(),c),h="after"):(f=B.fromPositions(c,g.getEndPosition()),h="before"),n.push(new h1(a,new CM(f,h),r))}}this.items=n.sort((s,r)=>yt.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 B(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 c=s.getStartOffset(a),h=s.getEndOffset(a);return h-c===1&&(c===r&&a>1?(c=s.getStartOffset(a-1),h=s.getEndOffset(a-1)):h===r&&a<s.getCount()-1&&(c=s.getStartOffset(a+1),h=s.getEndOffset(a+1))),new B(i,c+1,i,h+1)}};mu._emptyInlayHintList=Object.freeze({dispose(){},hints:[]});let $_=mu;function iz(o){return sn.from({scheme:js.command,path:o.id,query:o.arguments&&encodeURIComponent(JSON.stringify(o.arguments))}).toString()}var nz=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Oa=function(o,e){return function(t,i){e(t,i,o)}};let pr=class extends RA{constructor(e,t,i,n,s,r,a,c,h,g,f,p,v){super(e,{...n.getRawOptions(),overflowWidgetsDomNode:n.getOverflowWidgetsDomNode()},i,s,r,a,c,h,g,f,p,v),this._parentEditor=n,this._overwriteOptions=t,super.updateOptions(this._overwriteOptions),this._register(n.onDidChangeConfiguration(_=>this._onParentConfigurationChanged(_)))}getParentEditor(){return this._parentEditor}_onParentConfigurationChanged(e){super.updateOptions(this._parentEditor.getRawOptions()),super.updateOptions(this._overwriteOptions)}updateOptions(e){C0(this._overwriteOptions,e,!0),super.updateOptions(this._overwriteOptions)}};pr=nz([Oa(4,ri),Oa(5,Jn),Oa(6,fs),Oa(7,Fi),Oa(8,mr),Oa(9,Bs),Oa(10,Ub),Oa(11,ps),Oa(12,St)],pr);const Vk=new wi(new Zu(0,122,204)),sz={showArrow:!0,showFrame:!0,className:"",frameColor:Vk,arrowColor:Vk,keepEditorSelection:!1},oz="vs.editor.contrib.zoneWidget";class rz{constructor(e,t,i,n,s,r,a,c){this.id="",this.domNode=e,this.afterLineNumber=t,this.afterColumn=i,this.heightInLines=n,this.showInHiddenAreas=a,this.ordinal=c,this._onDomNodeTop=s,this._onComputedHeight=r}onDomNodeTop(e){this._onDomNodeTop(e)}onComputedHeight(e){this._onComputedHeight(e)}}class az{constructor(e,t){this._id=e,this._domNode=t}getId(){return this._id}getDomNode(){return this._domNode}getPosition(){return null}}const Yv=class Yv{constructor(e){this._editor=e,this._ruleName=Yv._IdGenerator.nextId(),this._decorations=this._editor.createDecorationsCollection(),this._color=null,this._height=-1}dispose(){this.hide(),ML(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(){ML(this._ruleName),FA(`.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:B.fromPositions(e),options:{description:"zone-widget-arrow",className:this._ruleName,stickiness:1}}])}hide(){this._decorations.clear()}};Yv._IdGenerator=new OA(".arrow-decoration-");let zS=Yv;class lz{constructor(e,t={}){this._arrow=null,this._overlayWidget=null,this._resizeSash=null,this._viewZone=null,this._disposables=new He,this.container=null,this._isShowing=!1,this.editor=e,this._positionMarkerId=this.editor.createDecorationsCollection(),this.options=AA(t),C0(this.options,sz,!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 zS(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=B.isIRange(e)?B.lift(e):B.fromPositions(e);this._isShowing=!0,this._showImpl(i,t),this._isShowing=!1,this._positionMarkerId.set([{range:i,options:Ci.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 c=0,h=0;if(this._arrow&&this.options.showArrow&&(c=Math.round(a/3),this._arrow.height=c,this._arrow.show(i)),this.options.showFrame&&(h=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 rz(r,i.lineNumber,i.column,t,v=>this._onViewZoneTop(v),v=>this._onViewZoneHeight(v),this.options.showInHiddenAreas,this.options.ordinal),this._viewZone.id=p.addZone(this._viewZone),this._overlayWidget=new az(oz+this._viewZone.id,this.domNode),this.editor.addOverlayWidget(this._overlayWidget)}),this.container&&this.options.showFrame){const p=this.options.frameWidth?this.options.frameWidth:h;this.container.style.borderTopWidth=p+"px",this.container.style.borderBottomWidth=p+"px"}const g=t*a-this._decoratingElementsHeight();this.container&&(this.container.style.top=c+"px",this.container.style.height=g+"px",this.container.style.overflow="hidden"),this._doLayout(g,s),this.options.keepEditorSelection||this.editor.setSelection(e);const f=this.editor.getModel();if(f){const p=f.validateRange(new B(e.startLineNumber,1,e.endLineNumber+1,1));this.revealRange(p,p.startLineNumber===f.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 nu(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 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},LM=function(o,e){return function(t,i){e(t,i,o)}};const kM=fl("IPeekViewService");pl(kM,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 Ks;(function(o){o.inPeekEditor=new Di("inReferenceSearchEditor",!0,w("inReferenceSearchEditor","Whether the current code editor is embedded inside peek")),o.notInPeekEditor=o.inPeekEditor.toNegated()})(Ks||(Ks={}));var Au;let q_=(Au=class{constructor(e,t){e instanceof pr&&Ks.inPeekEditor.bindTo(t)}dispose(){}},Au.ID="editor.contrib.referenceController",Au);q_=xM([LM(1,Fi)],q_);_i(q_.ID,q_,0);function cz(o){const e=o.get(Jn).getFocusedCodeEditor();return e instanceof pr?e.getParentEditor():e}const dz={headerBackgroundColor:wi.white,primaryHeadingColor:wi.fromHex("#333333"),secondaryHeadingColor:wi.fromHex("#6c6c6cb3")};let K_=class extends lz{constructor(e,t,i){super(e,t),this.instantiationService=i,this._onDidClose=new gi,this.onDidClose=this._onDidClose.event,C0(this.options,dz,!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=ht(".head"),this._bodyElement=ht(".body"),this._fillHead(this._headElement),this._fillBody(this._bodyElement),e.appendChild(this._headElement),e.appendChild(this._bodyElement)}_fillHead(e,t){this._titleElement=ht(".peekview-title"),this.options.supportOnTitleClick&&(this._titleElement.classList.add("clickable"),ol(this._titleElement,"click",s=>this._onTitleClick(s))),st(this._headElement,this._titleElement),this._fillTitleIcon(this._titleElement),this._primaryHeading=ht("span.filename"),this._secondaryHeading=ht("span.dirname"),this._metaHeading=ht("span.meta"),st(this._titleElement,this._primaryHeading,this._secondaryHeading,this._metaHeading);const i=ht(".peekview-actions");st(this._headElement,i);const n=this._getActionBarOptions();this._actionbarWidget=new Of(i,n),this._disposables.add(this._actionbarWidget),t||this._actionbarWidget.push(new Xu("peekview.close",w("label.close","Close"),qi.asClassName(Xt.close),!0,()=>(this.dispose(),Promise.resolve())),{label:!1,icon:!0})}_fillTitleIcon(e){}_getActionBarOptions(){return{actionViewItemProvider:HA.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,ar(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`)}};K_=xM([LM(2,ri)],K_);const hz=ut("peekViewTitle.background",{dark:"#252526",light:"#F3F3F3",hcDark:wi.black,hcLight:wi.white},w("peekViewTitleBackground","Background color of the peek view title area.")),IM=ut("peekViewTitleLabel.foreground",{dark:wi.white,light:wi.black,hcDark:wi.white,hcLight:zp},w("peekViewTitleForeground","Color of the peek view title.")),DM=ut("peekViewTitleDescription.foreground",{dark:"#ccccccb3",light:"#616161",hcDark:"#FFFFFF99",hcLight:"#292929"},w("peekViewTitleInfoForeground","Color of the peek view title info.")),uz=ut("peekView.border",{dark:Vy,light:Vy,hcDark:sl,hcLight:sl},w("peekViewBorder","Color of the peek view borders and arrow.")),gz=ut("peekViewResult.background",{dark:"#252526",light:"#F3F3F3",hcDark:wi.black,hcLight:wi.white},w("peekViewResultsBackground","Background color of the peek view result list."));ut("peekViewResult.lineForeground",{dark:"#bbbbbb",light:"#646465",hcDark:wi.white,hcLight:zp},w("peekViewResultsMatchForeground","Foreground color for line nodes in the peek view result list."));ut("peekViewResult.fileForeground",{dark:wi.white,light:"#1E1E1E",hcDark:wi.white,hcLight:zp},w("peekViewResultsFileForeground","Foreground color for file nodes in the peek view result list."));ut("peekViewResult.selectionBackground",{dark:"#3399ff33",light:"#3399ff33",hcDark:null,hcLight:null},w("peekViewResultsSelectionBackground","Background color of the selected entry in the peek view result list."));ut("peekViewResult.selectionForeground",{dark:wi.white,light:"#6C6C6C",hcDark:wi.white,hcLight:zp},w("peekViewResultsSelectionForeground","Foreground color of the selected entry in the peek view result list."));const EM=ut("peekViewEditor.background",{dark:"#001F33",light:"#F2F8FC",hcDark:wi.black,hcLight:wi.white},w("peekViewEditorBackground","Background color of the peek view editor."));ut("peekViewEditorGutter.background",EM,w("peekViewEditorGutterBackground","Background color of the gutter in the peek view editor."));ut("peekViewEditorStickyScroll.background",EM,w("peekViewEditorStickScrollBackground","Background color of sticky scroll in the peek view editor."));ut("peekViewResult.matchHighlightBackground",{dark:"#ea5c004d",light:"#ea5c004d",hcDark:null,hcLight:null},w("peekViewResultsMatchHighlight","Match highlight color in the peek view result list."));ut("peekViewEditor.matchHighlightBackground",{dark:"#ff8f0099",light:"#f5d802de",hcDark:null,hcLight:null},w("peekViewEditorMatchHighlight","Match highlight color in the peek view editor."));ut("peekViewEditor.matchHighlightBorder",{dark:null,light:null,hcDark:Yd,hcLight:Yd},w("peekViewEditorMatchHighlightBorder","Match highlight border in the peek view editor."));class _c{constructor(e,t,i,n){this.isProviderFirst=e,this.parent=t,this.link=i,this._rangeCallback=n,this.id=WA.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?w({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,La(this.uri),this.range.startLineNumber,this.range.startColumn):w("aria.oneReference","in {0} on line {1} at column {2}",La(this.uri),this.range.startLineNumber,this.range.startColumn)}}class fz{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,c=i.getWordUntilPosition({lineNumber:n,column:s-t}),h=new B(n,c.startColumn,n,s),g=new B(r,a,r,1073741824),f=i.getValueInRange(h).replace(/^\s+/,""),p=i.getValueInRange(e),v=i.getValueInRange(g).replace(/\s+$/,"");return{value:f+p+v,highlight:{start:f.length,end:f.length+p.length}}}}class np{constructor(e,t){this.parent=e,this.uri=t,this.children=[],this._previews=new uc}dispose(){Rs(this._previews.values()),this._previews.clear()}getPreview(e){return this._previews.get(e.uri)}get ariaMessage(){const e=this.children.length;return e===1?w("aria.fileReferences.1","1 symbol in {0}, full path {1}",La(this.uri),this.uri.fsPath):w("aria.fileReferences.N","{0} symbols in {1}, full path {2}",e,La(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 fz(i))}catch(i){cn(i)}return this}}class ao{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(ao._compareReferences);let n;for(const s of e)if((!n||!NL.isEqual(n.uri,s.uri,!0))&&(n=new np(this,s.uri),this.groups.push(n)),n.children.length===0||ao._compareReferences(s,n.children[n.children.length-1])!==0){const r=new _c(i===s,n,s,a=>this._onDidChangeReferenceRange.fire(a));this.references.push(r),n.children.push(r)}}dispose(){Rs(this.groups),this._onDidChangeReferenceRange.dispose(),this.groups.length=0}clone(){return new ao(this._links,this._title)}get title(){return this._title}get isEmpty(){return this.groups.length===0}get ariaMessage(){return this.isEmpty?w("aria.result.0","No results found"):this.references.length===1?w("aria.result.1","Found 1 symbol in {0}",this.references[0].uri.fsPath):this.groups.length===1?w("aria.result.n1","Found {0} symbols in {1}",this.references.length,this.groups[0].uri.fsPath):w("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:Vp(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()&&B.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 NL.compare(e.uri,t.uri)||B.compareRangesUsingStarts(e.range,t.range)}}var _w=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},vw=function(o,e){return function(t,i){e(t,i,o)}},VS;let jS=class{constructor(e){this._resolverService=e}hasChildren(e){return e instanceof ao||e instanceof np}getChildren(e){if(e instanceof ao)return e.groups;if(e instanceof np)return e.resolve(this._resolverService).then(t=>t.children);throw new Error("bad tree")}};jS=_w([vw(0,$r)],jS);class pz{getHeight(){return 23}getTemplateId(e){return e instanceof np?G_.id:Z_.id}}let US=class{constructor(e){this._keybindingService=e}getKeyboardNavigationLabel(e){var t;if(e instanceof _c){const i=(t=e.parent.getPreview(e))==null?void 0:t.preview(e.range);if(i)return i.value}return La(e.uri)}};US=_w([vw(0,is)],US);class mz{getId(e){return e instanceof _c?e.id:e.uri}}let $S=class extends ze{constructor(e,t){super(),this._labelService=t;const i=document.createElement("div");i.classList.add("reference-file"),this.file=this._register(new oE(i,{supportHighlights:!0})),this.badge=new BA(st(i,ht(".count")),{},zA),e.appendChild(i)}set(e,t){const i=x0(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(w("referencesCount","{0} references",n)):this.badge.setTitleFormat(w("referenceCount","{0} reference",n))}};$S=_w([vw(1,zf)],$S);var fd;let G_=(fd=class{constructor(e){this._instantiationService=e,this.templateId=VS.id}renderTemplate(e){return this._instantiationService.createInstance($S,e)}renderElement(e,t,i){i.set(e.element,qb(e.filterData))}disposeTemplate(e){e.dispose()}},VS=fd,fd.id="FileReferencesRenderer",fd);G_=VS=_w([vw(0,ri)],G_);class _z extends ze{constructor(e){super(),this.label=this._register(new VA(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(`${La(e.uri)}:${e.range.startLineNumber+1}:${e.range.startColumn+1}`);else{const{value:s,highlight:r}=i;t&&!Vf.isDefault(t)?(this.label.element.classList.toggle("referenceMatch",!1),this.label.set(s,qb(t))):(this.label.element.classList.toggle("referenceMatch",!0),this.label.set(s,[r]))}}}const Jv=class Jv{constructor(){this.templateId=Jv.id}renderTemplate(e){return new _z(e)}renderElement(e,t,i){i.set(e.element,e.filterData)}disposeTemplate(e){e.dispose()}};Jv.id="OneReferenceRenderer";let Z_=Jv;class vz{getWidgetAriaLabel(){return w("treeAriaLabel","References")}getAriaLabel(e){return e.ariaMessage}}var bz=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Hh=function(o,e){return function(t,i){e(t,i,o)}};const Qv=class Qv{constructor(e,t){this._editor=e,this._model=t,this._decorations=new Map,this._decorationIgnoreSet=new Set,this._callOnDispose=new He,this._callOnModelChange=new He,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:Qv.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(!B.equalsRange(s,n.range)){if(B.spansMultipleLines(s))r=!0;else{const a=n.range.endColumn-n.range.startColumn,c=s.endColumn-s.startColumn;a!==c&&(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()}};Qv.DecorationOptions=Ci.register({description:"reference-decoration",stickiness:1,className:"reference-decoration"});let qS=Qv;class wz{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 yz extends $A{}let KS=class extends K_{constructor(e,t,i,n,s,r,a,c,h){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=c,this._keybindingService=h,this._disposeOnNewModel=new He,this._callOnDispose=new He,this._onDidSelectReference=new gi,this.onDidSelectReference=this._onDidSelectReference.event,this._dim=new hn(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(),Rs(this._preview),Rs(this._previewNotAvailableMessage),Rs(this._tree),Rs(this._previewModelReference),this._splitView.dispose(),super.dispose()}_applyTheme(e){const t=e.getColor(uz)||wi.transparent;this.style({arrowColor:t,frameColor:t,headerBackgroundColor:e.getColor(hz)||wi.transparent,primaryHeadingColor:e.getColor(IM),secondaryHeadingColor:e.getColor(DM)})}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=st(e,ht("div.messages")),wo(this._messageContainer),this._splitView=new jA(e,{orientation:1}),this._previewContainer=st(e,ht("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(pr,this._previewContainer,t,{},this.editor),wo(this._previewContainer),this._previewNotAvailableMessage=this._instantiationService.createInstance(Hl,w("missingPreviewMessage","no preview available"),jf,Hl.DEFAULT_CREATION_OPTIONS,null),this._treeContainer=st(e,ht("div.ref-tree.inline"));const i={keyboardSupport:this._defaultTreeKeyboardSupport,accessibilityProvider:new vz,keyboardNavigationLabelProvider:this._instantiationService.createInstance(US),identityProvider:new mz,openOnSingleClick:!0,selectionNavigation:!0,overrideStyles:{listBackground:gz}};this._defaultTreeKeyboardSupport&&this._callOnDispose.add(ol(this._treeContainer,"keydown",s=>{s.equals(9)&&(this._keybindingService.dispatchEvent(s,s.target),s.stopPropagation())},!0)),this._tree=this._instantiationService.createInstance(yz,"ReferencesWidget",this._treeContainer,new pz,[this._instantiationService.createInstance(G_),this._instantiationService.createInstance(Z_)],this._instantiationService.createInstance(jS),i),this._splitView.addView({onDidChange:cs.None,element:this._previewContainer,minimumSize:200,maximumSize:Number.MAX_VALUE,layout:s=>{this._preview.layout({height:this._dim.height,width:s})}},RL.Distribute),this._splitView.addView({onDidChange:cs.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)}},RL.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 _c&&(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 hn(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=w("noResults","No results"),ar(this._messageContainer),Promise.resolve(void 0)):(wo(this._messageContainer),this._decorationsManager=new qS(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"),ar(this._treeContainer),ar(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 _c)return e;if(e instanceof np&&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!==js.inMemory?this.setTitle(UA(e.uri),this._uriLabel.getUriLabel(x0(e.uri))):this.setTitle(w("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}Rs(this._previewModelReference);const s=n.object;if(s){const r=this._preview.getModel()===s.textEditorModel?0:1,a=B.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()}};KS=bz([Hh(3,mr),Hh(4,$r),Hh(5,ri),Hh(6,kM),Hh(7,zf),Hh(8,is)],KS);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},Wh=function(o,e){return function(t,i){e(t,i,o)}},c_;const Ch=new Di("referenceSearchVisible",!1,w("referenceSearchVisible","Whether reference peek is visible, like 'Peek References' or 'Peek Definition'"));var pd;let ch=(pd=class{static get(e){return e.getContribution(c_.ID)}constructor(e,t,i,n,s,r,a,c){this._defaultTreeKeyboardSupport=e,this._editor=t,this._editorService=n,this._notificationService=s,this._instantiationService=r,this._storageService=a,this._configurationService=c,this._disposables=new He,this._requestIdPool=0,this._ignoreModelChangeEvent=!1,this._referenceSearchVisible=Ch.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=wz.fromJSON(this._storageService.get(s,0,"{}"));this._widget=this._instantiationService.createInstance(KS,this._editor,this._defaultTreeKeyboardSupport,r),this._widget.setTitle(w("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(c=>{const{element:h,kind:g}=c;if(h)switch(g){case"open":(c.source!=="editor"||!this._configurationService.getValue("editor.stablePeek"))&&this.openReference(h,!1,!1);break;case"side":this.openReference(h,!0,!1);break;case"goto":i?this._gotoReference(h,!0):this.openReference(h,!1,!0);break}}));const a=++this._requestIdPool;t.then(c=>{var h;if(a!==this._requestIdPool||!this._widget){c.dispose();return}return(h=this._model)==null||h.dispose(),this._model=c,this._widget.setModel(this._model).then(()=>{if(this._widget&&this._model&&this._editor.hasModel()){this._model.isEmpty?this._widget.setMetaTitle(""):this._widget.setMetaTitle(w("metaTitle.N","{0} ({1})",this._model.title,this._model.references.length));const g=this._editor.getModel().uri,f=new yt(e.startLineNumber,e.startColumn),p=this._model.nearestReference(g,f);if(p)return this._widget.setSelection(p).then(()=>{this._widget&&this._editor.getOption(87)==="editor"&&this._widget.focusOnPreviewEditor()})}})},c=>{this._notificationService.error(c)})}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=B.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=c_.get(s),a=this._model.clone();this.closeWidget(),s.focus(),r==null||r.toggleWidget(i,ms(c=>Promise.resolve(a)),this._peekMode??!1)}},s=>{this._ignoreModelChangeEvent=!1,cn(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)}},c_=pd,pd.ID="editor.contrib.referencesController",pd);ch=c_=Sz([Wh(2,Fi),Wh(3,Jn),Wh(4,Bs),Wh(5,ri),Wh(6,Sc),Wh(7,Sn)],ch);function xh(o,e){const t=cz(o);if(!t)return;const i=ch.get(t);i&&e(i)}Da.registerCommandAndKeybindingRule({id:"togglePeekWidgetFocus",weight:100,primary:ts(2089,60),when:oe.or(Ch,Ks.inPeekEditor),handler(o){xh(o,e=>{e.changeFocusBetweenPreviewAndReferences()})}});Da.registerCommandAndKeybindingRule({id:"goToNextReference",weight:90,primary:62,secondary:[70],when:oe.or(Ch,Ks.inPeekEditor),handler(o){xh(o,e=>{e.goToNextOrPreviousReference(!0)})}});Da.registerCommandAndKeybindingRule({id:"goToPreviousReference",weight:90,primary:1086,secondary:[1094],when:oe.or(Ch,Ks.inPeekEditor),handler(o){xh(o,e=>{e.goToNextOrPreviousReference(!1)})}});fn.registerCommandAlias("goToNextReferenceFromEmbeddedEditor","goToNextReference");fn.registerCommandAlias("goToPreviousReferenceFromEmbeddedEditor","goToPreviousReference");fn.registerCommandAlias("closeReferenceSearchEditor","closeReferenceSearch");fn.registerCommand("closeReferenceSearch",o=>xh(o,e=>e.closeWidget()));Da.registerKeybindingRule({id:"closeReferenceSearch",weight:-1,primary:9,secondary:[1033],when:oe.and(Ks.inPeekEditor,oe.not("config.editor.stablePeek"))});Da.registerKeybindingRule({id:"closeReferenceSearch",weight:250,primary:9,secondary:[1033],when:oe.and(Ch,oe.not("config.editor.stablePeek"),oe.or(M.editorTextFocus,qA.negate()))});Da.registerCommandAndKeybindingRule({id:"revealReference",weight:200,primary:3,mac:{primary:3,secondary:[2066]},when:oe.and(Ch,rE,aE.negate(),lE.negate()),handler(o){var i;const t=(i=o.get(L0).lastFocusedList)==null?void 0:i.getFocus();Array.isArray(t)&&t[0]instanceof _c&&xh(o,n=>n.revealReference(t[0]))}});Da.registerCommandAndKeybindingRule({id:"openReferenceToSide",weight:100,primary:2051,mac:{primary:259},when:oe.and(Ch,rE,aE.negate(),lE.negate()),handler(o){var i;const t=(i=o.get(L0).lastFocusedList)==null?void 0:i.getFocus();Array.isArray(t)&&t[0]instanceof _c&&xh(o,n=>n.openReference(t[0],!0,!0))}});fn.registerCommand("openReference",o=>{var i;const t=(i=o.get(L0).lastFocusedList)==null?void 0:i.getFocus();Array.isArray(t)&&t[0]instanceof _c&&xh(o,n=>n.openReference(t[0],!1,!0))});var PM=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},nf=function(o,e){return function(t,i){e(t,i,o)}};const u1=new Di("hasSymbols",!1,w("hasSymbols","Whether there are symbol locations that can be navigated via keyboard-only.")),bw=fl("ISymbolNavigationService");let GS=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=u1.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 ZS(this._editorService),n=i.onDidChange(s=>{if(this._ignoreEditorChange)return;const r=this._editorService.getActiveCodeEditor();if(!r)return;const a=r.getModel(),c=r.getPosition();if(!a||!c)return;let h=!1,g=!1;for(const f of t.references)if(S_(f.uri,a.uri))h=!0,g=g||B.containsPosition(f.range,c);else if(h)break;(!h||!g)&&this.reset()});this._currentState=cE(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:B.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?w("location.kb","Symbol {0} of {1}, {2} for next",this._currentIdx+1,this._currentModel.references.length,e.getLabel()):w("location","Symbol {0} of {1}",this._currentIdx+1,this._currentModel.references.length);this._currentMessage=this._notificationService.status(t)}};GS=PM([nf(0,Fi),nf(1,Jn),nf(2,Bs),nf(3,is)],GS);pl(bw,GS,1);Lt(new class extends Xs{constructor(){super({id:"editor.gotoNextSymbolFromResult",precondition:u1,kbOpts:{weight:100,primary:70}})}runEditorCommand(o,e){return o.get(bw).revealNext(e)}});Da.registerCommandAndKeybindingRule({id:"editor.gotoNextSymbolFromResult.cancel",weight:100,when:u1,primary:9,handler(o){o.get(bw).reset()}});let ZS=class{constructor(e){this._listener=new Map,this._disposables=new He,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(),Rs(this._listener.values())}_onDidAddEditor(e){this._listener.set(e,cE(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)}};ZS=PM([nf(0,Jn)],ZS);function XS(o,e){return e.uri.scheme===o.uri.scheme?!0:!KA(e.uri,js.walkThroughSnippet,js.vscodeChatCodeBlock,js.vscodeChatCodeCompareBlock)}async function Qp(o,e,t,i,n){const r=t.ordered(o,i).map(c=>Promise.resolve(n(c,o,e)).then(void 0,h=>{Yn(h)})),a=await Promise.all(r);return nl(a.flat()).filter(c=>XS(o,c))}function em(o,e,t,i,n){return Qp(e,t,o,i,(s,r,a)=>s.provideDefinition(r,a,n))}function g1(o,e,t,i,n){return Qp(e,t,o,i,(s,r,a)=>s.provideDeclaration(r,a,n))}function f1(o,e,t,i,n){return Qp(e,t,o,i,(s,r,a)=>s.provideImplementation(r,a,n))}function p1(o,e,t,i,n){return Qp(e,t,o,i,(s,r,a)=>s.provideTypeDefinition(r,a,n))}function tm(o,e,t,i,n,s){return Qp(e,t,o,n,async(r,a,c)=>{var f,p;const h=(f=await r.provideReferences(a,c,{includeDeclaration:!0},s))==null?void 0:f.filter(v=>XS(a,v));if(!i||!h||h.length!==2)return h;const g=(p=await r.provideReferences(a,c,{includeDeclaration:!1},s))==null?void 0:p.filter(v=>XS(a,v));return g&&g.length===1?g:h})}async function Ea(o){const e=await o(),t=new ao(e,""),i=t.references.map(n=>n.link);return t.dispose(),i}Ys("_executeDefinitionProvider",(o,e,t)=>{const i=o.get(St),n=em(i.definitionProvider,e,t,!1,fi.None);return Ea(()=>n)});Ys("_executeDefinitionProvider_recursive",(o,e,t)=>{const i=o.get(St),n=em(i.definitionProvider,e,t,!0,fi.None);return Ea(()=>n)});Ys("_executeTypeDefinitionProvider",(o,e,t)=>{const i=o.get(St),n=p1(i.typeDefinitionProvider,e,t,!1,fi.None);return Ea(()=>n)});Ys("_executeTypeDefinitionProvider_recursive",(o,e,t)=>{const i=o.get(St),n=p1(i.typeDefinitionProvider,e,t,!0,fi.None);return Ea(()=>n)});Ys("_executeDeclarationProvider",(o,e,t)=>{const i=o.get(St),n=g1(i.declarationProvider,e,t,!1,fi.None);return Ea(()=>n)});Ys("_executeDeclarationProvider_recursive",(o,e,t)=>{const i=o.get(St),n=g1(i.declarationProvider,e,t,!0,fi.None);return Ea(()=>n)});Ys("_executeReferenceProvider",(o,e,t)=>{const i=o.get(St),n=tm(i.referenceProvider,e,t,!1,!1,fi.None);return Ea(()=>n)});Ys("_executeReferenceProvider_recursive",(o,e,t)=>{const i=o.get(St),n=tm(i.referenceProvider,e,t,!1,!0,fi.None);return Ea(()=>n)});Ys("_executeImplementationProvider",(o,e,t)=>{const i=o.get(St),n=f1(i.implementationProvider,e,t,!1,fi.None);return Ea(()=>n)});Ys("_executeImplementationProvider_recursive",(o,e,t)=>{const i=o.get(St),n=f1(i.implementationProvider,e,t,!0,fi.None);return Ea(()=>n)});ur.appendMenuItem(et.EditorContext,{submenu:et.EditorContextPeek,title:w("peek.submenu","Peek"),group:"navigation",order:100});class dg{static is(e){return!e||typeof e!="object"?!1:!!(e instanceof dg||yt.isIPosition(e.position)&&e.model)}constructor(e,t){this.model=e,this.position=t}}const Yo=class Yo extends Br{static all(){return Yo._allSymbolNavigationCommands.values()}static _patchConfig(e){const t={...e,f1:!0};if(t.menu)for(const i of Ya.wrap(t.menu))(i.id===et.EditorContext||i.id===et.EditorContextPeek)&&(i.when=oe.and(e.precondition,i.when));return t}constructor(e,t){super(Yo._patchConfig(t)),this.configuration=e,Yo._allSymbolNavigationCommands.set(t.id,this)}runEditorCommand(e,t,i,n){if(!t.hasModel())return Promise.resolve(void 0);const s=e.get(Bs),r=e.get(Jn),a=e.get(Np),c=e.get(bw),h=e.get(St),g=e.get(ri),f=t.getModel(),p=t.getPosition(),v=dg.is(i)?i:new dg(f,p),_=new $u(t,5),y=Tp(this._getLocationModel(h,v.model,v.position,_.token),_.token).then(async S=>{var N;if(!S||_.token.isCancellationRequested)return;gr(S.ariaMessage);let D;if(S.referenceAt(f.uri,p)){const j=this._getAlternativeCommand(t);!Yo._activeAlternativeCommands.has(j)&&Yo._allSymbolNavigationCommands.has(j)&&(D=Yo._allSymbolNavigationCommands.get(j))}const P=S.references.length;if(P===0){if(!this.configuration.muteMessage){const j=f.getWordAtPosition(p);(N=ro.get(t))==null||N.showMessage(this._getNoResultFoundMessage(j),p)}}else if(P===1&&D)Yo._activeAlternativeCommands.add(this.desc.id),g.invokeFunction(j=>D.runEditorCommand(j,t,i,n).finally(()=>{Yo._activeAlternativeCommands.delete(this.desc.id)}));else return this._onResult(r,c,t,S,n)},S=>{s.error(S)}).finally(()=>{_.dispose()});return a.showWhile(y,250),y}async _onResult(e,t,i,n,s){const r=this._getGoToPreference(i);if(!(i instanceof pr)&&(this.configuration.openInPeek||r==="peek"&&n.references.length>1))this._openInPeek(i,n,s);else{const a=n.firstReference(),c=n.references.length>1&&r==="gotoAndPeek",h=await this._openReference(i,e,a,this.configuration.openToSide,!c);c&&h?this._openInPeek(h,n,s):n.dispose(),r==="goto"&&t.put(a)}}async _openReference(e,t,i,n,s){let r;if(GA(i)&&(r=i.targetSelectionRange),r||(r=i.range),!r)return;const a=await t.openCodeEditor({resource:i.uri,options:{selection:B.collapseToStart(r),selectionRevealType:3,selectionSource:"code.jump"}},e,n);if(a){if(s){const c=a.getModel(),h=a.createDecorationsCollection([{range:r,options:{description:"symbol-navigate-action-highlight",className:"symbolHighlight"}}]);setTimeout(()=>{a.getModel()===c&&h.clear()},350)}return a}}_openInPeek(e,t,i){const n=ch.get(e);n&&e.hasModel()?n.toggleWidget(i??e.getSelection(),ms(s=>Promise.resolve(t)),this.configuration.openInPeek):t.dispose()}};Yo._allSymbolNavigationCommands=new Map,Yo._activeAlternativeCommands=new Set;let dl=Yo;class im extends dl{async _getLocationModel(e,t,i,n){return new ao(await em(e.definitionProvider,t,i,!1,n),w("def.title","Definitions"))}_getNoResultFoundMessage(e){return e&&e.word?w("noResultWord","No definition found for '{0}'",e.word):w("generic.noResults","No definition found")}_getAlternativeCommand(e){return e.getOption(58).alternativeDefinitionCommand}_getGoToPreference(e){return e.getOption(58).multipleDefinitions}}var tc;Ji((tc=class extends im{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:tc.id,title:{...vt("actions.goToDecl.label","Go to Definition"),mnemonicTitle:w({key:"miGotoDefinition",comment:["&& denotes a mnemonic"]},"Go to &&Definition")},precondition:M.hasDefinitionProvider,keybinding:[{when:M.editorTextFocus,primary:70,weight:100},{when:oe.and(M.editorTextFocus,dE),primary:2118,weight:100}],menu:[{id:et.EditorContext,group:"navigation",order:1.1},{id:et.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:2}]}),fn.registerCommandAlias("editor.action.goToDeclaration",tc.id)}},tc.id="editor.action.revealDefinition",tc));var ic;Ji((ic=class extends im{constructor(){super({openToSide:!0,openInPeek:!1,muteMessage:!1},{id:ic.id,title:vt("actions.goToDeclToSide.label","Open Definition to the Side"),precondition:oe.and(M.hasDefinitionProvider,M.isInEmbeddedEditor.toNegated()),keybinding:[{when:M.editorTextFocus,primary:ts(2089,70),weight:100},{when:oe.and(M.editorTextFocus,dE),primary:ts(2089,2118),weight:100}]}),fn.registerCommandAlias("editor.action.openDeclarationToTheSide",ic.id)}},ic.id="editor.action.revealDefinitionAside",ic));var nc;Ji((nc=class extends im{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:nc.id,title:vt("actions.previewDecl.label","Peek Definition"),precondition:oe.and(M.hasDefinitionProvider,Ks.notInPeekEditor,M.isInEmbeddedEditor.toNegated()),keybinding:{when:M.editorTextFocus,primary:582,linux:{primary:3140},weight:100},menu:{id:et.EditorContextPeek,group:"peek",order:2}}),fn.registerCommandAlias("editor.action.previewDeclaration",nc.id)}},nc.id="editor.action.peekDefinition",nc));class TM extends dl{async _getLocationModel(e,t,i,n){return new ao(await g1(e.declarationProvider,t,i,!1,n),w("decl.title","Declarations"))}_getNoResultFoundMessage(e){return e&&e.word?w("decl.noResultWord","No declaration found for '{0}'",e.word):w("decl.generic.noResults","No declaration found")}_getAlternativeCommand(e){return e.getOption(58).alternativeDeclarationCommand}_getGoToPreference(e){return e.getOption(58).multipleDeclarations}}var md;Ji((md=class extends TM{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:md.id,title:{...vt("actions.goToDeclaration.label","Go to Declaration"),mnemonicTitle:w({key:"miGotoDeclaration",comment:["&& denotes a mnemonic"]},"Go to &&Declaration")},precondition:oe.and(M.hasDeclarationProvider,M.isInEmbeddedEditor.toNegated()),menu:[{id:et.EditorContext,group:"navigation",order:1.3},{id:et.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:3}]})}_getNoResultFoundMessage(e){return e&&e.word?w("decl.noResultWord","No declaration found for '{0}'",e.word):w("decl.generic.noResults","No declaration found")}},md.id="editor.action.revealDeclaration",md));Ji(class extends TM{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:"editor.action.peekDeclaration",title:vt("actions.peekDecl.label","Peek Declaration"),precondition:oe.and(M.hasDeclarationProvider,Ks.notInPeekEditor,M.isInEmbeddedEditor.toNegated()),menu:{id:et.EditorContextPeek,group:"peek",order:3}})}});class MM extends dl{async _getLocationModel(e,t,i,n){return new ao(await p1(e.typeDefinitionProvider,t,i,!1,n),w("typedef.title","Type Definitions"))}_getNoResultFoundMessage(e){return e&&e.word?w("goToTypeDefinition.noResultWord","No type definition found for '{0}'",e.word):w("goToTypeDefinition.generic.noResults","No type definition found")}_getAlternativeCommand(e){return e.getOption(58).alternativeTypeDefinitionCommand}_getGoToPreference(e){return e.getOption(58).multipleTypeDefinitions}}var _d;Ji((_d=class extends MM{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:_d.ID,title:{...vt("actions.goToTypeDefinition.label","Go to Type Definition"),mnemonicTitle:w({key:"miGotoTypeDefinition",comment:["&& denotes a mnemonic"]},"Go to &&Type Definition")},precondition:M.hasTypeDefinitionProvider,keybinding:{when:M.editorTextFocus,primary:0,weight:100},menu:[{id:et.EditorContext,group:"navigation",order:1.4},{id:et.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:3}]})}},_d.ID="editor.action.goToTypeDefinition",_d));var vd;Ji((vd=class extends MM{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:vd.ID,title:vt("actions.peekTypeDefinition.label","Peek Type Definition"),precondition:oe.and(M.hasTypeDefinitionProvider,Ks.notInPeekEditor,M.isInEmbeddedEditor.toNegated()),menu:{id:et.EditorContextPeek,group:"peek",order:4}})}},vd.ID="editor.action.peekTypeDefinition",vd));class NM extends dl{async _getLocationModel(e,t,i,n){return new ao(await f1(e.implementationProvider,t,i,!1,n),w("impl.title","Implementations"))}_getNoResultFoundMessage(e){return e&&e.word?w("goToImplementation.noResultWord","No implementation found for '{0}'",e.word):w("goToImplementation.generic.noResults","No implementation found")}_getAlternativeCommand(e){return e.getOption(58).alternativeImplementationCommand}_getGoToPreference(e){return e.getOption(58).multipleImplementations}}var bd;Ji((bd=class extends NM{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:bd.ID,title:{...vt("actions.goToImplementation.label","Go to Implementations"),mnemonicTitle:w({key:"miGotoImplementation",comment:["&& denotes a mnemonic"]},"Go to &&Implementations")},precondition:M.hasImplementationProvider,keybinding:{when:M.editorTextFocus,primary:2118,weight:100},menu:[{id:et.EditorContext,group:"navigation",order:1.45},{id:et.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:4}]})}},bd.ID="editor.action.goToImplementation",bd));var wd;Ji((wd=class extends NM{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:wd.ID,title:vt("actions.peekImplementation.label","Peek Implementations"),precondition:oe.and(M.hasImplementationProvider,Ks.notInPeekEditor,M.isInEmbeddedEditor.toNegated()),keybinding:{when:M.editorTextFocus,primary:3142,weight:100},menu:{id:et.EditorContextPeek,group:"peek",order:5}})}},wd.ID="editor.action.peekImplementation",wd));class RM extends dl{_getNoResultFoundMessage(e){return e?w("references.no","No references found for '{0}'",e.word):w("references.noGeneric","No references found")}_getAlternativeCommand(e){return e.getOption(58).alternativeReferenceCommand}_getGoToPreference(e){return e.getOption(58).multipleReferences}}Ji(class extends RM{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:"editor.action.goToReferences",title:{...vt("goToReferences.label","Go to References"),mnemonicTitle:w({key:"miGotoReference",comment:["&& denotes a mnemonic"]},"Go to &&References")},precondition:oe.and(M.hasReferenceProvider,Ks.notInPeekEditor,M.isInEmbeddedEditor.toNegated()),keybinding:{when:M.editorTextFocus,primary:1094,weight:100},menu:[{id:et.EditorContext,group:"navigation",order:1.45},{id:et.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:5}]})}async _getLocationModel(e,t,i,n){return new ao(await tm(e.referenceProvider,t,i,!0,!1,n),w("ref.title","References"))}});Ji(class extends RM{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:"editor.action.referenceSearch.trigger",title:vt("references.action.label","Peek References"),precondition:oe.and(M.hasReferenceProvider,Ks.notInPeekEditor,M.isInEmbeddedEditor.toNegated()),menu:{id:et.EditorContextPeek,group:"peek",order:6}})}async _getLocationModel(e,t,i,n){return new ao(await tm(e.referenceProvider,t,i,!1,!1,n),w("ref.title","References"))}});class Cz extends dl{constructor(e,t,i){super(e,{id:"editor.action.goToLocation",title:vt("label.generic","Go to Any Symbol"),precondition:oe.and(Ks.notInPeekEditor,M.isInEmbeddedEditor.toNegated())}),this._references=t,this._gotoMultipleBehaviour=i}async _getLocationModel(e,t,i,n){return new ao(this._references,w("generic.title","Locations"))}_getNoResultFoundMessage(e){return e&&w("generic.noResult","No results for '{0}'",e.word)||""}_getGoToPreference(e){return this._gotoMultipleBehaviour??e.getOption(58).multipleReferences}_getAlternativeCommand(){return""}}fn.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:sn},{name:"position",description:"The position at which to start",constraint:yt.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)=>{ji(sn.isUri(e)),ji(yt.isIPosition(t)),ji(Array.isArray(i)),ji(typeof n>"u"||typeof n=="string"),ji(typeof r>"u"||typeof r=="boolean");const a=o.get(Jn),c=await a.openCodeEditor({resource:e},a.getFocusedCodeEditor());if(hE(c))return c.setPosition(t),c.revealPositionInCenterIfOutsideViewport(t,0),c.invokeWithinContext(h=>{const g=new class extends Cz{_getNoResultFoundMessage(f){return s||super._getNoResultFoundMessage(f)}}({muteMessage:!s,openInPeek:!!r,openToSide:!1},i,n);h.get(ri).invokeFunction(g.run.bind(g),c)})}});fn.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:sn},{name:"position",description:"The position at which to start",constraint:yt.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(fs).executeCommand("editor.action.goToLocations",e,t,i,n,void 0,!0)}});fn.registerCommand({id:"editor.action.findReferences",handler:(o,e,t)=>{ji(sn.isUri(e)),ji(yt.isIPosition(t));const i=o.get(St),n=o.get(Jn);return n.openCodeEditor({resource:e},n.getFocusedCodeEditor()).then(s=>{if(!hE(s)||!s.hasModel())return;const r=ch.get(s);if(!r)return;const a=ms(h=>tm(i.referenceProvider,s.getModel(),yt.lift(t),!1,!1,h).then(g=>new ao(g,w("ref.title","References")))),c=new B(t.lineNumber,t.column,t.lineNumber,t.column);return Promise.resolve(r.toggleWidget(c,a,!1))})}});fn.registerCommandAlias("editor.action.showReferences","editor.action.peekLocations");async function xz(o,e,t,i){const n=o.get($r),s=o.get(yg),r=o.get(fs),a=o.get(ri),c=o.get(Bs);if(await i.item.resolve(fi.None),!i.part.location)return;const h=i.part.location,g=[],f=new Set(ur.getMenuItems(et.EditorContext).map(v=>ZA(v)?v.command.id:hw()));for(const v of dl.all())f.has(v.desc.id)&&g.push(new Xu(v.desc.id,Yu.label(v.desc,{renderShortTitle:!0}),void 0,!0,async()=>{const _=await n.createModelReference(h.uri);try{const y=new dg(_.object.textEditorModel,B.getStartPosition(h.range)),S=i.item.anchor.range;await a.invokeFunction(v.runEditorCommand.bind(v),e,y,S)}finally{_.dispose()}}));if(i.part.command){const{command:v}=i.part;g.push(new Wf),g.push(new Xu(v.id,v.title,void 0,!0,async()=>{try{await r.executeCommand(v.id,...v.arguments??[])}catch(_){c.notify({severity:k0.Error,source:i.item.provider.displayName,message:_})}}))}const p=e.getOption(128);s.showContextMenu({domForShadowRoot:p?e.getDomNode()??void 0:void 0,getAnchor:()=>{const v=qs(t);return{x:v.left,y:v.top+v.height+8}},getActions:()=>g,onHide:()=>{e.focus()},autoSelectFirstItem:!0})}async function AM(o,e,t,i){const s=await o.get($r).createModelReference(i.uri);await t.invokeWithinContext(async r=>{const a=e.hasSideBySideModifier,c=r.get(Fi),h=Ks.inPeekEditor.getValue(c),g=!a&&t.getOption(89)&&!h;return new im({openToSide:a,openInPeek:g,muteMessage:!0},{title:{value:"",original:""},id:"",precondition:void 0}).run(r,new dg(s.object.textEditorModel,B.getStartPosition(i.range)),B.lift(i.range))}),s.dispose()}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},Bh=function(o,e){return function(t,i){e(t,i,o)}},eu;class X_{constructor(){this._entries=new Ap(50)}get(e){const t=X_._key(e);return this._entries.get(t)}set(e,t){const i=X_._key(e);this._entries.set(i,t)}static _key(e){return`${e.uri.toString()}/${e.getVersionId()}`}}const OM=fl("IInlayHintsCache");pl(OM,X_,1);class YS{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 kz{constructor(e,t){this.part=e,this.hasTriggerModifier=t}}var Xa;let sp=(Xa=class{static get(e){return e.getContribution(eu.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 He,this._sessionDisposables=new He,this._decorationsMetadata=new Map,this._ruleFactory=new YD(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(c=>{c.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,c;e.enabled==="onUnlessPressed"?(a=0,c=1):(a=1,c=0),this._activeRenderMode=a,this._sessionDisposables.add(XA.getInstance().event(h=>{if(!this._editor.hasModel())return;const g=h.altKey&&h.ctrlKey&&!(h.shiftKey||h.metaKey)?c:a;if(g!==this._activeRenderMode){this._activeRenderMode=g;const f=this._editor.getModel(),p=this._copyInlayHintsWithCurrentAnchor(f);this._updateHintsDecorators([f.getFullModelRange()],p),r.schedule(0)}}))}const i=this._inlayHintsCache.get(t);i&&this._updateHintsDecorators([t.getFullModelRange()],i),this._sessionDisposables.add(wn(()=>{t.isDisposed()||this._cacheHintsForFastRestore(t)}));let n;const s=new Set,r=new ds(async()=>{const a=Date.now();n==null||n.dispose(!0),n=new _s;const c=t.onWillDispose(()=>n==null?void 0:n.cancel());try{const h=n.token,g=await $_.create(this._languageFeaturesService.inlayHintsProvider,t,this._getHintsRanges(),h);if(r.delay=this._debounceInfo.update(t,Date.now()-a),h.isCancellationRequested){g.dispose();return}for(const f of g.provider)typeof f.onDidChangeInlayHints=="function"&&!s.has(f)&&(s.add(f),this._sessionDisposables.add(f.onDidChangeInlayHints(()=>{r.isScheduled()||r.schedule()})));this._sessionDisposables.add(g),this._updateHintsDecorators(g.ranges,g.items),this._cacheHintsForFastRestore(t)}catch(h){cn(h)}finally{n.dispose(),c.dispose()}},this._debounceInfo.get(t));this._sessionDisposables.add(r),this._sessionDisposables.add(wn(()=>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 c=Math.max(r.delay,1250);r.schedule(c)})),this._sessionDisposables.add(this._installDblClickGesture(()=>r.schedule(0))),this._sessionDisposables.add(this._installLinkGesture()),this._sessionDisposables.add(this._installContextMenu())}_installLinkGesture(){const e=new He,t=e.add(new mw(this._editor)),i=new He;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 c=new _s;i.add(wn(()=>c.dispose(!0))),r.item.resolve(c.token),this._activeInlayHintPart=r.part.command||r.part.location?new kz(r,s.hasTriggerModifier):void 0;const h=a.validatePosition(r.item.hint.position).lineNumber,g=new B(h,1,h,a.getLineMaxColumn(h)),f=this._getInlineHintsForRange(g);this._updateHintsDecorators([g],f),i.add(wn(()=>{this._activeInlayHintPart=void 0,this._updateHintsDecorators([g],f)}))})),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(AM,n,this._editor,r.location):YA.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(fi.None),Co(i.item.hint.textEdits))){const n=i.item.hint.textEdits.map(s=>jn.replace(B.lift(s.range),s.text));this._editor.executeEdits("inlayHint.default",n),e()}})}_installContextMenu(){return this._editor.onContextMenu(async e=>{if(!JA(e.event.target))return;const t=this._getInlayHintLabelPart(e);t&&await this._instaService.invokeFunction(xz,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 I0&&(t==null?void 0:t.attachedData)instanceof YS)return t.attachedData}async _invokeCommand(e,t){try{await this._commandService.executeCommand(e.id,...e.arguments??[])}catch(i){this._notificationService.notify({severity:k0.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 CM(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(B.compareRangesUsingStarts)){const r=t.validateRange(new B(s.startLineNumber-30,s.startColumn,s.endLineNumber+30,s.endColumn));n.length===0||!B.areIntersectingOrTouching(n[n.length-1],r)?n.push(r):n[n.length-1]=B.plusRange(n[n.length-1],r)}return n}_updateHintsDecorators(e,t){var _,y;const i=[],n=(S,D,P,N,j)=>{const H={content:P,inlineClassNameAffectsLetterSpacing:!0,inlineClassName:D.className,cursorStops:N,attachedData:j};i.push({item:S,classNameRef:D,decoration:{range:S.anchor.range,options:{description:"InlayHint",showIfCollapsed:S.anchor.range.isEmpty(),collapseOnReplaceEdit:!S.anchor.range.isEmpty(),stickiness:0,[S.anchor.direction]:this._activeRenderMode===0?H:void 0}}})},s=(S,D)=>{const P=this._ruleFactory.createClassNameRef({width:`${r/3|0}px`,display:"inline-block"});n(S,P," ",D?ou.Right:ou.None)},{fontSize:r,fontFamily:a,padding:c,isUniform:h}=this._getLayoutInfo(),g="--code-editorInlayHintsFontFamily";this._editor.getContainerDomNode().style.setProperty(g,a);let f={line:0,totalLen:0};for(const S of t){if(f.line!==S.anchor.range.startLineNumber&&(f={line:S.anchor.range.startLineNumber,totalLen:0}),f.totalLen>eu._MAX_LABEL_LEN)continue;S.hint.paddingLeft&&s(S,!1);const D=typeof S.hint.label=="string"?[{label:S.hint.label}]:S.hint.label;for(let P=0;P<D.length;P++){const N=D[P],j=P===0,H=P===D.length-1,ee={fontSize:`${r}px`,fontFamily:`var(${g}), ${y0.fontFamily}`,verticalAlign:h?"baseline":"middle",unicodeBidi:"isolate"};Co(S.hint.textEdits)&&(ee.cursor="default"),this._fillInColors(ee,S.hint),(N.command||N.location)&&((_=this._activeInlayHintPart)==null?void 0:_.part.item)===S&&this._activeInlayHintPart.part.index===P&&(ee.textDecoration="underline",this._activeInlayHintPart.hasTriggerModifier&&(ee.color=as(QA),ee.cursor="pointer")),c&&(j&&H?(ee.padding=`1px ${Math.max(1,r/4)|0}px`,ee.borderRadius=`${r/4|0}px`):j?(ee.padding=`1px 0 1px ${Math.max(1,r/4)|0}px`,ee.borderRadius=`${r/4|0}px 0 0 ${r/4|0}px`):H?(ee.padding=`1px ${Math.max(1,r/4)|0}px 1px 0`,ee.borderRadius=`0 ${r/4|0}px ${r/4|0}px 0`):ee.padding="1px 0 1px 0");let X=N.label;f.totalLen+=X.length;let pe=!1;const be=f.totalLen-eu._MAX_LABEL_LEN;if(be>0&&(X=X.slice(0,-be)+"…",pe=!0),n(S,this._ruleFactory.createClassNameRef(ee),Iz(X),H&&!S.hint.paddingRight?ou.Right:ou.None,new YS(S,P)),pe)break}if(S.hint.paddingRight&&s(S,!0),i.length>eu._MAX_DECORATORS)break}const p=[];for(const[S,D]of this._decorationsMetadata){const P=(y=this._editor.getModel())==null?void 0:y.getDecorationRange(S);P&&e.some(N=>N.containsRange(P))&&(p.push(S),D.classNameRef.dispose(),this._decorationsMetadata.delete(S))}const v=Gu.capture(this._editor);this._editor.changeDecorations(S=>{const D=S.deltaDecorations(p,i.map(P=>P.decoration));for(let P=0;P<D.length;P++){const N=i[P];this._decorationsMetadata.set(D[P],N)}}),v.restore(this._editor)}_fillInColors(e,t){t.kind===AL.Parameter?(e.backgroundColor=as(eO),e.color=as(tO)):t.kind===AL.Type?(e.backgroundColor=as(iO),e.color=as(nO)):(e.backgroundColor=as(sO),e.color=as(oO))}_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()}},eu=Xa,Xa.ID="editor.contrib.InlayHints",Xa._MAX_DECORATORS=1500,Xa._MAX_LABEL_LEN=43,Xa);sp=eu=Lz([Bh(1,St),Bh(2,Vo),Bh(3,OM),Bh(4,fs),Bh(5,Bs),Bh(6,ri)],sp);function Iz(o){return o.replace(/[ \t]/g," ")}fn.registerCommand("_executeInlayHintProvider",async(o,...e)=>{const[t,i]=e;ji(sn.isUri(t)),ji(B.isIRange(i));const{inlayHintsProvider:n}=o.get(St),s=await o.get($r).createModelReference(t);try{const r=await $_.create(n,s.object.textEditorModel,[B.lift(i)],fi.None),a=r.items.map(c=>c.hint);return setTimeout(()=>r.dispose(),0),a}finally{s.dispose()}});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},xl=function(o,e){return function(t,i){e(t,i,o)}};class jk extends r_{constructor(e,t,i,n){super(10,t,e.item.anchor.range,i,n,!0),this.part=e}}let Y_=class extends ip{constructor(e,t,i,n,s,r,a,c,h){super(e,t,i,r,c,n,s,h),this._resolverService=a,this.hoverOrdinal=6}suggestHoverAnchor(e){var n;if(!sp.get(this._editor)||e.target.type!==6)return null;const i=(n=e.target.detail.injectedText)==null?void 0:n.options;return i instanceof I0&&i.attachedData instanceof YS?new jk(i.attachedData,this,e.event.posx,e.event.posy):null}computeSync(){return[]}computeAsync(e,t,i){return e instanceof jk?new Ar(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 Ms().appendText(s.item.hint.tooltip):s.item.hint.tooltip&&(r=s.item.hint.tooltip),r&&n.emitOne(new lr(this,e.range,[r],!1,0)),Co(s.item.hint.textEdits)&&n.emitOne(new lr(this,e.range,[new Ms().appendText(w("hint.dbl","Double-click to insert"))],!1,10001));let a;if(typeof s.part.tooltip=="string"?a=new Ms().appendText(s.part.tooltip):s.part.tooltip&&(a=s.part.tooltip),a&&n.emitOne(new lr(this,e.range,[a],!1,1)),s.part.location||s.part.command){let h;const f=this._editor.getOption(78)==="altKey"?xa?w("links.navigate.kb.meta.mac","cmd + click"):w("links.navigate.kb.meta","ctrl + click"):xa?w("links.navigate.kb.alt.mac","option + click"):w("links.navigate.kb.alt","alt + click");s.part.location&&s.part.command?h=new Ms().appendText(w("hint.defAndCommand","Go to Definition ({0}), right click for more",f)):s.part.location?h=new Ms().appendText(w("hint.def","Go to Definition ({0})",f)):s.part.command&&(h=new Ms(`[${w("hint.cmd","Execute Command")}](${iz(s.part.command)} "${s.part.command.title}") (${f})`,{isTrusted:!0})),h&&n.emitOne(new lr(this,e.range,[h],!1,1e4))}const c=await this._resolveInlayHintLabelPartHover(s,i);for await(const h of c)n.emitOne(h)}):Ar.EMPTY}async _resolveInlayHintLabelPartHover(e,t){if(!e.part.location)return Ar.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)?d1(this._languageFeaturesService.hoverProvider,r,new yt(n.startLineNumber,n.startColumn),t).filter(a=>!Bf(a.hover.contents)).map(a=>new lr(this,e.item.anchor.range,a.hover.contents,!1,2+a.ordinal)):Ar.EMPTY}finally{s.dispose()}}};Y_=Dz([xl(1,Ur),xl(2,Vr),xl(3,is),xl(4,Wp),xl(5,Sn),xl(6,$r),xl(7,St),xl(8,fs)],Y_);class m1 extends ze{constructor(e,t,i,n,s,r){super();const a=t.anchor,c=t.hoverParts;this._renderedHoverParts=this._register(new JS(e,i,c,r,s));const{showAtPosition:h,showAtSecondaryPosition:g}=m1.computeHoverPositions(e,a.range,c);this.shouldAppearBeforeContent=c.some(f=>f.isBeforeContent),this.showAtPosition=h,this.showAtSecondaryPosition=g,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 g=e._getViewModel(),f=g.coordinatesConverter,p=f.convertModelRangeToViewRange(t),v=g.getLineMinColumn(p.startLineNumber),_=new yt(p.startLineNumber,v);n=f.convertViewPositionToModelPosition(_).column}const s=t.startLineNumber;let r=t.startColumn,a;for(const g of i){const f=g.range,p=f.startLineNumber===s,v=f.endLineNumber===s;if(p&&v){const y=f.startColumn,S=Math.min(r,y);r=Math.max(S,n)}g.forceShowAtRange&&(a=f)}let c,h;if(a){const g=a.getStartPosition();c=g,h=g}else c=t.getStartPosition(),h=new yt(s,r);return{showAtPosition:c,showAtSecondaryPosition:h}}}class Ez{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 eb=class eb extends ze{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 ze.None;let i=t[0].range;for(const s of t){const r=s.range;i=B.plusRange(i,r)}const n=e.createDecorationsCollection();return n.set([{range:i,options:eb._DECORATION_OPTIONS}]),wn(()=>{n.clear()})}_renderParts(e,t,i,n){const s=new U_(n),r={fragment:this._fragment,statusBar:s,...i},a=new He;for(const h of e){const g=this._renderHoverPartsForParticipant(t,h,r);a.add(g);for(const f of g.renderedHoverParts)this._renderedParts.push({type:"hoverPart",participant:h,hoverPart:f.hoverPart,hoverElement:f.hoverElement})}const c=this._renderStatusBar(this._fragment,s);return c&&(a.add(c),this._renderedParts.push({type:"statusBar",hoverElement:c.hoverElement,actions:c.actions})),wn(()=>{a.dispose()})}_renderHoverPartsForParticipant(e,t,i){const n=e.filter(r=>r.owner===t);return n.length>0?t.renderHoverParts(i,n):new lh([])}_renderStatusBar(e,t){if(t.hasContent)return new Ez(e,t)}_registerListenersOnRenderedParts(){const e=new He;return this._renderedParts.forEach((t,i)=>{const n=t.hoverElement;n.tabIndex=0,e.add(Oi(n,Wn.FOCUS_IN,s=>{s.stopPropagation(),this._focusedHoverPartIndex=i})),e.add(Oi(n,Wn.FOCUS_OUT,s=>{s.stopPropagation(),this._focusedHoverPartIndex=-1}))}),e}_updateMarkdownAndColorParticipantInfo(e){const t=e.find(i=>i instanceof ip&&!(i instanceof Y_));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 Ju;return t-s}get domNode(){return this._fragment}get domNodeHasChildren(){return this._fragment.hasChildNodes()}get focusedHoverPartIndex(){return this._focusedHoverPartIndex}};eb._DECORATION_OPTIONS=Ci.register({description:"content-hover-highlight",className:"hoverHighlight"});let JS=eb;var Pz=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Uk=function(o,e){return function(t,i){e(t,i,o)}};let QS=class extends ze{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(WS,this._editor)),this._participants=this._initializeHoverParticipants(),this._computer=new j_(this._editor,this._participants),this._hoverOperation=this._register(new vM(this._editor,this._computer)),this._registerListeners()}_initializeHoverParticipants(){const e=[];for(const t of Sh.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 bM(this._computer.anchor,i,t.isComplete))}));const e=this._contentHoverWidget.getDomNode();this._register(ol(e,"keydown",t=>{t.equals(9)&&this.hide()})),this._register(ol(e,"mouseleave",t=>{this._onMouseLeave(t)})),this._register(Kb.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,c=s&&this._contentHoverWidget.isMouseGettingCloser(s.event.posx,s.event.posy);return a&&c?(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 m1(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 cy(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 cy(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||!pw(t,e.x,e.y))&&this.hide()}startShowingAtRange(e,t,i,n){this._startShowingOrUpdateHover(new cy(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}};QS=Pz([Uk(1,ri),Uk(2,is)],QS);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},$k=function(o,e){return function(t,i){e(t,i,o)}},eC,yd;let Ps=(yd=class extends ze{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 He,this._hoverState={mouseDown:!1,activatedByDecoratorClick:!1},this._reactToEditorMouseMoveRunner=this._register(new ds(()=>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(eC.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?pw(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 c=this._isMouseOnContentHoverWidget(r);return a&&c},n=r=>{var h;const a=this._isMouseOnContentHoverWidget(r),c=((h=this._contentWidget)==null?void 0:h.isColorPickerVisible)??!1;return a&&c},s=(r,a)=>{var c,h,g,f;return(a&&((h=this._contentWidget)==null?void 0:h.containsNode((c=r.event.browserEvent.view)==null?void 0:c.document.activeElement))&&!((f=(g=r.event.browserEvent.view)==null?void 0:g.getSelection())!=null&&f.isCollapsed))??!1};return i(e,t)||n(e)||s(e,t)}_onEditorMouseMove(e){var a,c,h,g;if(this.shouldKeepOpenOnEditorMouseMoveOrLeave||(this._mouseMoveEvent=e,(a=this._contentWidget)!=null&&a.isFocused||(c=this._contentWidget)!=null&&c.isResizing))return;const t=this._hoverSettings.sticky;if(t&&((h=this._contentWidget)!=null&&h.isVisibleFromKeyboard))return;if(this._shouldNotRecomputeCurrentHoverWidget(e)){this._reactToEditorMouseMoveRunner.cancel();return}const n=this._hoverSettings.hidingDelay;if(((g=this._contentWidget)==null?void 0:g.isVisible)&&t&&n>0){this._reactToEditorMouseMoveRunner.isScheduled()||this._reactToEditorMouseMoveRunner.schedule(n);return}this._reactToEditorMouseMove(e)}_reactToEditorMouseMove(e){var c;if(!e)return;const i=(c=e.target.element)==null?void 0:c.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===fM||t.commandId===gw||t.commandId===fw)&&((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)||cg.dropDownVisible||(this._hoverState.activatedByDecoratorClick=!1,(t=this._contentWidget)==null||t.hide())}_getOrCreateContentWidget(){return this._contentWidget||(this._contentWidget=this._instantiationService.createInstance(QS,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()}},eC=yd,yd.ID="editor.contrib.contentHover",yd);Ps=eC=Tz([$k(1,ri),$k(2,is)],Ps);const tL=class tL extends ze{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!==aM||!i.range)return;const n=this._editor.getContribution(Ps.ID);if(n&&!n.isColorPickerVisible){const s=new B(i.range.startLineNumber,i.range.startColumn+1,i.range.endLineNumber,i.range.endColumn+1);n.showContentHover(s,1,0,!1,!0)}}};tL.ID="editor.contrib.colorContribution";let J_=tL;_i(J_.ID,J_,2);Sh.register(ep);var FM=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},du=function(o,e){return function(t,i){e(t,i,o)}},tC,iC,Sd;let dh=(Sd=class extends ze{constructor(e,t,i){super(),this._editor=e,this._instantiationService=i,this._standaloneColorPickerWidget=null,this._standaloneColorPickerVisible=M.standaloneColorPickerVisible.bindTo(t),this._standaloneColorPickerFocused=M.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(nC,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(tC.ID)}},tC=Sd,Sd.ID="editor.contrib.standaloneColorPickerController",Sd);dh=tC=FM([du(1,Fi),du(2,ri)],dh);_i(dh.ID,dh,1);const qk=8,Mz=22;var Cd;let nC=(Cd=class extends ze{constructor(e,t,i,n,s,r,a){var f;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(tp,this._editor),this._position=(f=this._editor._getViewModel())==null?void 0:f.getPrimaryCursorState().modelState.position;const c=this._editor.getSelection(),h=c?{startLineNumber:c.startLineNumber,startColumn:c.startColumn,endLineNumber:c.endLineNumber,endColumn:c.endColumn}:{startLineNumber:0,endLineNumber:0,endColumn:0,startColumn:0},g=this._register(qu(this._body));this._register(g.onDidBlur(p=>{this.hide()})),this._register(g.onDidFocus(p=>{this.focus()})),this._register(this._editor.onDidChangeCursorPosition(()=>{this._selectionSetInEditor?this._selectionSetInEditor=!1:this.hide()})),this._register(this._editor.onMouseMove(p=>{var _;const v=(_=p.target.element)==null?void 0:_.classList;v&&v.contains("colorpicker-color-decoration")&&this.hide()})),this._register(this.onResult(p=>{this._render(p.value,p.foundInEditor)})),this._start(h),this._body.style.zIndex="50",this._editor.addContentWidget(this)}updateEditor(){this._colorHover&&this._standaloneColorPickerParticipant.updateEditorModel(this._colorHover)}getId(){return iC.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 Nz(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 Qf(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 U_(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 c=a.body,h=c.saturationBox.domNode.clientWidth,g=c.domNode.clientWidth-h-Mz-qk,f=a.body.enterButton;f==null||f.onClicked(()=>{this.updateEditor(),this.hide()});const p=a.header,v=p.pickedColorNode;v.style.width=h+qk+"px";const _=p.originalColorNode;_.style.width=g+"px";const y=a.header.closeButton;y==null||y.onClicked(()=>{this.hide()}),t&&(f&&(f.button.textContent="Replace"),this._selectionSetInEditor=!0,this._editor.setSelection(e.range)),this._editor.layoutContentWidget(this)}},iC=Cd,Cd.ID="editor.contrib.standaloneColorPickerWidget",Cd);nC=iC=FM([du(3,ri),du(4,is),du(5,St),du(6,ml)],nC);class Nz{constructor(e,t){this.value=e,this.foundInEditor=t}}class Rz extends Br{constructor(){super({id:"editor.action.showOrFocusStandaloneColorPicker",title:{...vt("showOrFocusStandaloneColorPicker","Show or Focus Standalone Color Picker"),mnemonicTitle:w({key:"mishowOrFocusStandaloneColorPicker",comment:["&& denotes a mnemonic"]},"&&Show or Focus Standalone Color Picker")},precondition:void 0,menu:[{id:et.CommandPalette}],metadata:{description:vt("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=dh.get(t))==null||i.showOrFocus()}}class Az extends we{constructor(){super({id:"editor.action.hideColorPicker",label:w({key:"hideColorPicker",comment:["Action that hides the color picker"]},"Hide the Color Picker"),alias:"Hide the Color Picker",precondition:M.standaloneColorPickerVisible.isEqualTo(!0),kbOpts:{primary:9,weight:100},metadata:{description:vt("hideColorPickerDescription","Hide the standalone color picker.")}})}run(e,t){var i;(i=dh.get(t))==null||i.hide()}}class Oz extends we{constructor(){super({id:"editor.action.insertColorWithStandaloneColorPicker",label:w({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:M.standaloneColorPickerFocused.isEqualTo(!0),kbOpts:{primary:3,weight:100},metadata:{description:vt("insertColorWithStandaloneColorPickerDescription","Insert hex/rgb/hsl colors with the focused standalone color picker.")}})}run(e,t){var i;(i=dh.get(t))==null||i.insertColor()}}ie(Az);ie(Oz);Ji(Rz);class zl{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),c=t.charCodeAt(r);if(a!==c&&!(a>=65&&a<=90&&a+32===c)&&!(c>=65&&c<=90&&c+32===a))return!1}return!0}_createOperationsForBlockComment(e,t,i,n,s,r){const a=e.startLineNumber,c=e.startColumn,h=e.endLineNumber,g=e.endColumn,f=s.getLineContent(a),p=s.getLineContent(h);let v=f.lastIndexOf(t,c-1+t.length),_=p.indexOf(i,g-1-i.length);if(v!==-1&&_!==-1)if(a===h)f.substring(v+t.length,_).indexOf(i)>=0&&(v=-1,_=-1);else{const S=f.substring(v+t.length),D=p.substring(0,_);(S.indexOf(i)>=0||D.indexOf(i)>=0)&&(v=-1,_=-1)}let y;v!==-1&&_!==-1?(n&&v+t.length<f.length&&f.charCodeAt(v+t.length)===32&&(t=t+" "),n&&_>0&&p.charCodeAt(_-1)===32&&(i=" "+i,_-=1),y=zl._createRemoveBlockCommentOperations(new B(a,v+t.length+1,h,_+1),t,i)):(y=zl._createAddBlockCommentOperations(e,t,i,this._insertSpace),this._usedEndToken=y.length===1?i:null);for(const S of y)r.addTrackedEditOperation(S.range,S.text)}static _createRemoveBlockCommentOperations(e,t,i){const n=[];return B.isEmpty(e)?n.push(jn.delete(new B(e.startLineNumber,e.startColumn-t.length,e.endLineNumber,e.endColumn+i.length))):(n.push(jn.delete(new B(e.startLineNumber,e.startColumn-t.length,e.startLineNumber,e.startColumn))),n.push(jn.delete(new B(e.endLineNumber,e.endColumn,e.endLineNumber,e.endColumn+i.length)))),n}static _createAddBlockCommentOperations(e,t,i,n){const s=[];return B.isEmpty(e)?s.push(jn.replace(new B(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn),t+" "+i)):(s.push(jn.insert(new yt(e.startLineNumber,e.startColumn),t+(n?" ":""))),s.push(jn.insert(new yt(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 jt(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 jt(n.endLineNumber,n.endColumn+s,n.endLineNumber,n.endColumn+s)}}}class Wa{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 c=[];for(let h=0,g=i-t+1;h<g;h++)c[h]={ignore:!1,commentStr:a,commentStrOffset:0,commentStrLength:a.length};return c}static _analyzeLines(e,t,i,n,s,r,a,c){let h=!0,g;e===0?g=!0:e===1?g=!1:g=!0;for(let f=0,p=n.length;f<p;f++){const v=n[f],_=s+f;if(_===s&&a){v.ignore=!0;continue}const y=i.getLineContent(_),S=jy(y);if(S===-1){v.ignore=r,v.commentStrOffset=y.length;continue}if(h=!1,v.ignore=!1,v.commentStrOffset=S,g&&!zl._haystackHasNeedleAtOffset(y,v.commentStr,S)&&(e===0?g=!1:e===1||(v.ignore=!0)),g&&t){const D=S+v.commentStrLength;D<y.length&&y.charCodeAt(D)===32&&(v.commentStrLength+=1)}}if(e===0&&h){g=!1;for(let f=0,p=n.length;f<p;f++)n[f].ignore=!1}return{supported:!0,shouldRemoveComments:g,lines:n}}static _gatherPreflightData(e,t,i,n,s,r,a,c){const h=Wa._gatherPreflightCommentStrings(i,n,s,c);return h===null?{supported:!1}:Wa._analyzeLines(e,t,i,h,n,r,a,c)}_executeLineComments(e,t,i,n){let s;i.shouldRemoveComments?s=Wa._createRemoveLineCommentsOperations(i.lines,n.startLineNumber):(Wa._normalizeInsertionPoint(e,i.lines,n.startLineNumber,this._indentSize),s=this._createAddLineCommentsOperations(i.lines,n.startLineNumber));const r=new yt(n.positionLineNumber,n.positionColumn);for(let a=0,c=s.length;a<c;a++)t.addEditOperation(s[a].range,s[a].text),B.isEmpty(s[a].range)&&B.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 c=e.getLineContent(s).lastIndexOf(i,a-1),h=e.getLineContent(r).indexOf(n,t.endColumn-1-i.length);return c!==-1&&h===-1&&(h=e.getLineContent(s).indexOf(n,c+i.length),r=s),c===-1&&h!==-1&&(c=e.getLineContent(r).lastIndexOf(i,h),s=r),t.isEmpty()&&(c===-1||h===-1)&&(c=e.getLineContent(s).indexOf(i),c!==-1&&(h=e.getLineContent(s).indexOf(n,c+i.length))),c!==-1&&e.getLineContent(s).charCodeAt(c+i.length)===32&&(i+=" "),h!==-1&&e.getLineContent(r).charCodeAt(h-1)===32&&(n=" "+n,h-=1),c!==-1&&h!==-1?zl._createRemoveBlockCommentOperations(new B(s,c+i.length+1,r,h+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 c=this._attemptRemoveBlockComment(e,i,r,a);if(!c){if(i.isEmpty()){const h=e.getLineContent(i.startLineNumber);let g=jy(h);g===-1&&(g=h.length),c=zl._createAddBlockCommentOperations(new B(i.startLineNumber,g+1,i.startLineNumber,h.length+1),r,a,this._insertSpace)}else c=zl._createAddBlockCommentOperations(new B(i.startLineNumber,e.getLineFirstNonWhitespaceColumn(i.startLineNumber),i.endLineNumber,e.getLineMaxColumn(i.endLineNumber)),r,a,this._insertSpace);c.length===1&&(this._deltaColumn=r.length+1)}this._selectionId=t.trackSelection(i);for(const h of c)t.addEditOperation(h.range,h.text)}getEditOperations(e,t){let i=this._selection;if(this._moveEndPositionDown=!1,i.startLineNumber===i.endLineNumber&&this._ignoreFirstLine){t.addEditOperation(new B(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=Wa._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 jt(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(jn.delete(new B(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(jn.insert(new yt(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 c=0,h=t.length;c<h;c++){if(t[c].ignore)continue;const g=e.getLineContent(i+c);let f=0;for(let p=0,v=t[c].commentStrOffset;f<s&&p<v;p++)f=Wa.nextVisibleColumn(f,n,g.charCodeAt(p)===9,1);f<s&&(s=f)}s=Math.floor(s/n)*n;for(let c=0,h=t.length;c<h;c++){if(t[c].ignore)continue;const g=e.getLineContent(i+c);let f=0;for(r=0,a=t[c].commentStrOffset;f<s&&r<a;r++)f=Wa.nextVisibleColumn(f,n,g.charCodeAt(r)===9,1);f>s?t[c].commentStrOffset=r-1:t[c].commentStrOffset=r}}}class _1 extends we{constructor(e,t){super(t),this._type=e}run(e,t){const i=e.get(ps);if(!t.hasModel())return;const n=t.getModel(),s=[],r=n.getOptions(),a=t.getOption(23),c=t.getSelections().map((g,f)=>({selection:g,index:f,ignoreFirstLine:!1}));c.sort((g,f)=>B.compareRangesUsingStarts(g.selection,f.selection));let h=c[0];for(let g=1;g<c.length;g++){const f=c[g];h.selection.endLineNumber===f.selection.startLineNumber&&(h.index<f.index?f.ignoreFirstLine=!0:(h.ignoreFirstLine=!0,h=f))}for(const g of c)s.push(new Wa(i,g.selection,r.indentSize,this._type,a.insertSpace,a.ignoreEmptyLines,g.ignoreFirstLine));t.pushUndoStop(),t.executeCommands(this.id,s),t.pushUndoStop()}}class Fz extends _1{constructor(){super(0,{id:"editor.action.commentLine",label:w("comment.line","Toggle Line Comment"),alias:"Toggle Line Comment",precondition:M.writable,kbOpts:{kbExpr:M.editorTextFocus,primary:2138,weight:100},menuOpts:{menuId:et.MenubarEditMenu,group:"5_insert",title:w({key:"miToggleLineComment",comment:["&& denotes a mnemonic"]},"&&Toggle Line Comment"),order:1}})}}class Hz extends _1{constructor(){super(1,{id:"editor.action.addCommentLine",label:w("comment.line.add","Add Line Comment"),alias:"Add Line Comment",precondition:M.writable,kbOpts:{kbExpr:M.editorTextFocus,primary:ts(2089,2081),weight:100}})}}class Wz extends _1{constructor(){super(2,{id:"editor.action.removeCommentLine",label:w("comment.line.remove","Remove Line Comment"),alias:"Remove Line Comment",precondition:M.writable,kbOpts:{kbExpr:M.editorTextFocus,primary:ts(2089,2099),weight:100}})}}class Bz extends we{constructor(){super({id:"editor.action.blockComment",label:w("comment.block","Toggle Block Comment"),alias:"Toggle Block Comment",precondition:M.writable,kbOpts:{kbExpr:M.editorTextFocus,primary:1567,linux:{primary:3103},weight:100},menuOpts:{menuId:et.MenubarEditMenu,group:"5_insert",title:w({key:"miToggleBlockComment",comment:["&& denotes a mnemonic"]},"Toggle &&Block Comment"),order:2}})}run(e,t){const i=e.get(ps);if(!t.hasModel())return;const n=t.getOption(23),s=[],r=t.getSelections();for(const a of r)s.push(new zl(a,n.insertSpace,i));t.pushUndoStop(),t.executeCommands(this.id,s),t.pushUndoStop()}}ie(Fz);ie(Hz);ie(Wz);ie(Bz);var zz=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Mc=function(o,e){return function(t,i){e(t,i,o)}},sC,xd;let hg=(xd=class{static get(e){return e.getContribution(sC.ID)}constructor(e,t,i,n,s,r,a,c){this._contextMenuService=t,this._contextViewService=i,this._contextKeyService=n,this._keybindingService=s,this._menuService=r,this._configurationService=a,this._workspaceContextService=c,this._toDispose=new He,this._contextMenuIsBeingShownCount=0,this._editor=e,this._toDispose.add(this._editor.onContextMenu(h=>this._onContextMenu(h))),this._toDispose.add(this._editor.onMouseWheel(h=>{if(this._contextMenuIsBeingShownCount>0){const g=this._contextViewService.getContextViewElement(),f=h.srcElement;f.shadowRoot&&rO(g)===f.shadowRoot||this._contextViewService.hideContextView()}})),this._toDispose.add(this._editor.onKeyDown(h=>{this._editor.getOption(24)&&h.keyCode===58&&(h.preventDefault(),h.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 c of r)if(c instanceof aO){const h=this._getMenuActions(e,c.item.submenu);h.length>0&&(i.push(new OL(c.id,c.label,h)),a++)}else i.push(c),a++;a&&i.push(new Wf)}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=qs(this._editor.getDomNode()),c=a.left+r.left,h=a.top+r.top+r.height;n={x:c,y:h}}const s=this._editor.getOption(128)&&!Uy;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 zy(r,r,{label:!0,keybinding:a.getLabel(),isMenu:!0});const c=r;return typeof c.getActionViewItem=="function"?c.getActionViewItem():new zy(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()||lO(this._workspaceContextService.getWorkspace()))return;const t=this._editor.getOption(73);let i=0;const n=h=>({id:`menu-action-${++i}`,label:h.label,tooltip:"",class:void 0,enabled:typeof h.enabled>"u"?!0:h.enabled,checked:h.checked,run:h.run}),s=(h,g)=>new OL(`menu-action-${++i}`,h,g,void 0),r=(h,g,f,p,v)=>{if(!g)return n({label:h,enabled:g,run:()=>{}});const _=S=>()=>{this._configurationService.updateValue(f,S)},y=[];for(const S of v)y.push(n({label:S.label,checked:p===S.value,run:_(S.value)}));return s(h,y)},a=[];a.push(n({label:w("context.minimap.minimap","Minimap"),checked:t.enabled,run:()=>{this._configurationService.updateValue("editor.minimap.enabled",!t.enabled)}})),a.push(new Wf),a.push(n({label:w("context.minimap.renderCharacters","Render Characters"),enabled:t.enabled,checked:t.renderCharacters,run:()=>{this._configurationService.updateValue("editor.minimap.renderCharacters",!t.renderCharacters)}})),a.push(r(w("context.minimap.size","Vertical size"),t.enabled,"editor.minimap.size",t.size,[{label:w("context.minimap.size.proportional","Proportional"),value:"proportional"},{label:w("context.minimap.size.fill","Fill"),value:"fill"},{label:w("context.minimap.size.fit","Fit"),value:"fit"}])),a.push(r(w("context.minimap.slider","Slider"),t.enabled,"editor.minimap.showSlider",t.showSlider,[{label:w("context.minimap.slider.mouseover","Mouse Over"),value:"mouseover"},{label:w("context.minimap.slider.always","Always"),value:"always"}]));const c=this._editor.getOption(128)&&!Uy;this._contextMenuIsBeingShownCount++,this._contextMenuService.showContextMenu({domForShadowRoot:c?this._editor.getDomNode():void 0,getAnchor:()=>e,getActions:()=>a,onHide:h=>{this._contextMenuIsBeingShownCount--,this._editor.focus()}})}_keybindingFor(e){return this._keybindingService.lookupKeybinding(e.id)}dispose(){this._contextMenuIsBeingShownCount>0&&this._contextViewService.hideContextView(),this._toDispose.dispose()}},sC=xd,xd.ID="editor.contrib.contextmenu",xd);hg=sC=zz([Mc(1,yg),Mc(2,Bb),Mc(3,Fi),Mc(4,is),Mc(5,mh),Mc(6,Sn),Mc(7,Uu)],hg);class Vz extends we{constructor(){super({id:"editor.action.showContextMenu",label:w("action.showContextMenu.label","Show Editor Context Menu"),alias:"Show Editor Context Menu",precondition:void 0,kbOpts:{kbExpr:M.textInputFocus,primary:1092,weight:100}})}run(e,t){var i;(i=hg.get(t))==null||i.showContextMenu()}}_i(hg.ID,hg,2);ie(Vz);class hy{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 uy{constructor(e,t,i){this.cursorState=e,this.scrollTop=t,this.scrollLeft=i}}const tb=class tb extends ze{static get(e){return e.getContribution(tb.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 hy(t.oldSelections);this._undoStack.length>0&&this._undoStack[this._undoStack.length-1].cursorState.equals(i)||(this._undoStack.push(new uy(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 uy(new hy(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 uy(new hy(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}};tb.ID="editor.contrib.cursorUndoRedoController";let ug=tb;class jz extends we{constructor(){super({id:"cursorUndo",label:w("cursor.undo","Cursor Undo"),alias:"Cursor Undo",precondition:void 0,kbOpts:{kbExpr:M.textInputFocus,primary:2099,weight:100}})}run(e,t,i){var n;(n=ug.get(t))==null||n.cursorUndo()}}class Uz extends we{constructor(){super({id:"cursorRedo",label:w("cursor.redo","Cursor Redo"),alias:"Cursor Redo",precondition:void 0})}run(e,t,i){var n;(n=ug.get(t))==null||n.cursorRedo()}}_i(ug.ID,ug,0);ie(jz);ie(Uz);class $z{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 B(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 jt(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 jt(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 jt(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 jt(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 jt(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 zh(o){return xa?o.altKey:o.ctrlKey}const Tl=class Tl extends ze{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)||(zh(e)&&(this._modifierPressed=!0),this._mouseDown&&zh(e)&&this._editor.updateOptions({mouseStyle:"copy"}))}onEditorKeyUp(e){!this._editor.getOption(35)||this._editor.getOption(22)||(zh(e)&&(this._modifierPressed=!1),this._mouseDown&&e.keyCode===Tl.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}zh(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 yt(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 jt(s,r,t.lineNumber,t.column)]}}else i=(this._editor.getSelections()||[]).map(n=>n.containsPosition(t)?new jt(t.lineNumber,t.column,t.lineNumber,t.column):n);this._editor.setSelections(i||[],"mouse",3)}else(!this._dragSelection.containsPosition(t)||(zh(e.event)||this._modifierPressed)&&(this._dragSelection.getEndPosition().equals(t)||this._dragSelection.getStartPosition().equals(t)))&&(this._editor.pushUndoStop(),this._editor.executeCommand(Tl.ID,new $z(this._dragSelection,t,zh(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 B(e.lineNumber,e.column,e.lineNumber,e.column),options:Tl._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()}};Tl.ID="editor.contrib.dragAndDrop",Tl.TRIGGER_KEY_VALUE=xa?6:5,Tl._DECORATION_OPTIONS=Ci.register({description:"dnd-target",className:"dnd-target"});let Q_=Tl;_i(Q_.ID,Q_,2);_i(cl.ID,cl,0);xg(bS);Lt(new class extends Xs{constructor(){super({id:BT,precondition:n1,kbOpts:{weight:100,primary:2137}})}runEditorCommand(o,e){var t;return(t=cl.get(e))==null?void 0:t.changePasteType()}});Lt(new class extends Xs{constructor(){super({id:"editor.hidePasteWidget",precondition:n1,kbOpts:{weight:100,primary:9}})}runEditorCommand(o,e){var t;(t=cl.get(e))==null||t.clearWidgets()}});var Ld;ie((Ld=class extends we{constructor(){super({id:"editor.action.pasteAs",label:w("pasteAs","Paste As..."),alias:"Paste As...",precondition:M.writable,metadata:{description:"Paste as",args:[{name:"args",schema:Ld.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=cl.get(t))==null?void 0:s.pasteAs(n?new yn(n):void 0)}},Ld.argsSchema={type:"object",properties:{kind:{type:"string",description:w("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.")}}},Ld));ie(class extends we{constructor(){super({id:"editor.action.pasteAsText",label:w("pasteAsText","Paste as Text"),alias:"Paste as Text",precondition:M.writable})}run(o,e){var t;return(t=cl.get(e))==null?void 0:t.pasteAs({providerId:nh.id})}});class qz{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 Kk{constructor(e){this.identifier=e}}const HM=fl("treeViewsDndService");pl(HM,qz,1);var Kz=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},km=function(o,e){return function(t,i){e(t,i,o)}},oC;const WM="editor.experimental.dropIntoEditor.defaultProvider",BM="editor.changeDropType",v1=new Di("dropWidgetVisible",!1,w("dropWidgetVisible","Whether the drop widget is showing"));var kd;let gg=(kd=class extends ze{static get(e){return e.getContribution(oC.ID)}constructor(e,t,i,n,s){super(),this._configService=i,this._languageFeaturesService=n,this._treeViewsDragAndDropService=s,this.treeItemsTransfer=_S.getInstance(),this._dropProgressManager=this._register(t.createInstance(B_,"dropIntoEditor",e)),this._postDropWidgetManager=this._register(t.createInstance(V_,"dropIntoEditor",e,v1,{id:BM,label:w("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=ms(async r=>{const a=new He,c=a.add(new $u(e,1,void 0,r));try{const h=await this.extractDataTransferData(i);if(h.size===0||c.token.isCancellationRequested)return;const g=e.getModel();if(!g)return;const f=this._languageFeaturesService.documentDropEditProvider.ordered(g).filter(v=>v.dropMimeTypes?v.dropMimeTypes.some(_=>h.matches(_)):!0),p=a.add(await this.getDropEdits(f,g,t,h,c));if(c.token.isCancellationRequested)return;if(p.edits.length){const v=this.getInitialActiveEditIndex(g,p.edits),_=e.getOption(36).showDropSelector==="afterDrop";await this._postDropWidgetManager.applyEditAndShowIfNeeded([B.fromPositions(t)],{activeEditIndex:v,allEdits:p.edits},_,async y=>y,r)}}finally{a.dispose(),this._currentOperation===n&&(this._currentOperation=void 0)}});this._dropProgressManager.showWhile(t,w("dropIntoEditorProgress","Running drop handlers. Click to cancel"),n,{cancel:()=>n.cancel()}),this._currentOperation=n}async getDropEdits(e,t,i,n,s){const r=new He,a=await Tp(Promise.all(e.map(async h=>{try{const g=await h.provideDocumentDropEdits(t,i,n,s.token);return g&&r.add(g),g==null?void 0:g.edits.map(f=>({...f,providerId:h.id}))}catch(g){console.error(g)}})),s.token),c=nl(a??[]).flat();return{edits:HT(c),dispose:()=>r.dispose()}}getInitialActiveEditIndex(e,t){const i=this._configService.getValue(WM,{resource:e.uri});for(const[n,s]of Object.entries(i)){const r=new yn(s),a=t.findIndex(c=>r.value===c.providerId&&c.handledMimeType&&ET(n,[c.handledMimeType]));if(a>=0)return a}return 0}async extractDataTransferData(e){if(!e.dataTransfer)return new DT;const t=MT(e.dataTransfer);if(this.treeItemsTransfer.hasData(Kk.prototype)){const i=this.treeItemsTransfer.getData(Kk.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}},oC=kd,kd.ID="editor.contrib.dropIntoEditorController",kd);gg=oC=Kz([km(1,ri),km(2,Sn),km(3,St),km(4,HM)],gg);_i(gg.ID,gg,2);xg(vS);Lt(new class extends Xs{constructor(){super({id:BM,precondition:v1,kbOpts:{weight:100,primary:2137}})}runEditorCommand(o,e,t){var i;(i=gg.get(e))==null||i.changeDropType()}});Lt(new class extends Xs{constructor(){super({id:"editor.hideDropWidget",precondition:v1,kbOpts:{weight:100,primary:9}})}runEditorCommand(o,e,t){var i;(i=gg.get(e))==null||i.clearWidgets()}});zr.as(Rp.Configuration).registerConfiguration({...Vb,properties:{[WM]:{type:"object",scope:5,description:w("defaultProviderDescription","Configures the default drop provider to use for content of a given mime type."),default:{},additionalProperties:{type:"string"}}}});const Is=class Is{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===Is._FIND_MATCH_DECORATION||n===Is._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,Is._FIND_MATCH_DECORATION),this._highlightedDecorationId=null),t!==null&&(this._highlightedDecorationId=t,n.changeDecorationOptions(this._highlightedDecorationId,Is._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 B(s.startLineNumber,s.startColumn,r,a)}this._rangeHighlightDecorationId=n.addDecoration(s,Is._RANGE_HIGHLIGHT_DECORATION)}}),i}set(e,t){this._editor.changeDecorations(i=>{let n=Is._FIND_MATCH_DECORATION;const s=[];if(e.length>1e3){n=Is._FIND_MATCH_NO_OVERVIEW_DECORATION;const a=this._editor.getModel().getLineCount(),h=this._editor.getLayoutInfo().height/a,g=Math.max(2,Math.ceil(3/h));let f=e[0].range.startLineNumber,p=e[0].range.endLineNumber;for(let v=1,_=e.length;v<_;v++){const y=e[v].range;p+g>=y.startLineNumber?y.endLineNumber>p&&(p=y.endLineNumber):(s.push({range:new B(f,1,p,1),options:Is._FIND_MATCH_ONLY_OVERVIEW_DECORATION}),f=y.startLineNumber,p=y.endLineNumber)}s.push({range:new B(f,1,p,1),options:Is._FIND_MATCH_ONLY_OVERVIEW_DECORATION})}const r=new Array(e.length);for(let a=0,c=e.length;a<c;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,Is._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}};Is._CURRENT_FIND_MATCH_DECORATION=Ci.register({description:"current-find-match",stickiness:1,zIndex:13,className:"currentFindMatch",inlineClassName:"currentFindMatchInline",showIfCollapsed:!0,overviewRuler:{color:as(jw),position:ba.Center},minimap:{color:as(FL),position:1}}),Is._FIND_MATCH_DECORATION=Ci.register({description:"find-match",stickiness:1,zIndex:10,className:"findMatch",inlineClassName:"findMatchInline",showIfCollapsed:!0,overviewRuler:{color:as(jw),position:ba.Center},minimap:{color:as(FL),position:1}}),Is._FIND_MATCH_NO_OVERVIEW_DECORATION=Ci.register({description:"find-match-no-overview",stickiness:1,className:"findMatch",showIfCollapsed:!0}),Is._FIND_MATCH_ONLY_OVERVIEW_DECORATION=Ci.register({description:"find-match-only-overview",stickiness:1,overviewRuler:{color:as(jw),position:ba.Center}}),Is._RANGE_HIGHLIGHT_DECORATION=Ci.register({description:"find-range-highlight",stickiness:1,className:"rangeHighlight",isWholeLine:!0}),Is._FIND_SCOPE_DECORATION=Ci.register({description:"find-scope",className:"findScope",isWholeLine:!0});let rC=Is;class Gz{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)=>B.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 zM(o,e){if(o&&o[0]!==""){const t=Gk(o,e,"-"),i=Gk(o,e,"_");return t&&!i?Zk(o,e,"-"):!t&&i?Zk(o,e,"_"):o[0].toUpperCase()===o[0]?e.toUpperCase():o[0].toLowerCase()===o[0]?e.toLowerCase():cO(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 Gk(o,e,t){return o[0].indexOf(t)!==-1&&e.indexOf(t)!==-1&&o[0].split(t).length===e.split(t).length}function Zk(o,e,t){const i=e.split(t),n=o[0].split(t);let s="";return i.forEach((r,a)=>{s+=zM([n[a]],r)+t}),s.slice(0,-1)}class Xk{constructor(e){this.staticValue=e,this.kind=0}}class Zz{constructor(e){this.pieces=e,this.kind=1}}class fg{static fromStaticValue(e){return new fg([ad.staticValue(e)])}get hasReplacementPatterns(){return this._state.kind===1}constructor(e){!e||e.length===0?this._state=new Xk(""):e.length===1&&e[0].staticValue!==null?this._state=new Xk(e[0].staticValue):this._state=new Zz(e)}buildReplaceString(e,t){if(this._state.kind===0)return t?zM(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=fg._substitute(r.matchIndex,e);if(r.caseOps!==null&&r.caseOps.length>0){const c=[],h=r.caseOps.length;let g=0;for(let f=0,p=a.length;f<p;f++){if(g>=h){c.push(a.slice(f));break}switch(r.caseOps[g]){case"U":c.push(a[f].toUpperCase());break;case"u":c.push(a[f].toUpperCase()),g++;break;case"L":c.push(a[f].toLowerCase());break;case"l":c.push(a[f].toLowerCase()),g++;break;default:c.push(a[f])}}a=c.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 ad{static staticValue(e){return new ad(e,-1,null)}static caseOps(e,t){return new ad(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 Xz{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++]=ad.staticValue(this._currentStaticPiece),this._currentStaticPiece=""),this._result[this._resultLen++]=ad.caseOps(e,i),this._lastCharIndex=t}finalize(){return this.emitUnchanged(this._source.length),this._currentStaticPiece.length!==0&&(this._result[this._resultLen++]=ad.staticValue(this._currentStaticPiece),this._currentStaticPiece=""),new fg(this._result)}}function Yz(o){if(!o||o.length===0)return new fg(null);const e=[],t=new Xz(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 c=o.charCodeAt(i+1);if(48<=c&&c<=57){i++,a=a*10+(c-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 bl=new Di("findWidgetVisible",!1);bl.toNegated();const ww=new Di("findInputFocussed",!1),b1=new Di("replaceInputFocussed",!1),Im={primary:545,mac:{primary:2593}},Dm={primary:565,mac:{primary:2613}},Em={primary:560,mac:{primary:2608}},Pm={primary:554,mac:{primary:2602}},Tm={primary:558,mac:{primary:2606}},ln={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"},Vl=19999,Jz=240;class Sf{constructor(e,t){this._toDispose=new He,this._editor=e,this._state=t,this._isDisposed=!1,this._startSearchingTimer=new Mp,this._decorations=new rC(e),this._toDispose.add(this._decorations),this._updateDecorationsScheduler=new ds(()=>{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,Rs(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)},Jz)):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 c=a.endLineNumber;return a.endColumn===1&&(c=c-1),new B(a.startLineNumber,1,c,this._editor.getModel().getLineMaxColumn(c))}return a}));const n=this._findMatches(i,!1,Vl);this._decorations.set(n,i);const s=this._editor.getSelection();let r=this._decorations.getCurrentMatchesPosition(s);if(r===0&&n.length>0){const a=uE(n.map(c=>c.range),c=>B.compareRangesUsingStarts(c,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 yt(i,n)}_moveToPrevMatch(e,t=!1){if(!this._state.canNavigateBack()){const g=this._decorations.matchAfterPosition(e);g&&this._setCurrentFindMatch(g);return}if(this._decorations.getCount()<Vl){let g=this._decorations.matchBeforePosition(e);g&&g.isEmpty()&&g.getStartPosition().equals(e)&&(e=this._prevSearchPosition(e),g=this._decorations.matchBeforePosition(e)),g&&this._setCurrentFindMatch(g);return}if(this._cannotFind())return;const i=this._decorations.getFindScope(),n=Sf._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 c=new yt(s,r),h=a.findPreviousMatch(this._state.searchString,c,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(132):null,!1);if(h&&h.range.isEmpty()&&h.range.getStartPosition().equals(c)&&(c=this._prevSearchPosition(c),h=a.findPreviousMatch(this._state.searchString,c,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(132):null,!1)),!!h){if(!t&&!n.containsRange(h.range))return this._moveToPrevMatch(h.range.getStartPosition(),!0);this._setCurrentFindMatch(h.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 yt(i,n)}_moveToNextMatch(e){if(!this._state.canNavigateForward()){const i=this._decorations.matchBeforePosition(e);i&&this._setCurrentFindMatch(i);return}if(this._decorations.getCount()<Vl){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=Sf._getSearchRange(this._editor.getModel(),s);r.getEndPosition().isBefore(e)&&(e=r.getStartPosition()),e.isBefore(r.getStartPosition())&&(e=r.getStartPosition());const{lineNumber:a,column:c}=e,h=this._editor.getModel();let g=new yt(a,c),f=h.findNextMatch(this._state.searchString,g,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(132):null,t);return i&&f&&f.range.isEmpty()&&f.range.getStartPosition().equals(g)&&(g=this._nextSearchPosition(g),f=h.findNextMatch(this._state.searchString,g,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(132):null,t)),f?!n&&!r.containsRange(f.range)?this._getNextMatch(f.range.getEndPosition(),t,i,!0):f: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?Yz(this._state.replaceString):fg.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 Pp(t,n);this._executeEditorCommand("replace",s),this._decorations.setStartPosition(new yt(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=>Sf._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>=Vl?this._largeReplaceAll():this._regularReplaceAll(e),this.research(!1)}_largeReplaceAll(){const t=new dO(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 f="mu";i.ignoreCase&&(f+="i"),i.global&&(f+="g"),i=new RegExp(i.source,f)}const n=this._editor.getModel(),s=n.getValue(1),r=n.getFullModelRange(),a=this._getReplacePattern();let c;const h=this._state.preserveCase;a.hasReplacementPatterns||h?c=s.replace(i,function(){return a.buildReplaceString(arguments,h)}):c=s.replace(i,a.buildReplaceString(null,h));const g=new gE(r,c,this._editor.getSelection());this._executeEditorCommand("replaceAll",g)}_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 Gz(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 jt(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 ib=class ib extends Op{constructor(e,t,i){super(),this._hideSoon=this._register(new ds(()=>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:Qc(pE),inputActiveOptionForeground:Qc(fE),inputActiveOptionBackground:Qc(v0)},s=this._register($y());this.caseSensitive=this._register(new hO({appendTitle:this._keybindingLabelFor(ln.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 uO({appendTitle:this._keybindingLabelFor(ln.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 gO({appendTitle:this._keybindingLabelFor(ln.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(Oi(this._domNode,Wn.MOUSE_LEAVE,r=>this._onMouseLeave())),this._register(Oi(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 ib.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")}};ib.ID="editor.contrib.findOptionsWidget";let aC=ib;function Mm(o,e){return o===1?!0:o===2?!1:e}class Qz extends ze{get searchString(){return this._searchString}get replaceString(){return this._replaceString}get isRevealed(){return this._isRevealed}get isReplaceRevealed(){return this._isReplaceRevealed}get isRegex(){return Mm(this._isRegexOverride,this._isRegex)}get wholeWord(){return Mm(this._wholeWordOverride,this._wholeWord)}get matchCase(){return Mm(this._matchCaseOverride,this._matchCase)}get preserveCase(){return Mm(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"&&(B.equalsRange(this._currentMatch,i)||(this._currentMatch=i,n.currentMatch=!0,s=!0)),s&&this._onFindReplaceStateChange.fire(n)}change(e,t,i=!0){var g;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,c=this.matchCase,h=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"&&((g=e.searchScope)!=null&&g.every(f=>{var p;return(p=this._searchScope)==null?void 0:p.some(v=>!B.equalsRange(v,f))})||(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),c!==this.matchCase&&(s=!0,n.matchCase=!0),h!==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>=Vl}}const eV=w("defaultLabel","input"),tV=w("label.preserveCaseToggle","Preserve Case");class iV extends mE{constructor(e){super({icon:Xt.preserveCase,title:tV+e.appendTitle,isChecked:e.isChecked,hoverDelegate:e.hoverDelegate??Gb("element"),inputActiveOptionBorder:e.inputActiveOptionBorder,inputActiveOptionForeground:e.inputActiveOptionForeground,inputActiveOptionBackground:e.inputActiveOptionBackground})}}class nV extends Op{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||eV;const s=n.appendPreserveCaseLabel||"",r=n.history||[],a=!!n.flexibleHeight,c=!!n.flexibleWidth,h=n.flexibleMaxHeight;this.domNode=document.createElement("div"),this.domNode.classList.add("monaco-findInput"),this.inputBox=this._register(new fO(this.domNode,this.contextViewProvider,{ariaLabel:this.label||"",placeholder:this.placeholder||"",validationOptions:{validation:this.validation},history:r,showHistoryHint:n.showHistoryHint,flexibleHeight:a,flexibleWidth:c,flexibleMaxHeight:h,inputBoxStyles:n.inputBoxStyles})),this.preserveCase=this._register(new iV({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 g=[this.preserveCase.domNode];this.onkeydown(this.domNode,p=>{if(p.equals(15)||p.equals(17)||p.equals(9)){const v=g.indexOf(this.domNode.ownerDocument.activeElement);if(v>=0){let _=-1;p.equals(17)?_=(v+1)%g.length:p.equals(15)&&(v===0?_=g.length-1:_=v-1),p.equals(9)?(g[v].blur(),this.inputBox.focus()):_>=0&&g[_].focus(),x_.stop(p,!0)}}});const f=document.createElement("div");f.className="controls",f.style.display=this._showOptionButtons?"block":"none",f.appendChild(this.preserveCase.domNode),this.domNode.appendChild(f),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 VM=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},jM=function(o,e){return function(t,i){e(t,i,o)}};const w1=new Di("suggestWidgetVisible",!1,w("suggestWidgetVisible","Whether suggestion are visible")),y1="historyNavigationWidgetFocus",UM="historyNavigationForwardsEnabled",$M="historyNavigationBackwardsEnabled";let tl;const Nm=[];function qM(o,e){if(Nm.includes(e))throw new Error("Cannot register the same widget multiple times");Nm.push(e);const t=new He,i=new Di(y1,!1).bindTo(o),n=new Di(UM,!0).bindTo(o),s=new Di($M,!0).bindTo(o),r=()=>{i.set(!0),tl=e},a=()=>{i.set(!1),tl===e&&(tl=void 0)};return mO(e.element)&&r(),t.add(e.onDidFocus(()=>r())),t.add(e.onDidBlur(()=>a())),t.add(wn(()=>{Nm.splice(Nm.indexOf(e),1),a()})),{historyNavigationForwardsEnablement:n,historyNavigationBackwardsEnablement:s,dispose(){t.dispose()}}}let lC=class extends pO{constructor(e,t,i,n){super(e,t,i);const s=this._register(n.createScoped(this.inputBox.element));this._register(qM(s,this.inputBox))}};lC=VM([jM(3,Fi)],lC);let cC=class extends nV{constructor(e,t,i,n,s=!1){super(e,t,s,i);const r=this._register(n.createScoped(this.inputBox.element));this._register(qM(r,this.inputBox))}};cC=VM([jM(3,Fi)],cC);Da.registerCommandAndKeybindingRule({id:"history.showPrevious",weight:200,when:oe.and(oe.has(y1),oe.equals($M,!0),oe.not("isComposing"),w1.isEqualTo(!1)),primary:16,secondary:[528],handler:o=>{tl==null||tl.showPreviousValue()}});Da.registerCommandAndKeybindingRule({id:"history.showNext",weight:200,when:oe.and(oe.has(y1),oe.equals(UM,!0),oe.not("isComposing"),w1.isEqualTo(!1)),primary:18,secondary:[530],handler:o=>{tl==null||tl.showNextValue()}});function Yk(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 Jk=Gn("find-collapsed",Xt.chevronRight,w("findCollapsedIcon","Icon to indicate that the editor find widget is collapsed.")),Qk=Gn("find-expanded",Xt.chevronDown,w("findExpandedIcon","Icon to indicate that the editor find widget is expanded.")),sV=Gn("find-selection",Xt.selection,w("findSelectionIcon","Icon for 'Find in Selection' in the editor find widget.")),oV=Gn("find-replace",Xt.replace,w("findReplaceIcon","Icon for 'Replace' in the editor find widget.")),rV=Gn("find-replace-all",Xt.replaceAll,w("findReplaceAllIcon","Icon for 'Replace All' in the editor find widget.")),aV=Gn("find-previous-match",Xt.arrowUp,w("findPreviousMatchIcon","Icon for 'Find Previous' in the editor find widget.")),lV=Gn("find-next-match",Xt.arrowDown,w("findNextMatchIcon","Icon for 'Find Next' in the editor find widget.")),cV=w("label.findDialog","Find / Replace"),dV=w("label.find","Find"),hV=w("placeholder.find","Find"),uV=w("label.previousMatchButton","Previous Match"),gV=w("label.nextMatchButton","Next Match"),fV=w("label.toggleSelectionFind","Find in Selection"),pV=w("label.closeButton","Close"),mV=w("label.replace","Replace"),_V=w("placeholder.replace","Replace"),vV=w("label.replaceButton","Replace"),bV=w("label.replaceAllButton","Replace All"),wV=w("label.toggleReplaceButton","Toggle Replace"),yV=w("title.matchesCountLimit","Only the first {0} results are highlighted, but all find operations work on the entire text.",Vl),SV=w("label.matchesLocation","{0} of {1}"),eI=w("label.noResults","No results"),Qr=419,CV=275,xV=CV-54;let Ug=69;const LV=33,tI="ctrlEnterReplaceAll.windows.donotask",iI=xa?256:2048;class gy{constructor(e){this.afterLineNumber=e,this.heightInPx=LV,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 sI(o,e,t){const i=!!e.match(/\n/);if(t&&i&&t.selectionEnd<t.value.length){o.stopPropagation();return}}const nb=class nb extends Op{constructor(e,t,i,n,s,r,a,c,h,g){super(),this._hoverService=g,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=c,this._notificationService=h,this._ctrlEnterReplaceAllWarningPrompted=!!c.getBoolean(tI,0),this._isVisible=!1,this._isReplaceVisible=!1,this._ignoreChangeEvent=!1,this._updateHistoryDelayer=new gc(500),this._register(wn(()=>this._updateHistoryDelayer.cancel())),this._register(this._state.onFindReplaceStateChange(f=>this._onStateChanged(f))),this._buildDomNode(),this._updateButtons(),this._tryUpdateWidgetWidth(),this._findInput.inputBox.layout(),this._register(this._codeEditor.onDidChangeConfiguration(f=>{if(f.hasChanged(92)&&(this._codeEditor.getOption(92)&&this._state.change({isReplaceRevealed:!1},!1),this._updateButtons()),f.hasChanged(146)&&this._tryUpdateWidgetWidth(),f.hasChanged(2)&&this.updateAccessibilitySupport(),f.hasChanged(41)){const p=this._codeEditor.getOption(41).loop;this._state.change({loop:p},!1);const v=this._codeEditor.getOption(41).addExtraSpaceOnTop;v&&!this._viewZone&&(this._viewZone=new gy(0),this._showViewZone()),!v&&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 f=await this._controller.getGlobalBufferTerm();f&&f!==this._state.searchString&&(this._state.change({searchString:f},!1),this._findInput.select())}})),this._findInputFocused=ww.bindTo(r),this._findFocusTracker=this._register(qu(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=b1.bindTo(r),this._replaceFocusTracker=this._register(qu(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 gy(0)),this._register(this._codeEditor.onDidChangeModel(()=>{this._isVisible&&(this._viewZoneId=void 0)})),this._register(this._codeEditor.onDidScrollChange(f=>{if(f.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=Qo(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,cn)}_updateHistory(){this._state.searchString&&this._findInput.inputBox.addToHistory(),this._state.replaceString&&this._replaceInput.inputBox.addToHistory()}_updateMatchesCount(){var t;this._matchesCount.style.minWidth=Ug+"px",this._state.matchesCount>=Vl?this._matchesCount.title=yV: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>=Vl&&(i+="+");let n=String(this._state.matchesPosition);n==="0"&&(n="?"),e=D0(SV,n,i)}else e=eI;this._matchesCount.appendChild(document.createTextNode(e)),gr(this._getAriaLabel(e,this._state.currentMatch,this._state.searchString)),Ug=Math.max(Ug,this._matchesCount.clientWidth)}_getAriaLabel(e,t,i){if(e===eI)return i===""?w("ariaSearchNoResultEmpty","{0} found",e):w("ariaSearchNoResult","{0} found for '{1}'",e,i);if(t){const n=w("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 w("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=qs(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 c=_O(this._domNode).left;r>c&&(t=!1);const h=this._codeEditor.getScrolledVisiblePosition(e.getEndPosition());n.left+(h?h.left:0)>c&&(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 gy(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&&Qo(this._domNode)>Qr){this._domNode.style.maxWidth=`${i-28-n-15}px`,this._replaceInput.width=Qo(this._findInput.domNode);return}if(Qr+28+n>=i&&(r=!0),Qr+28+n-Ug>=i&&(a=!0),Qr+28+n-Ug>=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 c=this._findInput.inputBox.element.clientWidth;c>0&&(this._replaceInput.width=c)}else this._isReplaceVisible&&(this._replaceInput.width=Qo(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&&!B.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(iI|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 sI(e,this._findInput.getValue(),this._findInput.domNode.querySelector("textarea"))}_onReplaceInputKeyDown(e){if(e.equals(iI|3))if(this._keybindingService.dispatchEvent(e,e.target)){e.preventDefault();return}else{Fb&&Cg&&!this._ctrlEnterReplaceAllWarningPrompted&&(this._notificationService.info(w("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(tI,!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 sI(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 lC(null,this._contextViewProvider,{width:xV,label:dV,placeholder:hV,appendCaseSensitiveLabel:this._keybindingLabelFor(ln.ToggleCaseSensitiveCommand),appendWholeWordsLabel:this._keybindingLabelFor(ln.ToggleWholeWordCommand),appendRegexLabel:this._keybindingLabelFor(ln.ToggleRegexCommand),validation:g=>{if(g.length===0||!this._findInput.getRegex())return null;try{return new RegExp(g,"gu"),null}catch(f){return{content:f.message}}},flexibleHeight:!0,flexibleWidth:!0,flexibleMaxHeight:118,showCommonFindToggles:!0,showHistoryHint:()=>Yk(this._keybindingService),inputBoxStyles:WL,toggleStyles:HL},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(g=>this._onFindInputKeyDown(g))),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(g=>{g.equals(1026)&&this._isReplaceVisible&&(this._replaceInput.focus(),g.preventDefault())})),this._register(this._findInput.onRegexKeyDown(g=>{g.equals(2)&&this._isReplaceVisible&&(this._replaceInput.focusOnPreserve(),g.preventDefault())})),this._register(this._findInput.inputBox.onDidHeightChange(g=>{this._tryUpdateHeight()&&this._showViewZone()})),vO&&this._register(this._findInput.onMouseDown(g=>this._onFindInputMouseDown(g))),this._matchesCount=document.createElement("div"),this._matchesCount.className="matchesCount",this._updateMatchesCount();const i=this._register($y());this._prevBtn=this._register(new Vh({label:uV+this._keybindingLabelFor(ln.PreviousMatchFindAction),icon:aV,hoverDelegate:i,onTrigger:()=>{ru(this._codeEditor.getAction(ln.PreviousMatchFindAction)).run().then(void 0,cn)}},this._hoverService)),this._nextBtn=this._register(new Vh({label:gV+this._keybindingLabelFor(ln.NextMatchFindAction),icon:lV,hoverDelegate:i,onTrigger:()=>{ru(this._codeEditor.getAction(ln.NextMatchFindAction)).run().then(void 0,cn)}},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 mE({icon:sV,title:fV+this._keybindingLabelFor(ln.ToggleSearchScopeCommand),isChecked:!1,hoverDelegate:i,inputActiveOptionBackground:Qc(v0),inputActiveOptionBorder:Qc(pE),inputActiveOptionForeground:Qc(fE)})),this._register(this._toggleSelectionFind.onChange(()=>{if(this._toggleSelectionFind.checked){if(this._codeEditor.hasModel()){let g=this._codeEditor.getSelections();g=g.map(f=>(f.endColumn===1&&f.endLineNumber>f.startLineNumber&&(f=f.setEndPosition(f.endLineNumber-1,this._codeEditor.getModel().getLineMaxColumn(f.endLineNumber-1))),f.isEmpty()?null:f)).filter(f=>!!f),g.length&&this._state.change({searchScope:g},!0)}}else this._state.change({searchScope:null},!0)})),s.appendChild(this._toggleSelectionFind.domNode),this._closeBtn=this._register(new Vh({label:pV+this._keybindingLabelFor(ln.CloseFindWidgetCommand),icon:_E,hoverDelegate:i,onTrigger:()=>{this._state.change({isRevealed:!1,searchScope:null},!1)},onKeyDown:g=>{g.equals(2)&&this._isReplaceVisible&&(this._replaceBtn.isEnabled()?this._replaceBtn.focus():this._codeEditor.focus(),g.preventDefault())}},this._hoverService)),this._replaceInput=this._register(new cC(null,void 0,{label:mV,placeholder:_V,appendPreserveCaseLabel:this._keybindingLabelFor(ln.TogglePreserveCaseCommand),history:[],flexibleHeight:!0,flexibleWidth:!0,flexibleMaxHeight:118,showHistoryHint:()=>Yk(this._keybindingService),inputBoxStyles:WL,toggleStyles:HL},this._contextKeyService,!0)),this._replaceInput.setPreserveCase(!!this._state.preserveCase),this._register(this._replaceInput.onKeyDown(g=>this._onReplaceInputKeyDown(g))),this._register(this._replaceInput.inputBox.onDidChange(()=>{this._state.change({replaceString:this._replaceInput.inputBox.value},!1)})),this._register(this._replaceInput.inputBox.onDidHeightChange(g=>{this._isReplaceVisible&&this._tryUpdateHeight()&&this._showViewZone()})),this._register(this._replaceInput.onDidOptionChange(()=>{this._state.change({preserveCase:this._replaceInput.getPreserveCase()},!0)})),this._register(this._replaceInput.onPreserveCaseKeyDown(g=>{g.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(),g.preventDefault())}));const r=this._register($y());this._replaceBtn=this._register(new Vh({label:vV+this._keybindingLabelFor(ln.ReplaceOneAction),icon:oV,hoverDelegate:r,onTrigger:()=>{this._controller.replace()},onKeyDown:g=>{g.equals(1026)&&(this._closeBtn.focus(),g.preventDefault())}},this._hoverService)),this._replaceAllBtn=this._register(new Vh({label:bV+this._keybindingLabelFor(ln.ReplaceAllAction),icon:rV,hoverDelegate:r,onTrigger:()=>{this._controller.replaceAll()}},this._hoverService));const a=document.createElement("div");a.className="replace-part",a.appendChild(this._replaceInput.domNode);const c=document.createElement("div");c.className="replace-actions",a.appendChild(c),c.appendChild(this._replaceBtn.domNode),c.appendChild(this._replaceAllBtn.domNode),this._toggleReplaceBtn=this._register(new Vh({label:wV,className:"codicon toggle left",onTrigger:()=>{this._state.change({isReplaceRevealed:!this._isReplaceVisible},!1),this._isReplaceVisible&&(this._replaceInput.width=Qo(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=cV,this._domNode.role="dialog",this._domNode.style.width=`${Qr}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 nu(this._domNode,this,{orientation:0,size:2})),this._resized=!1;let h=Qr;this._register(this._resizeSash.onDidStart(()=>{h=Qo(this._domNode)})),this._register(this._resizeSash.onDidChange(g=>{this._resized=!0;const f=h+g.startX-g.currentX;if(f<Qr)return;const p=parseFloat(bO(this._domNode).maxWidth)||0;f>p||(this._domNode.style.width=`${f}px`,this._isReplaceVisible&&(this._replaceInput.width=Qo(this._findInput.domNode)),this._findInput.inputBox.layout(),this._tryUpdateHeight())})),this._register(this._resizeSash.onDidReset(()=>{const g=Qo(this._domNode);if(g<Qr)return;let f=Qr;if(!this._resized||g===Qr){const p=this._codeEditor.getLayoutInfo();f=p.width-28-p.minimap.minimapWidth-15,this._resized=!0}this._domNode.style.width=`${f}px`,this._isReplaceVisible&&(this._replaceInput.width=Qo(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 dC=nb;class Vh extends Op{constructor(e,t){super(),this._opts=e;let i="button";this._opts.className&&(i=i+" "+this._opts.className),this._opts.icon&&(i=i+" "+qi.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??Gb("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(...qi.asClassNameArray(Jk)),this._domNode.classList.add(...qi.asClassNameArray(Qk))):(this._domNode.classList.remove(...qi.asClassNameArray(Qk)),this._domNode.classList.add(...qi.asClassNameArray(Jk)))}}zb((o,e)=>{const t=o.getColor(XD);t&&e.addRule(`.monaco-editor .findMatch { border: 1px ${Ff(o.type)?"dotted":"solid"} ${t}; box-sizing: border-box; }`);const i=o.getColor(wO);i&&e.addRule(`.monaco-editor .findScope { border: 1px ${Ff(o.type)?"dashed":"solid"} ${i}; }`);const n=o.getColor(sl);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(SO);r&&e.addRule(`.monaco-editor .currentFindMatchInline { color: ${r}; }`)});var KM=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Oo=function(o,e){return function(t,i){e(t,i,o)}},hC;const kV=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)<kV)return o.getModel().getValueInRange(i)}return null}var Id;let Gs=(Id=class extends ze{get editor(){return this._editor}static get(e){return e.getContribution(hC.ID)}constructor(e,t,i,n,s,r){super(),this._editor=e,this._findWidgetVisible=bl.bindTo(t),this._contextKeyService=t,this._storageService=i,this._clipboardService=n,this._notificationService=s,this._hoverService=r,this._updateHistoryDelayer=new gc(500),this._state=this._register(new Qz),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!!ww.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=Hf(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=Hf(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 Sf(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(w("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)}},hC=Id,Id.ID="editor.contrib.findController",Id);Gs=hC=KM([Oo(1,Fi),Oo(2,Sc),Oo(3,Sg),Oo(4,Bs),Oo(5,Wp)],Gs);let gC=class extends Gs{constructor(e,t,i,n,s,r,a,c,h){super(e,i,a,c,r,h),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 dC(this._editor,this,this._state,this._contextViewService,this._keybindingService,this._contextKeyService,this._themeService,this._storageService,this._notificationService,this._hoverService)),this._findOptionsWidget=this._register(new aC(this._editor,this._state,this._keybindingService))}};gC=KM([Oo(1,Bb),Oo(2,Fi),Oo(3,is),Oo(4,mr),Oo(5,Bs),Oo(6,Sc),Oo(7,Sg),Oo(8,Wp)],gC);const IV=vE(new bE({id:ln.StartFindAction,label:w("startFindAction","Find"),alias:"Find",precondition:oe.or(M.focus,oe.has("editorIsOpen")),kbOpts:{kbExpr:null,primary:2084,weight:100},menuOpts:{menuId:et.MenubarEditMenu,group:"3_find",title:w({key:"miFind",comment:["&& denotes a mnemonic"]},"&&Find"),order:1}}));IV.addImplementation(0,(o,e,t)=>{const i=Gs.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 DV={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 EV extends we{constructor(){super({id:ln.StartFindWithArgs,label:w("startFindWithArgsAction","Find With Arguments"),alias:"Find With Arguments",precondition:void 0,kbOpts:{kbExpr:null,primary:0,weight:100},metadata:DV})}async run(e,t,i){const n=Gs.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 PV extends we{constructor(){super({id:ln.StartFindWithSelection,label:w("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=Gs.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 GM extends we{async run(e,t){const i=Gs.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 TV extends GM{constructor(){super({id:ln.NextMatchFindAction,label:w("findNextMatchAction","Find Next"),alias:"Find Next",precondition:void 0,kbOpts:[{kbExpr:M.focus,primary:61,mac:{primary:2085,secondary:[61]},weight:100},{kbExpr:oe.and(M.focus,ww),primary:3,weight:100}]})}_run(e){return e.moveToNextMatch()?(e.editor.pushUndoStop(),!0):!1}}class MV extends GM{constructor(){super({id:ln.PreviousMatchFindAction,label:w("findPreviousMatchAction","Find Previous"),alias:"Find Previous",precondition:void 0,kbOpts:[{kbExpr:M.focus,primary:1085,mac:{primary:3109,secondary:[1085]},weight:100},{kbExpr:oe.and(M.focus,ww),primary:1027,weight:100}]})}_run(e){return e.moveToPrevMatch()}}class NV extends we{constructor(){super({id:ln.GoToMatchFindAction,label:w("findMatchAction.goToMatch","Go to Match..."),alias:"Go to Match...",precondition:bl}),this._highlightDecorations=[]}run(e,t,i){const n=Gs.get(t);if(!n)return;const s=n.getState().matchesCount;if(s<1){e.get(Bs).notify({severity:k0.Warning,message:w("findMatchAction.noResults","No matches. Try searching for something else.")});return}const r=e.get(gl),a=new He,c=a.add(r.createInputBox());c.placeholder=w("findMatchAction.inputPlaceHolder","Type a number to go to a specific match (between 1 and {0})",s);const h=f=>{const p=parseInt(f);if(isNaN(p))return;const v=n.getState().matchesCount;if(p>0&&p<=v)return p-1;if(p<0&&p>=-v)return v+p},g=f=>{const p=h(f);if(typeof p=="number"){c.validationMessage=void 0,n.goToMatch(p);const v=n.getState().currentMatch;v&&this.addDecorations(t,v)}else c.validationMessage=w("findMatchAction.inputValidationMessage","Please type a number between 1 and {0}",n.getState().matchesCount),this.clearDecorations(t)};a.add(c.onDidChangeValue(f=>{g(f)})),a.add(c.onDidAccept(()=>{const f=h(c.value);typeof f=="number"?(n.goToMatch(f),c.hide()):c.validationMessage=w("findMatchAction.inputValidationMessage","Please type a number between 1 and {0}",n.getState().matchesCount)})),a.add(c.onDidHide(()=>{this.clearDecorations(t),a.dispose()})),c.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:as(wE),position:ba.Full}}}])})}}class ZM extends we{async run(e,t){const i=Gs.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 RV extends ZM{constructor(){super({id:ln.NextSelectionMatchFindAction,label:w("nextSelectionMatchFindAction","Find Next Selection"),alias:"Find Next Selection",precondition:void 0,kbOpts:{kbExpr:M.focus,primary:2109,weight:100}})}_run(e){return e.moveToNextMatch()}}class AV extends ZM{constructor(){super({id:ln.PreviousSelectionMatchFindAction,label:w("previousSelectionMatchFindAction","Find Previous Selection"),alias:"Find Previous Selection",precondition:void 0,kbOpts:{kbExpr:M.focus,primary:3133,weight:100}})}_run(e){return e.moveToPrevMatch()}}const OV=vE(new bE({id:ln.StartFindReplaceAction,label:w("startReplace","Replace"),alias:"Replace",precondition:oe.or(M.focus,oe.has("editorIsOpen")),kbOpts:{kbExpr:null,primary:2086,mac:{primary:2596},weight:100},menuOpts:{menuId:et.MenubarEditMenu,group:"3_find",title:w({key:"miReplace",comment:["&& denotes a mnemonic"]},"&&Replace"),order:2}}));OV.addImplementation(0,(o,e,t)=>{if(!e.hasModel()||e.getOption(92))return!1;const i=Gs.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})});_i(Gs.ID,gC,0);ie(EV);ie(PV);ie(TV);ie(MV);ie(NV);ie(RV);ie(AV);const qr=Xs.bindToContribution(Gs.get);Lt(new qr({id:ln.CloseFindWidgetCommand,precondition:bl,handler:o=>o.closeFindWidget(),kbOpts:{weight:105,kbExpr:oe.and(M.focus,oe.not("isComposing")),primary:9,secondary:[1033]}}));Lt(new qr({id:ln.ToggleCaseSensitiveCommand,precondition:void 0,handler:o=>o.toggleCaseSensitive(),kbOpts:{weight:105,kbExpr:M.focus,primary:Im.primary,mac:Im.mac,win:Im.win,linux:Im.linux}}));Lt(new qr({id:ln.ToggleWholeWordCommand,precondition:void 0,handler:o=>o.toggleWholeWords(),kbOpts:{weight:105,kbExpr:M.focus,primary:Dm.primary,mac:Dm.mac,win:Dm.win,linux:Dm.linux}}));Lt(new qr({id:ln.ToggleRegexCommand,precondition:void 0,handler:o=>o.toggleRegex(),kbOpts:{weight:105,kbExpr:M.focus,primary:Em.primary,mac:Em.mac,win:Em.win,linux:Em.linux}}));Lt(new qr({id:ln.ToggleSearchScopeCommand,precondition:void 0,handler:o=>o.toggleSearchScope(),kbOpts:{weight:105,kbExpr:M.focus,primary:Pm.primary,mac:Pm.mac,win:Pm.win,linux:Pm.linux}}));Lt(new qr({id:ln.TogglePreserveCaseCommand,precondition:void 0,handler:o=>o.togglePreserveCase(),kbOpts:{weight:105,kbExpr:M.focus,primary:Tm.primary,mac:Tm.mac,win:Tm.win,linux:Tm.linux}}));Lt(new qr({id:ln.ReplaceOneAction,precondition:bl,handler:o=>o.replace(),kbOpts:{weight:105,kbExpr:M.focus,primary:3094}}));Lt(new qr({id:ln.ReplaceOneAction,precondition:bl,handler:o=>o.replace(),kbOpts:{weight:105,kbExpr:oe.and(M.focus,b1),primary:3}}));Lt(new qr({id:ln.ReplaceAllAction,precondition:bl,handler:o=>o.replaceAll(),kbOpts:{weight:105,kbExpr:M.focus,primary:2563}}));Lt(new qr({id:ln.ReplaceAllAction,precondition:bl,handler:o=>o.replaceAll(),kbOpts:{weight:105,kbExpr:oe.and(M.focus,b1),primary:void 0,mac:{primary:2051}}}));Lt(new qr({id:ln.SelectAllMatchesAction,precondition:bl,handler:o=>o.selectAllMatches(),kbOpts:{weight:105,kbExpr:M.focus,primary:515}}));const FV={0:" ",1:"u",2:"r"},oI=65535,Er=16777215,rI=4278190080;class fy{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 yo{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 fy(e.length),this._userDefinedStates=new fy(e.length),this._recoveredStates=new fy(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>Er||r>Er)throw new Error("startLineNumber or endLineNumber must not exceed "+Er);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]&Er}getEndLineNumber(e){return this._endIndexes[e]&Er}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 HV(this,e)}getParentIndex(e){this.ensureParentIndices();const t=((this._startIndexes[e]&rI)>>>24)+((this._endIndexes[e]&rI)>>>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]=`[${FV[this.getSource(t)]}${this.isCollapsed(t)?"+":"-"}] ${this.getStartLineNumber(t)}/${this.getEndLineNumber(t)}`;return e.join(", ")}toFoldRange(e){return{startLineNumber:this._startIndexes[e]&Er,endLineNumber:this._endIndexes[e]&Er,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 c=0;c<t;c++){const h=e[c];i[c]=h.startLineNumber,n[c]=h.endLineNumber,s.push(h.type),h.type&&(r=!0)}r||(s=void 0);const a=new yo(i,n,s);for(let c=0;c<t;c++)e[c].isCollapsed&&a.setCollapsed(c,!0),a.setSource(c,e[c].source);return a}static sanitizeAndMerge(e,t,i,n){i=i??Number.MAX_VALUE;const s=(S,D)=>Array.isArray(S)?(P=>P<D?S[P]:void 0):(P=>P<D?S.toFoldRange(P):void 0),r=s(e,e.length),a=s(t,t.length);let c=0,h=0,g=r(0),f=a(0);const p=[];let v,_=0;const y=[];for(;g||f;){let S;if(f&&(!g||g.startLineNumber>=f.startLineNumber))g&&g.startLineNumber===f.startLineNumber?(f.source===1?S=f:(S=g,S.isCollapsed=f.isCollapsed&&(g.endLineNumber===f.endLineNumber||!(n!=null&&n.startsInside(g.startLineNumber+1,g.endLineNumber+1))),S.source=0),g=r(++c)):(S=f,f.isCollapsed&&f.source===0&&(S.source=2)),f=a(++h);else{let D=h,P=f;for(;;){if(!P||P.startLineNumber>g.endLineNumber){S=g;break}if(P.source===1&&P.endLineNumber>g.endLineNumber)break;P=a(++D)}g=r(++c)}if(S){for(;v&&v.endLineNumber<S.startLineNumber;)v=p.pop();S.endLineNumber>S.startLineNumber&&S.startLineNumber>_&&S.endLineNumber<=i&&(!v||v.endLineNumber>=S.endLineNumber)&&(y.push(S),_=S.startLineNumber,v&&p.push(v),v=S)}}return y}}class HV{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 WV{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 yo(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=c=>{for(;n<c;){const h=this._regions.getEndLineNumber(n),g=this._regions.isCollapsed(n);if(h<=s){const f=this.regions.getSource(n)!==0;i.changeDecorationOptions(this._editorDecorationIds[n],this._decorationProvider.getDecorationOption(g,h<=r,f))}g&&h>r&&(r=h),n++}};for(const c of e){const h=c.regionIndex,g=this._editorDecorationIds[h];if(g&&!t[g]){t[g]=!0,a(h);const f=!this._regions.isCollapsed(h);this._regions.setCollapsed(h,f),s=Math.max(s,this._regions.getEndLineNumber(h))}}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(yo.fromFoldRanges(t))}update(e,t){const i=this._currentFoldedOrManualRanges(t),n=yo.sanitizeAndMerge(e,i,this._textModel.getLineCount(),t);this.updatePost(yo.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),c=e.isCollapsed(n),h=e.getSource(n)!==0,g={startLineNumber:r,startColumn:this._textModel.getLineMaxColumn(r),endLineNumber:a,endColumn:this._textModel.getLineMaxColumn(a)+1};t.push({range:g,options:this._decorationProvider.getDecorationOption(c,a<=i,h)}),c&&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),c=this._textModel.getDecorationRange(this._editorDecorationIds[i]);c&&(s&&(e!=null&&e.startsInside(c.startLineNumber+1,c.endLineNumber))&&(s=!1),t.push({startLineNumber:c.startLineNumber,endLineNumber:c.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=yo.sanitizeAndMerge(this._regions,t,i);this.updatePost(yo.fromFoldRanges(n))}_getLinesChecksum(e,t){return yE(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,c=this._regions.length;a<c;a++){const h=this._regions.toRegion(a);if(this._regions.getStartLineNumber(a)<s){for(;r.length>0&&!h.containedBy(r[r.length-1]);)r.pop();r.push(h),t(h,r.length)&&i.push(h)}else break}}else for(let r=n,a=this._regions.length;r<a;r++){const c=this._regions.toRegion(r);if(this._regions.getStartLineNumber(r)<s)(!t||t(c))&&i.push(c);else break}return i}}function S1(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,(c,h)=>c.isCollapsed!==r&&h<e);i.push(...a)}}}o.toggleCollapseState(i)}function Tg(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,(c,h)=>c.isCollapsed!==e&&h<t);n.push(...a)}}else{const s=o.getRegionsInside(null,(r,a)=>r.isCollapsed!==e&&a<t);n.push(...s)}o.toggleCollapseState(n)}function XM(o,e,t,i){const n=[];for(const s of i){const r=o.getAllRegionsAtLine(s,(a,c)=>a.isCollapsed!==e&&c<=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 zV(o,e,t,i){const n=(r,a)=>a===e&&r.isCollapsed!==t&&!i.some(c=>r.containsLine(c)),s=o.getRegionsInside(null,n);o.toggleCollapseState(s)}function YM(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 C1(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 x1(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 VV(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 jV(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 UV(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 $V{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||CO(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 c=a.getStartLineNumber(i)+1,h=a.getEndLineNumber(i);s<=c&&h<=r||(!e&&n<this._hiddenRanges.length&&this._hiddenRanges[n].startLineNumber===c&&this._hiddenRanges[n].endLineNumber===h?(t.push(this._hiddenRanges[n]),n++):(e=!0,t.push(new B(c,1,h,1))),s=c,r=h)}(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 aI(this._hiddenRanges,e)!==null}adjustSelections(e){let t=!1;const i=this._foldingModel.textModel;let n=null;const s=r=>((!n||!qV(r,n))&&(n=aI(this._hiddenRanges,r)),n?n.startLineNumber-1:null);for(let r=0,a=e.length;r<a;r++){let c=e[r];const h=s(c.startLineNumber);h&&(c=c.setStartPosition(h,i.getLineMaxColumn(h)),t=!0);const g=s(c.endLineNumber);g&&(c=c.setEndPosition(g,i.getLineMaxColumn(g)),t=!0),e[r]=c}return t}dispose(){this.hiddenRanges.length>0&&(this._hiddenRanges=[],this._updateEventEmitter.fire(this._hiddenRanges)),this._foldingModelListener&&(this._foldingModelListener.dispose(),this._foldingModelListener=null)}}function qV(o,e){return o>=e.startLineNumber&&o<=e.endLineNumber}function aI(o,e){const t=uE(o,i=>e<i.startLineNumber)-1;return t>=0&&o[t].endLineNumber>=e?o[t]:null}const KV=5e3,GV="indent";class L1{constructor(e,t,i){this.editorModel=e,this.languageConfigurationService=t,this.foldingRangesLimit=i,this.id=GV}dispose(){}compute(e){const t=this.languageConfigurationService.getLanguageConfiguration(this.editorModel.getLanguageId()).foldingRules,i=t&&!!t.offSide,n=t&&t.markers;return Promise.resolve(YV(this.editorModel,i,n,this.foldingRangesLimit))}}let ZV=class{constructor(e){this._startIndexes=[],this._endIndexes=[],this._indentOccurrences=[],this._length=0,this._foldingRangesLimit=e}insertFirst(e,t,i){if(e>Er||t>Er)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 yo(i,n)}else{this._foldingRangesLimit.update(this._length,t);let i=0,n=this._indentOccurrences.length;for(let c=0;c<this._indentOccurrences.length;c++){const h=this._indentOccurrences[c];if(h){if(h+i>t){n=c;break}i+=h}}const s=e.getOptions().tabSize,r=new Uint32Array(t),a=new Uint32Array(t);for(let c=this._length-1,h=0;c>=0;c--){const g=this._startIndexes[c],f=e.getLineContent(g),p=f0(f,s);(p<n||p===n&&i++<t)&&(r[h]=g,a[h]=this._endIndexes[c],h++)}return new yo(r,a)}}};const XV={limit:KV,update:()=>{}};function YV(o,e,t,i=XV){const n=o.getOptions().tabSize,s=new ZV(i);let r;t&&(r=new RegExp(`(${t.start.source})|(?:${t.end.source})`));const a=[],c=o.getLineCount()+1;a.push({indent:-1,endAbove:c,line:c});for(let h=o.getLineCount();h>0;h--){const g=o.getLineContent(h),f=f0(g,n);let p=a[a.length-1];if(f===-1){e&&(p.endAbove=h);continue}let v;if(r&&(v=g.match(r)))if(v[1]){let _=a.length-1;for(;_>0&&a[_].indent!==-2;)_--;if(_>0){a.length=_+1,p=a[_],s.insertFirst(h,p.line,f),p.line=h,p.indent=f,p.endAbove=h;continue}}else{a.push({indent:-2,endAbove:h,line:h});continue}if(p.indent>f){do a.pop(),p=a[a.length-1];while(p.indent>f);const _=p.endAbove-1;_-h>=1&&s.insertFirst(h,_,f)}p.indent===f?p.endAbove=h:a.push({indent:f,endAbove:h,line:h})}return s.toIndentRanges(o)}const JV=ut("editor.foldBackground",{light:ya(BL,.3),dark:ya(BL,.3),hcDark:null,hcLight:null},w("foldBackgroundBackground","Background color behind folded ranges. The color must not be opaque so as not to hide underlying decorations."),!0);ut("editor.foldPlaceholderForeground",{light:"#808080",dark:"#808080",hcDark:null,hcLight:null},w("collapsedTextColor","Color of the collapsed text after the first line of a folded range."));ut("editorGutter.foldingControlForeground",xO,w("editorGutter.foldingControlForeground","Color of the folding control in the editor gutter."));const ev=Gn("folding-expanded",Xt.chevronDown,w("foldingExpandedIcon","Icon for expanded ranges in the editor glyph margin.")),tv=Gn("folding-collapsed",Xt.chevronRight,w("foldingCollapsedIcon","Icon for collapsed ranges in the editor glyph margin.")),lI=Gn("folding-manual-collapsed",tv,w("foldingManualCollapedIcon","Icon for manually collapsed ranges in the editor glyph margin.")),cI=Gn("folding-manual-expanded",ev,w("foldingManualExpandedIcon","Icon for manually expanded ranges in the editor glyph margin.")),py={color:as(JV),position:1},jh=w("linesCollapsed","Click to expand the range."),Rm=w("linesExpanded","Click to collapse the range."),Xn=class Xn{constructor(e){this.editor=e,this.showFoldingControls="mouseover",this.showFoldingHighlights=!0}getDecorationOption(e,t,i){return t?Xn.HIDDEN_RANGE_DECORATION:this.showFoldingControls==="never"?e?this.showFoldingHighlights?Xn.NO_CONTROLS_COLLAPSED_HIGHLIGHTED_RANGE_DECORATION:Xn.NO_CONTROLS_COLLAPSED_RANGE_DECORATION:Xn.NO_CONTROLS_EXPANDED_RANGE_DECORATION:e?i?this.showFoldingHighlights?Xn.MANUALLY_COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION:Xn.MANUALLY_COLLAPSED_VISUAL_DECORATION:this.showFoldingHighlights?Xn.COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION:Xn.COLLAPSED_VISUAL_DECORATION:this.showFoldingControls==="mouseover"?i?Xn.MANUALLY_EXPANDED_AUTO_HIDE_VISUAL_DECORATION:Xn.EXPANDED_AUTO_HIDE_VISUAL_DECORATION:i?Xn.MANUALLY_EXPANDED_VISUAL_DECORATION:Xn.EXPANDED_VISUAL_DECORATION}changeDecorations(e){return this.editor.changeDecorations(e)}removeDecorations(e){this.editor.removeDecorations(e)}};Xn.COLLAPSED_VISUAL_DECORATION=Ci.register({description:"folding-collapsed-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:!0,linesDecorationsTooltip:jh,firstLineDecorationClassName:qi.asClassName(tv)}),Xn.COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION=Ci.register({description:"folding-collapsed-highlighted-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",className:"folded-background",minimap:py,isWholeLine:!0,linesDecorationsTooltip:jh,firstLineDecorationClassName:qi.asClassName(tv)}),Xn.MANUALLY_COLLAPSED_VISUAL_DECORATION=Ci.register({description:"folding-manually-collapsed-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:!0,linesDecorationsTooltip:jh,firstLineDecorationClassName:qi.asClassName(lI)}),Xn.MANUALLY_COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION=Ci.register({description:"folding-manually-collapsed-highlighted-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",className:"folded-background",minimap:py,isWholeLine:!0,linesDecorationsTooltip:jh,firstLineDecorationClassName:qi.asClassName(lI)}),Xn.NO_CONTROLS_COLLAPSED_RANGE_DECORATION=Ci.register({description:"folding-no-controls-range-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:!0,linesDecorationsTooltip:jh}),Xn.NO_CONTROLS_COLLAPSED_HIGHLIGHTED_RANGE_DECORATION=Ci.register({description:"folding-no-controls-range-decoration",stickiness:0,afterContentClassName:"inline-folded",className:"folded-background",minimap:py,isWholeLine:!0,linesDecorationsTooltip:jh}),Xn.EXPANDED_VISUAL_DECORATION=Ci.register({description:"folding-expanded-visual-decoration",stickiness:1,isWholeLine:!0,firstLineDecorationClassName:"alwaysShowFoldIcons "+qi.asClassName(ev),linesDecorationsTooltip:Rm}),Xn.EXPANDED_AUTO_HIDE_VISUAL_DECORATION=Ci.register({description:"folding-expanded-auto-hide-visual-decoration",stickiness:1,isWholeLine:!0,firstLineDecorationClassName:qi.asClassName(ev),linesDecorationsTooltip:Rm}),Xn.MANUALLY_EXPANDED_VISUAL_DECORATION=Ci.register({description:"folding-manually-expanded-visual-decoration",stickiness:0,isWholeLine:!0,firstLineDecorationClassName:"alwaysShowFoldIcons "+qi.asClassName(cI),linesDecorationsTooltip:Rm}),Xn.MANUALLY_EXPANDED_AUTO_HIDE_VISUAL_DECORATION=Ci.register({description:"folding-manually-expanded-auto-hide-visual-decoration",stickiness:0,isWholeLine:!0,firstLineDecorationClassName:qi.asClassName(cI),linesDecorationsTooltip:Rm}),Xn.NO_CONTROLS_EXPANDED_RANGE_DECORATION=Ci.register({description:"folding-no-controls-range-decoration",stickiness:0,isWholeLine:!0}),Xn.HIDDEN_RANGE_DECORATION=Ci.register({description:"folding-hidden-range-decoration",stickiness:1});let fC=Xn;const QV={},e4="syntax";class k1{constructor(e,t,i,n,s){this.editorModel=e,this.providers=t,this.handleFoldingRangesChange=i,this.foldingRangesLimit=n,this.fallbackRangeProvider=s,this.id=e4,this.disposables=new He,s&&this.disposables.add(s);for(const r of t)typeof r.onDidChange=="function"&&this.disposables.add(r.onDidChange(i))}compute(e){return t4(this.providers,this.editorModel,e).then(t=>{var i;return t?n4(t,this.foldingRangesLimit):((i=this.fallbackRangeProvider)==null?void 0:i.compute(e))??null})}dispose(){this.disposables.dispose()}}function t4(o,e,t){let i=null;const n=o.map((s,r)=>Promise.resolve(s.provideFoldingRanges(e,QV,t)).then(a=>{if(!t.isCancellationRequested&&Array.isArray(a)){Array.isArray(i)||(i=[]);const c=e.getLineCount();for(const h of a)h.start>0&&h.end>h.start&&h.end<=c&&i.push({start:h.start,end:h.end,rank:r,kind:h.kind})}},Yn));return Promise.all(n).then(s=>i)}class i4{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>Er||t>Er)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 yo(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 c=this._nestingLevelCounts[a];if(c){if(c+t>e){i=a;break}t+=c}}const n=new Uint32Array(e),s=new Uint32Array(e),r=[];for(let a=0,c=0;a<this._length;a++){const h=this._nestingLevels[a];(h<i||h===i&&t++<e)&&(n[c]=this._startIndexes[a],s[c]=this._endIndexes[a],r[c]=this._types[a],c++)}return new yo(n,s,r)}}}function n4(o,e){const t=o.sort((r,a)=>{let c=r.start-a.start;return c===0&&(c=r.rank-a.rank),c}),i=new i4(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 s4=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(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)}},Fc;const ws=new Di("foldingEnabled",!1);var Dd;let vc=(Dd=class extends ze{static get(e){return e.getContribution(Fc.ID)}static getFoldingRangeProviders(e,t){var n;const i=e.foldingRangeProvider.ordered(t);return((n=Fc._foldingRangeSelector)==null?void 0:n.call(Fc,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 He),this.editor=e,this._foldingLimitReporter=new JM(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 fC(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(c=>{if(c.hasChanged(43)&&(this._isEnabled=this.editor.getOptions().get(43),this.foldingEnabled.set(this._isEnabled),this.onModelChanged()),c.hasChanged(47)&&this.onModelChanged(),c.hasChanged(111)||c.hasChanged(45)){const h=this.editor.getOptions();this.foldingDecorationProvider.showFoldingControls=h.get(111),this.foldingDecorationProvider.showFoldingHighlights=h.get(45),this.triggerFoldingModelChanged()}c.hasChanged(44)&&(this._useFoldingProviders=this.editor.getOptions().get(44)!=="indentation",this.onFoldingStrategyChanged()),c.hasChanged(48)&&(this._unfoldOnClickAfterEndOfLine=this.editor.getOptions().get(48)),c.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 WV(e,this.foldingDecorationProvider),this.localToDispose.add(this.foldingModel),this.hiddenRangeModel=new $V(this.foldingModel),this.localToDispose.add(this.hiddenRangeModel),this.localToDispose.add(this.hiddenRangeModel.onDidChange(t=>this.onHiddenRangesChanges(t))),this.updateScheduler=new gc(this.updateDebounceInfo.get(e)),this.cursorChangedScheduler=new ds(()=>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 L1(e,this.languageConfigurationService,this._foldingLimitReporter);if(this.rangeProvider=t,this._useFoldingProviders&&this.foldingModel){const i=Fc.getFoldingRangeProviders(this.languageFeaturesService,e);i.length>0&&(this.rangeProvider=new k1(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 co,i=this.getRangeProvider(e.textModel),n=this.foldingRegionPromise=ms(s=>i.compute(s));return n.then(s=>{if(s&&n===this.foldingRegionPromise){let r;if(this._foldingImportsByDefault&&!this._currentModelHasFoldedImports){const h=s.setCollapsedAllOfType(jp.Imports.value,!0);h&&(r=Gu.capture(this.editor),this._currentModelHasFoldedImports=h)}const a=this.editor.getSelections();e.update(s,o4(a)),r==null||r.restore(this.editor);const c=this.updateDebounceInfo.update(e.textModel,t.elapsed());this.updateScheduler&&(this.updateScheduler.defaultDelay=c)}return e})}).then(void 0,e=>(cn(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,cn)}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 c=e.event.altKey;let h=[];if(c){const g=p=>!p.containedBy(r)&&!r.containedBy(p),f=t.getRegionsInside(null,g);for(const p of f)p.isCollapsed&&h.push(p);h.length===0&&(h=f)}else{const g=e.event.middleButton||e.event.shiftKey;if(g)for(const f of t.getRegionsInside(r))f.isCollapsed===a&&h.push(f);(a||!g||h.length===0)&&h.push(r)}t.toggleCollapseState(h),this.reveal({lineNumber:i,column:1})}}}reveal(e){this.editor.revealPositionInCenterIfOutsideViewport(e,0)}},Fc=Dd,Dd.ID="editor.contrib.folding",Dd);vc=Fc=s4([$g(1,Fi),$g(2,ps),$g(3,Bs),$g(4,Vo),$g(5,St)],vc);class JM{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 Ls extends we{runEditorCommand(e,t,i){const n=e.get(ps),s=vc.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 c=t.getSelection();c&&s.reveal(c.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 o4(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 QM(o){if(!Yg(o)){if(!SE(o))return!1;const e=o;if(!Yg(e.levels)&&!zL(e.levels)||!Yg(e.direction)&&!GD(e.direction)||!Yg(e.selectionLines)&&(!Array.isArray(e.selectionLines)||!e.selectionLines.every(zL)))return!1}return!0}class r4 extends Ls{constructor(){super({id:"editor.unfold",label:w("unfoldAction.label","Unfold"),alias:"Unfold",precondition:ws,kbOpts:{kbExpr:M.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:QM,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"?XM(t,!1,s,r):Tg(t,!1,s,r)}}class a4 extends Ls{constructor(){super({id:"editor.unfoldRecursively",label:w("unFoldRecursivelyAction.label","Unfold Recursively"),alias:"Unfold Recursively",precondition:ws,kbOpts:{kbExpr:M.editorTextFocus,primary:ts(2089,2142),weight:100}})}invoke(e,t,i,n){Tg(t,!1,Number.MAX_VALUE,this.getSelectedLines(i))}}class l4 extends Ls{constructor(){super({id:"editor.fold",label:w("foldAction.label","Fold"),alias:"Fold",precondition:ws,kbOpts:{kbExpr:M.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:QM,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"?XM(t,!0,r||1,s):Tg(t,!0,r||1,s)}}class c4 extends Ls{constructor(){super({id:"editor.toggleFold",label:w("toggleFoldAction.label","Toggle Fold"),alias:"Toggle Fold",precondition:ws,kbOpts:{kbExpr:M.editorTextFocus,primary:ts(2089,2090),weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);S1(t,1,n)}}class d4 extends Ls{constructor(){super({id:"editor.foldRecursively",label:w("foldRecursivelyAction.label","Fold Recursively"),alias:"Fold Recursively",precondition:ws,kbOpts:{kbExpr:M.editorTextFocus,primary:ts(2089,2140),weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);Tg(t,!0,Number.MAX_VALUE,n)}}class h4 extends Ls{constructor(){super({id:"editor.toggleFoldRecursively",label:w("toggleFoldRecursivelyAction.label","Toggle Fold Recursively"),alias:"Toggle Fold Recursively",precondition:ws,kbOpts:{kbExpr:M.editorTextFocus,primary:ts(2089,3114),weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);S1(t,Number.MAX_VALUE,n)}}class u4 extends Ls{constructor(){super({id:"editor.foldAllBlockComments",label:w("foldAllBlockComments.label","Fold All Block Comments"),alias:"Fold All Block Comments",precondition:ws,kbOpts:{kbExpr:M.editorTextFocus,primary:ts(2089,2138),weight:100}})}invoke(e,t,i,n,s){if(t.regions.hasTypes())x1(t,jp.Comment.value,!0);else{const r=i.getModel();if(!r)return;const a=s.getLanguageConfiguration(r.getLanguageId()).comments;if(a&&a.blockCommentStartToken){const c=new RegExp("^\\s*"+Hf(a.blockCommentStartToken));C1(t,c,!0)}}}}class g4 extends Ls{constructor(){super({id:"editor.foldAllMarkerRegions",label:w("foldAllMarkerRegions.label","Fold All Regions"),alias:"Fold All Regions",precondition:ws,kbOpts:{kbExpr:M.editorTextFocus,primary:ts(2089,2077),weight:100}})}invoke(e,t,i,n,s){if(t.regions.hasTypes())x1(t,jp.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 c=new RegExp(a.markers.start);C1(t,c,!0)}}}}class f4 extends Ls{constructor(){super({id:"editor.unfoldAllMarkerRegions",label:w("unfoldAllMarkerRegions.label","Unfold All Regions"),alias:"Unfold All Regions",precondition:ws,kbOpts:{kbExpr:M.editorTextFocus,primary:ts(2089,2078),weight:100}})}invoke(e,t,i,n,s){if(t.regions.hasTypes())x1(t,jp.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 c=new RegExp(a.markers.start);C1(t,c,!1)}}}}class p4 extends Ls{constructor(){super({id:"editor.foldAllExcept",label:w("foldAllExcept.label","Fold All Except Selected"),alias:"Fold All Except Selected",precondition:ws,kbOpts:{kbExpr:M.editorTextFocus,primary:ts(2089,2136),weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);YM(t,!0,n)}}class m4 extends Ls{constructor(){super({id:"editor.unfoldAllExcept",label:w("unfoldAllExcept.label","Unfold All Except Selected"),alias:"Unfold All Except Selected",precondition:ws,kbOpts:{kbExpr:M.editorTextFocus,primary:ts(2089,2134),weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);YM(t,!1,n)}}class _4 extends Ls{constructor(){super({id:"editor.foldAll",label:w("foldAllAction.label","Fold All"),alias:"Fold All",precondition:ws,kbOpts:{kbExpr:M.editorTextFocus,primary:ts(2089,2069),weight:100}})}invoke(e,t,i){Tg(t,!0)}}class v4 extends Ls{constructor(){super({id:"editor.unfoldAll",label:w("unfoldAllAction.label","Unfold All"),alias:"Unfold All",precondition:ws,kbOpts:{kbExpr:M.editorTextFocus,primary:ts(2089,2088),weight:100}})}invoke(e,t,i){Tg(t,!1)}}const _u=class _u extends Ls{getFoldingLevel(){return parseInt(this.id.substr(_u.ID_PREFIX.length))}invoke(e,t,i){zV(t,this.getFoldingLevel(),!0,this.getSelectedLines(i))}};_u.ID_PREFIX="editor.foldLevel",_u.ID=e=>_u.ID_PREFIX+e;let iv=_u;class b4 extends Ls{constructor(){super({id:"editor.gotoParentFold",label:w("gotoParentFold.label","Go to Parent Fold"),alias:"Go to Parent Fold",precondition:ws,kbOpts:{kbExpr:M.editorTextFocus,weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);if(n.length>0){const s=VV(n[0],t);s!==null&&i.setSelection({startLineNumber:s,startColumn:1,endLineNumber:s,endColumn:1})}}}class w4 extends Ls{constructor(){super({id:"editor.gotoPreviousFold",label:w("gotoPreviousFold.label","Go to Previous Folding Range"),alias:"Go to Previous Folding Range",precondition:ws,kbOpts:{kbExpr:M.editorTextFocus,weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);if(n.length>0){const s=jV(n[0],t);s!==null&&i.setSelection({startLineNumber:s,startColumn:1,endLineNumber:s,endColumn:1})}}}class y4 extends Ls{constructor(){super({id:"editor.gotoNextFold",label:w("gotoNextFold.label","Go to Next Folding Range"),alias:"Go to Next Folding Range",precondition:ws,kbOpts:{kbExpr:M.editorTextFocus,weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);if(n.length>0){const s=UV(n[0],t);s!==null&&i.setSelection({startLineNumber:s,startColumn:1,endLineNumber:s,endColumn:1})}}}class S4 extends Ls{constructor(){super({id:"editor.createFoldingRangeFromSelection",label:w("createManualFoldRange.label","Create Folding Range from Selection"),alias:"Create Folding Range from Selection",precondition:ws,kbOpts:{kbExpr:M.editorTextFocus,primary:ts(2089,2135),weight:100}})}invoke(e,t,i){var r;const n=[],s=i.getSelections();if(s){for(const a of s){let c=a.endLineNumber;a.endColumn===1&&--c,c>a.startLineNumber&&(n.push({startLineNumber:a.startLineNumber,endLineNumber:c,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((c,h)=>c.startLineNumber-h.startLineNumber);const a=yo.sanitizeAndMerge(t.regions,n,(r=i.getModel())==null?void 0:r.getLineCount());t.updatePost(yo.fromFoldRanges(a))}}}}class C4 extends Ls{constructor(){super({id:"editor.removeManualFoldingRanges",label:w("removeManualFoldingRanges.label","Remove Manual Folding Ranges"),alias:"Remove Manual Folding Ranges",precondition:ws,kbOpts:{kbExpr:M.editorTextFocus,primary:ts(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:c}=r;s.push(c>=a?{startLineNumber:a,endLineNumber:c}:{endLineNumber:c,startLineNumber:a})}t.removeManualRanges(s),e.triggerFoldingModelChanged()}}}_i(vc.ID,vc,0);ie(r4);ie(a4);ie(l4);ie(d4);ie(h4);ie(_4);ie(v4);ie(u4);ie(g4);ie(f4);ie(p4);ie(m4);ie(c4);ie(b4);ie(w4);ie(y4);ie(S4);ie(C4);for(let o=1;o<=7;o++)LO(new iv({id:iv.ID(o),label:w("foldLevelAction.label","Fold Level {0}",o),alias:`Fold Level ${o}`,precondition:ws,kbOpts:{kbExpr:M.editorTextFocus,primary:ts(2089,2048|21+o),weight:100}}));fn.registerCommand("_executeFoldingRangeProvider",async function(o,...e){const[t]=e;if(!(t instanceof sn))throw Ja();const i=o.get(St),n=o.get(zs).getModel(t);if(!n)throw Ja();const s=o.get(Sn);if(!s.getValue("editor.folding",{resource:t}))return[];const r=o.get(ps),a=s.getValue("editor.foldingStrategy",{resource:t}),c={get limit(){return s.getValue("editor.foldingMaximumRegions",{resource:t})},update:(v,_)=>{}},h=new L1(n,r,c);let g=h;if(a!=="indentation"){const v=vc.getFoldingRangeProviders(i,n);v.length&&(g=new k1(n,v,()=>{},c,h))}const f=await g.compute(fi.None),p=[];try{if(f)for(let v=0;v<f.length;v++){const _=f.getType(v);p.push({start:f.getStartLineNumber(v),end:f.getEndLineNumber(v),kind:_?jp.fromValue(_):void 0})}return p}finally{g.dispose()}});class x4 extends we{constructor(){super({id:"editor.action.fontZoomIn",label:w("EditorFontZoomIn.label","Increase Editor Font Size"),alias:"Increase Editor Font Size",precondition:void 0})}run(e,t){Uf.setZoomLevel(Uf.getZoomLevel()+1)}}class L4 extends we{constructor(){super({id:"editor.action.fontZoomOut",label:w("EditorFontZoomOut.label","Decrease Editor Font Size"),alias:"Decrease Editor Font Size",precondition:void 0})}run(e,t){Uf.setZoomLevel(Uf.getZoomLevel()-1)}}class k4 extends we{constructor(){super({id:"editor.action.fontZoomReset",label:w("EditorFontZoomReset.label","Reset Editor Font Size"),alias:"Reset Editor Font Size",precondition:void 0})}run(e,t){Uf.setZoomLevel(0)}}ie(x4);ie(L4);ie(k4);var eN=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Cf=function(o,e){return function(t,i){e(t,i,o)}},Ou;let nv=(Ou=class{constructor(e,t,i,n){this._editor=e,this._languageFeaturesService=t,this._workerService=i,this._accessibilitySignalService=n,this._disposables=new He,this._sessionDisposables=new He,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 L_;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 _s,s=this._editor.onDidChangeModelContent(r=>{if(r.isFlush){n.cancel(),s.dispose();return}for(let a=0,c=r.changes.length;a<c;a++)if(r.changes[a].range.endLineNumber<=i.lineNumber){n.cancel(),s.dispose();return}});kO(this._workerService,this._languageFeaturesService,t,i,e,t.getFormattingOptions(),n.token).then(r=>{n.token.isCancellationRequested||Co(r)&&(this._accessibilitySignalService.playSignal(xE.format,{userGesture:!1}),IO.execute(this._editor,r,!0))}).finally(()=>{s.dispose()})}},Ou.ID="editor.contrib.autoFormat",Ou);nv=eN([Cf(1,St),Cf(2,ml),Cf(3,CE)],nv);var Fu;let sv=(Fu=class{constructor(e,t,i){this.editor=e,this._languageFeaturesService=t,this._instantiationService=i,this._callOnDispose=new He,this._callOnModel=new He,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(LE,this.editor,e,2,Ka.None,fi.None,!1).catch(cn))}},Fu.ID="editor.contrib.formatOnPaste",Fu);sv=eN([Cf(1,St),Cf(2,ri)],sv);class I4 extends we{constructor(){super({id:"editor.action.formatDocument",label:w("formatDocument.label","Format Document"),alias:"Format Document",precondition:oe.and(M.notInCompositeEditor,M.writable,M.hasDocumentFormattingProvider),kbOpts:{kbExpr:M.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(ri);await e.get(Np).showWhile(i.invokeFunction(DO,t,1,Ka.None,fi.None,!0),250)}}}class D4 extends we{constructor(){super({id:"editor.action.formatSelection",label:w("formatSelection.label","Format Selection"),alias:"Format Selection",precondition:oe.and(M.writable,M.hasDocumentSelectionFormattingProvider),kbOpts:{kbExpr:M.editorTextFocus,primary:ts(2089,2084),weight:100},contextMenuOpts:{when:M.hasNonEmptySelection,group:"1_modification",order:1.31}})}async run(e,t){if(!t.hasModel())return;const i=e.get(ri),n=t.getModel(),s=t.getSelections().map(a=>a.isEmpty()?new B(a.startLineNumber,1,a.startLineNumber,n.getLineMaxColumn(a.startLineNumber)):a);await e.get(Np).showWhile(i.invokeFunction(LE,t,s,1,Ka.None,fi.None,!0),250)}}_i(nv.ID,nv,2);_i(sv.ID,sv,2);ie(I4);ie(D4);fn.registerCommand("editor.action.format",async o=>{const e=o.get(Jn).getFocusedCodeEditor();if(!e||!e.hasModel())return;const t=o.get(fs);e.getSelection().isEmpty()?await t.executeCommand("editor.action.formatDocument"):await t.executeCommand("editor.action.formatSelection")});var E4=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},my=function(o,e){return function(t,i){e(t,i,o)}};class hu{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 pC extends hu{constructor(e,t,i){super(),this.id=e,this.parent=t,this.symbol=i,this.children=new Map}}class tN extends hu{constructor(e,t,i,n){super(),this.id=e,this.parent=t,this.label=i,this.order=n,this.children=new Map}}class za extends hu{static create(e,t,i){const n=new _s(i),s=new za(t.uri),r=e.ordered(t),a=r.map((h,g)=>{const f=hu.findId(`provider_${g}`,s),p=new tN(f,s,h.displayName??"Unknown Outline Provider",g);return Promise.resolve(h.provideDocumentSymbols(t,n.token)).then(v=>{for(const _ of v||[])za._makeOutlineElement(_,p);return p},v=>(Yn(v),p)).then(v=>{hu.empty(v)?v.remove():s._groups.set(f,v)})}),c=e.onDidChange(()=>{const h=e.ordered(t);Ca(h,r)||n.cancel()});return Promise.all(a).then(()=>n.token.isCancellationRequested&&!i.isCancellationRequested?za.create(e,t,i):s._compact()).finally(()=>{n.dispose(),c.dispose(),n.dispose()})}static _makeOutlineElement(e,t){const i=hu.findId(e,t),n=new pC(i,t,e);if(e.children)for(const s of e.children)za._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=Ya.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 pC?e.push(t.symbol):e.push(...Ya.map(t.children.values(),i=>i.symbol));return e.sort((t,i)=>B.compareRangesUsingStarts(t.range,i.range))}asListOfDocumentSymbols(){const e=this.getTopLevelSymbols(),t=[];return za._flattenDocumentSymbols(t,e,""),t.sort((i,n)=>yt.compare(B.getStartPosition(i.range),B.getStartPosition(n.range))||yt.compare(B.getEndPosition(n.range),B.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&&za._flattenDocumentSymbols(e,n.children,n.name)}}const nm=fl("IOutlineModelService");let mC=class{constructor(e,t,i){this._languageFeaturesService=e,this._disposables=new He,this._cache=new Ap(10,.7),this._debounceInformation=t.for(e.documentSymbolProvider,"DocumentSymbols",{min:350}),this._disposables.add(i.onModelRemoved(n=>{this._cache.delete(n.id)}))}dispose(){this._disposables.dispose()}async getOrCreate(e,t){const i=this._languageFeaturesService.documentSymbolProvider,n=i.ordered(e);let s=this._cache.get(e.id);if(!s||s.versionId!==e.getVersionId()||!Ca(s.provider,n)){const a=new _s;s={versionId:e.getVersionId(),provider:n,promiseCnt:0,source:a,promise:za.create(i,e,a.token),model:void 0},this._cache.set(e.id,s);const c=Date.now();s.promise.then(h=>{s.model=h,this._debounceInformation.update(e,Date.now()-c)}).catch(h=>{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()}}};mC=E4([my(0,St),my(1,Vo),my(2,zs)],mC);pl(nm,mC,1);fn.registerCommand("_executeDocumentSymbolProvider",async function(o,...e){const[t]=e;ji(sn.isUri(t));const i=o.get(nm),s=await o.get($r).createModelReference(t);try{return(await i.getOrCreate(s.object.textEditorModel,fi.None)).getTopLevelSymbols()}finally{s.dispose()}});const sa=class sa extends ze{constructor(e,t){super(),this.contextKeyService=e,this.model=t,this.inlineCompletionVisible=sa.inlineSuggestionVisible.bindTo(this.contextKeyService),this.inlineCompletionSuggestsIndentation=sa.inlineSuggestionHasIndentation.bindTo(this.contextKeyService),this.inlineCompletionSuggestsIndentationLessThanTabSize=sa.inlineSuggestionHasIndentationLessThanTabSize.bindTo(this.contextKeyService),this.suppressSuggestions=sa.suppressSuggestions.bindTo(this.contextKeyService),this._register(Hn(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(Hn(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:c,lines:h}=a.parts[0],g=h[0],f=n.textModel.getLineIndentColumn(a.lineNumber);if(c<=f){let v=jy(g);v===-1&&(v=g.length-1),s=v>0;const _=n.textModel.getOptions().tabSize;r=EO.visibleColumnFromColumn(g,v+1,_)<_}}this.inlineCompletionSuggestsIndentation.set(s),this.inlineCompletionSuggestsIndentationLessThanTabSize.set(r)}))}};sa.inlineSuggestionVisible=new Di("inlineSuggestionVisible",!1,w("inlineSuggestionVisible","Whether an inline suggestion is visible")),sa.inlineSuggestionHasIndentation=new Di("inlineSuggestionHasIndentation",!1,w("inlineSuggestionHasIndentation","Whether the inline suggestion starts with whitespace")),sa.inlineSuggestionHasIndentationLessThanTabSize=new Di("inlineSuggestionHasIndentationLessThanTabSize",!0,w("inlineSuggestionHasIndentationLessThanTabSize","Whether the inline suggestion starts with whitespace that is less than what would be inserted by tab")),sa.suppressSuggestions=new Di("inlineSuggestionSuppressSuggestions",void 0,w("suppressSuggestions","Whether suggestions should be suppressed for the current suggestion"));let lo=sa;function P4(o){const e=new He,t=e.add(kE());return e.add(Hn(i=>{t.setStyle(o.read(i))})),e}class op{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 IE([...this.parts.map(s=>new rl(B.fromPositions(new yt(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=Zb(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 _C{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=Zb(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 dI(o,e){return Ca(o,e,iN)}function iN(o,e){return o===e?!0:!o||!e?!1:o instanceof op&&e instanceof op||o instanceof _C&&e instanceof _C?o.equals(e):!1}const T4=[];function M4(){return T4}class nN{constructor(e,t){if(this.startColumn=e,this.endColumnExclusive=t,e>t)throw new Ju(`startColumn ${e} cannot be after endColumnExclusive ${t}`)}toRange(e){return new B(e,this.startColumn,e,this.endColumnExclusive)}equals(e){return this.startColumn===e.startColumn&&this.endColumnExclusive===e.endColumnExclusive}}function sN(o,e){const t=new He,i=o.createDecorationsCollection();return t.add(PO({debugName:()=>`Apply decorations from ${e.debugName}`},n=>{const s=e.read(n);i.set(s)})),t.add({dispose:()=>{i.clear()}}),t}function N4(o,e){return new yt(o.lineNumber+e.lineNumber-1,e.lineNumber===1?o.column+e.column-1:e.column)}function hI(o,e){return new yt(o.lineNumber-e.lineNumber+1,o.lineNumber-e.lineNumber===0?o.column-e.column+1:o.column)}var R4=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},A4=function(o,e){return function(t,i){e(t,i,o)}};const uI="ghost-text";let vC=class extends ze{constructor(e,t,i){super(),this.editor=e,this.model=t,this.languageService=i,this.isDisposed=xo(this,!1),this.currentTextModel=no(this,this.editor.onDidChangeModel,()=>this.editor.getModel()),this.uiState=Xi(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 _C?r.columnRange:void 0,c=[],h=[];function g(y,S){if(h.length>0){const D=h[h.length-1];S&&D.decorations.push(new $f(D.content.length+1,D.content.length+1+y[0].length,S,0)),D.content+=y[0],y=y.slice(1)}for(const D of y)h.push({content:D,decorations:S?[new $f(1,D.length+1,S,0)]:[]})}const f=s.getLineContent(r.lineNumber);let p,v=0;for(const y of r.parts){let S=y.lines;p===void 0?(c.push({column:y.column,text:S[0],preview:y.preview}),S=S.slice(1)):g([f.substring(v,y.column-1)],void 0),S.length>0&&(g(S,uI),p===void 0&&y.column<=f.length&&(p=y.column)),v=y.column-1}p!==void 0&&g([f.substring(v)],void 0);const _=p!==void 0?new nN(p,f.length+1):void 0;return{replacedRange:a,inlineTexts:c,additionalLines:h,hiddenRange:_,lineNumber:r.lineNumber,additionalReservedLineCount:this.model.minReservedLineCount.read(n),targetTextModel:s}}),this.decorations=Xi(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:B.fromPositions(new yt(s.lineNumber,a.column)),options:{description:uI,after:{content:a.text,inlineClassName:a.preview?"ghost-text-decoration-preview":"ghost-text-decoration",cursorStops:ou.Left},showIfCollapsed:!0}});return r}),this.additionalLinesWidget=this._register(new O4(this.editor,this.languageService.languageIdCodec,Xi(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(wn(()=>{this.isDisposed.set(!0,void 0)})),this._register(sN(this.editor,this.decorations))}ownsViewZone(e){return this.additionalLinesWidget.viewZoneId===e}};vC=R4([A4(2,Ur)],vC);class O4 extends ze{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=td("editorOptionChanged",cs.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(Hn(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 c=document.createElement("div");F4(c,s,t,this.editor.getOptions(),this.languageIdCodec),this._viewZoneId=r.addZone({afterLineNumber:e,heightInLines:a,domNode:c,afterColumnAffinity:1})}})}}function F4(o,e,t,i,n){const s=i.get(33),r=i.get(118),a="none",c=i.get(95),h=i.get(51),g=i.get(50),f=i.get(67),p=new EE(1e4);p.appendString('<div class="suggest-preview-text">');for(let y=0,S=t.length;y<S;y++){const D=t[y],P=D.content;p.appendString('<div class="view-line'),p.appendString('" style="top:'),p.appendString(String(y*f)),p.appendString('px;width:1000000px;">');const N=NE(P),j=TO(P),H=MO.createEmpty(P,n);PE(new TE(g.isMonospace&&!s,g.canUseHalfwidthRightwardsArrow,P,!1,N,j,0,H,D.decorations,e,0,g.spaceWidth,g.middotWidth,g.wsmiddotWidth,r,a,c,h!==NO.OFF,null),p),p.appendString("</div>")}p.appendString("</div>"),ME(o,g);const v=p.build(),_=gI?gI.createHTML(v):v;o.innerHTML=_}const gI=DE("editorGhostText",{createHTML:o=>o});function H4(o,e){const t=new FO,i=new AO(t,h=>e.getLanguageConfiguration(h)),n=new RO(new W4([o]),i),s=OO(n,[],void 0,!0);let r="";const a=o.getLineContent();function c(h,g){if(h.kind===2)if(c(h.openingBracket,g),g=Bg(g,h.openingBracket.length),h.child&&(c(h.child,g),g=Bg(g,h.child.length)),h.closingBracket)c(h.closingBracket,g),g=Bg(g,h.closingBracket.length);else{const p=i.getSingleLanguageBracketTokens(h.openingBracket.languageId).findClosingTokenText(h.openingBracket.bracketIds);r+=p}else if(h.kind!==3){if(h.kind===0||h.kind===1)r+=a.substring(VL(g),VL(Bg(g,h.length)));else if(h.kind===4)for(const f of h.children)c(f,g),g=Bg(g,f.length)}}return c(s,HO),r}class W4{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 oN(o,e,t,i,n=fi.None,s){const r=e instanceof yt?V4(e,t):e,a=o.all(t),c=new WO;for(const D of a)D.groupId&&c.add(D.groupId,D);function h(D){if(!D.yieldsToGroupIds)return[];const P=[];for(const N of D.yieldsToGroupIds||[]){const j=c.get(N);for(const H of j)P.push(H)}return P}const g=new Map,f=new Set;function p(D,P){if(P=[...P,D],f.has(D))return P;f.add(D);try{const N=h(D);for(const j of N){const H=p(j,P);if(H)return H}}finally{f.delete(D)}}function v(D){const P=g.get(D);if(P)return P;const N=p(D,[]);N&&Yn(new Error(`Inline completions: cyclic yield-to dependency detected. Path: ${N.map(H=>H.toString?H.toString():""+H).join(" -> ")}`));const j=new Hb;return g.set(D,j.p),(async()=>{var H;if(!N){const ee=h(D);for(const X of ee){const pe=await v(X);if(pe&&pe.items.length>0)return}}try{return e instanceof yt?await D.provideInlineCompletions(t,e,i,n):await((H=D.provideInlineEdits)==null?void 0:H.call(D,t,e,i,n))}catch(ee){Yn(ee);return}})().then(H=>j.complete(H),H=>j.error(H)),j.p}const _=await Promise.all(a.map(async D=>({provider:D,completions:await v(D)}))),y=new Map,S=[];for(const D of _){const P=D.completions;if(!P)continue;const N=new z4(P,D.provider);S.push(N);for(const j of P.items){const H=rv.from(j,N,r,t,s);y.set(H.hash(),H)}}return new B4(Array.from(y.values()),new Set(y.keys()),S)}class B4{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 z4{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 rv{static from(e,t,i,n,s){let r,a,c=e.range?B.lift(e.range):i;if(typeof e.insertText=="string"){if(r=e.insertText,s&&e.completeBracketPairs){r=fI(r,c.getStartPosition(),n,s);const h=r.length-e.insertText.length;h!==0&&(c=new B(c.startLineNumber,c.startColumn,c.endLineNumber,c.endColumn+h))}a=void 0}else if("snippet"in e.insertText){const h=e.insertText.snippet.length;if(s&&e.completeBracketPairs){e.insertText.snippet=fI(e.insertText.snippet,c.getStartPosition(),n,s);const f=e.insertText.snippet.length-h;f!==0&&(c=new B(c.startLineNumber,c.startColumn,c.endLineNumber,c.endColumn+f))}const g=new sh().parse(e.insertText.snippet);g.children.length===1&&g.children[0]instanceof so?(r=g.children[0].value,a=void 0):(r=g.toString(),a={snippet:e.insertText.snippet,range:c})}else BO(e.insertText);return new rv(r,e.command,c,r,a,e.additionalTextEdits||M4(),e,t)}constructor(e,t,i,n,s,r,a,c){this.filterText=e,this.command=t,this.range=i,this.insertText=n,this.snippetInfo=s,this.additionalTextEdits=r,this.sourceInlineCompletion=a,this.source=c,e=e.replace(/\r\n|\r/g,`
34
- `),n=e.replace(/\r\n|\r/g,`
35
- `)}withRange(e){return new rv(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 rl(this.range,this.insertText)}}function V4(o,e){const t=e.getWordAtPosition(o),i=e.getLineMaxColumn(o.lineNumber);return t?new B(o.lineNumber,t.startColumn,o.lineNumber,i):B.fromPositions(o,o.with(void 0,i))}function fI(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?H4(a,i):o}function ld(o,e,t){const i=t?o.range.intersectRanges(t):o.range;if(!i)return o;const n=e.getValueInRange(i,1),s=Vp(n,o.text),r=k_.ofText(n.substring(0,s)).addToPosition(o.range.getStartPosition()),a=o.text.substring(s),c=B.fromPositions(r,o.range.getEndPosition());return new rl(c,a)}function rN(o,e){return o.text.startsWith(e.text)&&j4(o.range,e.range)}function pI(o,e,t,i,n=0){let s=ld(o,e);if(s.range.endLineNumber!==s.range.startLineNumber)return;const r=e.getLineContent(s.range.startLineNumber),a=Ss(r).length;if(s.range.startColumn-1<=a){const _=Ss(s.text).length,y=r.substring(s.range.startColumn-1,a),[S,D]=[s.range.getStartPosition(),s.range.getEndPosition()],P=S.column+y.length<=D.column?S.delta(0,y.length):D,N=B.fromPositions(P,D),j=s.text.startsWith(y)?s.text.substring(y.length):s.text.substring(_);s=new rl(N,j)}const h=e.getValueInRange(s.range),g=U4(h,s.text);if(!g)return;const f=s.range.startLineNumber,p=new Array;if(t==="prefix"){const _=g.filter(y=>y.originalLength===0);if(_.length>1||_.length===1&&_[0].originalStart!==h.length)return}const v=s.text.length-n;for(const _ of g){const y=s.range.startColumn+_.originalStart+_.originalLength;if(t==="subwordSmart"&&i&&i.lineNumber===s.range.startLineNumber&&y<i.column||_.originalLength>0)return;if(_.modifiedLength===0)continue;const S=_.modifiedStart+_.modifiedLength,D=Math.max(_.modifiedStart,Math.min(S,v)),P=s.text.substring(_.modifiedStart,D),N=s.text.substring(D,Math.max(_.modifiedStart,S));P.length>0&&p.push(new ov(y,P,!1)),N.length>0&&p.push(new ov(y,N,!0))}return new op(f,p)}function j4(o,e){return e.getStartPosition().equals(o.getStartPosition())&&e.getEndPosition().isBeforeOrEqual(o.getEndPosition())}let ea;function U4(o,e){if((ea==null?void 0:ea.originalValue)===o&&(ea==null?void 0:ea.newValue)===e)return ea==null?void 0:ea.changes;{let t=_I(o,e,!0);if(t){const i=mI(t);if(i>0){const n=_I(o,e,!1);n&&mI(n)<i&&(t=n)}}return ea={originalValue:o,newValue:e,changes:t},t}}function mI(o){let e=0;for(const t of o)e+=t.originalLength;return e}function _I(o,e,t){if(o.length>5e3||e.length>5e3)return;function i(h){let g=0;for(let f=0,p=h.length;f<p;f++){const v=h.charCodeAt(f);v>g&&(g=v)}return g}const n=Math.max(i(o),i(e));function s(h){if(h<0)throw new Error("unexpected");return n+h+1}function r(h){let g=0,f=0;const p=new Int32Array(h.length);for(let v=0,_=h.length;v<_;v++)if(t&&h[v]==="("){const y=f*100+g;p[v]=s(2*y),g++}else if(t&&h[v]===")"){g=Math.max(g-1,0);const y=f*100+g;p[v]=s(2*y+1),g===0&&f++}else p[v]=h.charCodeAt(v);return p}const a=r(o),c=r(e);return new zO({getElements:()=>a},{getElements:()=>c}).ComputeDiff(!1).changes}var $4=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},vI=function(o,e){return function(t,i){e(t,i,o)}};let bC=class extends ze{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 ko),this.inlineCompletions=qy("inlineCompletions",void 0),this.suggestWidgetInlineCompletions=qy("suggestWidgetInlineCompletions",void 0),this._register(this.textModel.onDidChangeContent(()=>{this._updateOperation.clear()}))}fetch(e,t,i){var g,f;const n=new K4(e,t,this.textModel.getVersionId()),s=t.selectedSuggestionInfo?this.suggestWidgetInlineCompletions:this.inlineCompletions;if((g=this._updateOperation.value)!=null&&g.request.satisfies(n))return this._updateOperation.value.promise;if((f=s.get())!=null&&f.request.satisfies(n))return Promise.resolve(!0);const r=!!this._updateOperation.value;this._updateOperation.clear();const a=new _s,c=(async()=>{if((r||t.triggerKind===Qa.Automatic)&&await q4(this._debounceValue.get(this.textModel),a.token),a.token.isCancellationRequested||this._store.isDisposed||this.textModel.getVersionId()!==n.versionId)return!1;const v=new Date,_=await oN(this.languageFeaturesService.inlineCompletionsProvider,e,this.textModel,t,a.token,this.languageConfigurationService);if(a.token.isCancellationRequested||this._store.isDisposed||this.textModel.getVersionId()!==n.versionId)return!1;const y=new Date;this._debounceValue.update(this.textModel,y.getTime()-v.getTime());const S=new Z4(_,n,this.textModel,this.versionId);if(i){const D=i.toInlineCompletion(void 0);i.canBeReused(this.textModel,e)&&!_.has(D)&&S.prepend(i.inlineCompletion,D.range,!0)}return this._updateOperation.clear(),_h(D=>{s.set(S,D)}),!0})(),h=new G4(n,a,c);return this._updateOperation.value=h,c}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()}};bC=$4([vI(3,St),vI(4,ps)],bC);function q4(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 K4{constructor(e,t,i){this.position=e,this.context=t,this.versionId=i}satisfies(e){return this.position.equals(e.position)&&VO(this.context.selectedSuggestionInfo,e.context.selectedSuggestionInfo,UO())&&(e.context.triggerKind===Qa.Automatic||this.context.triggerKind===Qa.Explicit)&&this.versionId===e.versionId}}class G4{constructor(e,t,i){this.request=e,this.cancellationTokenSource=t,this.promise=i}dispose(){this.cancellationTokenSource.cancel()}}class Z4{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 bI(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 bI(e,n,this._textModel,this._versionId)),this._prependedInlineCompletionItems.push(e)}}class bI{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=qa({owner:this,equalsFn:B.equalsRange},s=>(this._modelVersion.read(s),this._textModel.getDecorationRange(this.decorationId)))}toInlineCompletion(e){return this.inlineCompletion.withRange(this._updatedRange.read(e)??_y)}toSingleTextEdit(e){return new rl(this._updatedRange.read(e)??_y,this.inlineCompletion.insertText)}isVisible(e,t,i){const n=ld(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,c=Math.max(0,t.column-n.range.startColumn);let h=a.substring(0,c),g=a.substring(c),f=r.substring(0,c),p=r.substring(c);const v=e.getLineIndentColumn(n.range.startLineNumber);return n.range.startColumn<=v&&(f=f.trimStart(),f.length===0&&(p=p.trimStart()),h=h.trimStart(),h.length===0&&(g=g.trimStart())),h.startsWith(f)&&!!jO(p,g)}canBeReused(e,t){const i=this._updatedRange.read(void 0);return!!i&&i.containsPosition(t)&&this.isVisible(e,t,void 0)&&k_.ofRange(i).isGreaterThanOrEqualTo(k_.ofRange(this.inlineCompletion.range))}_toFilterTextReplacement(e){return new rl(this._updatedRange.read(e)??_y,this.inlineCompletion.filterText)}}const _y=new B(1,1,1,1),Kt={Visible:w1,HasFocusedSuggestion:new Di("suggestWidgetHasFocusedSuggestion",!1,w("suggestWidgetHasSelection","Whether any suggestion is focused")),DetailsVisible:new Di("suggestWidgetDetailsVisible",!1,w("suggestWidgetDetailsVisible","Whether suggestion details are visible")),MultipleSuggestions:new Di("suggestWidgetMultipleSuggestions",!1,w("suggestWidgetMultipleSuggestions","Whether there are multiple suggestions to pick from")),MakesTextEdit:new Di("suggestionMakesTextEdit",!0,w("suggestionMakesTextEdit","Whether inserting the current suggestion yields in a change or has everything already been typed")),AcceptSuggestionsOnEnter:new Di("acceptSuggestionOnEnter",!0,w("acceptSuggestionOnEnter","Whether suggestions are inserted when pressing Enter")),HasInsertAndReplaceRange:new Di("suggestionHasInsertAndReplaceRange",!1,w("suggestionHasInsertAndReplaceRange","Whether the current suggestion has insert and replace behaviour")),InsertMode:new Di("suggestionInsertMode",void 0,{type:"string",description:w("suggestionInsertMode","Whether the default behaviour is to insert or replace")}),CanResolve:new Di("suggestionCanResolve",!1,w("suggestionCanResolve","Whether the current suggestion supports to resolve further details"))},Zl=new et("suggestWidgetStatusBar");class X4{constructor(e,t,i,n){var s;this.position=e,this.completion=t,this.container=i,this.provider=n,this.isInvalid=!1,this.score=Vf.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,B.isIRange(t.range)?(this.editStart=new yt(t.range.startLineNumber,t.range.startColumn),this.editInsertEnd=new yt(t.range.endLineNumber,t.range.endColumn),this.editReplaceEnd=new yt(t.range.endLineNumber,t.range.endColumn),this.isInvalid=this.isInvalid||B.spansMultipleLines(t.range)||t.range.startLineNumber!==e.lineNumber):(this.editStart=new yt(t.range.insert.startLineNumber,t.range.insert.startColumn),this.editInsertEnd=new yt(t.range.insert.endLineNumber,t.range.insert.endColumn),this.editReplaceEnd=new yt(t.range.replace.endLineNumber,t.range.replace.endColumn),this.isInvalid=this.isInvalid||B.spansMultipleLines(t.range.insert)||B.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 co(!0);this._resolveCache=Promise.resolve(this.provider.resolveCompletionItem(this.completion,e)).then(n=>{Object.assign(this.completion,n),this._resolveDuration=i.elapsed()},n=>{yc(n)&&(this._resolveCache=void 0,this._resolveDuration=void 0)}).finally(()=>{t.dispose()})}return this._resolveCache}}const sb=class sb{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}};sb.default=new sb;let rp=sb;class Y4{constructor(e,t,i,n){this.items=e,this.needsClipboard=t,this.durations=i,this.disposable=n}}async function I1(o,e,t,i=rp.default,n={triggerKind:0},s=fi.None){const r=new co;t=t.clone();const a=e.getWordAtPosition(t),c=a?new B(t.lineNumber,a.startColumn,t.lineNumber,a.endColumn):B.fromPositions(t),h={replace:c,insert:c.setEndPosition(t.lineNumber,t.column)},g=[],f=new He,p=[];let v=!1;const _=(S,D,P)=>{var j;let N=!1;if(!D)return N;for(const H of D.suggestions)if(!i.kindFilter.has(H.kind)){if(!i.showDeprecated&&((j=H==null?void 0:H.tags)!=null&&j.includes(1)))continue;H.range||(H.range=h),H.sortText||(H.sortText=typeof H.label=="string"?H.label:H.label.label),!v&&H.insertTextRules&&H.insertTextRules&4&&(v=sh.guessNeedsClipboard(H.insertText)),g.push(new X4(t,H,D,S)),N=!0}return RE(D)&&f.add(D),p.push({providerName:S._debugDisplayName??"unknown_provider",elapsedProvider:D.duration??-1,elapsedOverall:P.elapsed()}),N},y=(async()=>{})();for(const S of o.orderedGroups(e)){let D=!1;if(await Promise.all(S.map(async P=>{if(i.providerItemsToReuse.has(P)){const N=i.providerItemsToReuse.get(P);N.forEach(j=>g.push(j)),D=D||N.length>0;return}if(!(i.providerFilter.size>0&&!i.providerFilter.has(P)))try{const N=new co,j=await P.provideCompletionItems(e,t,n,s);D=_(P,j,N)||D}catch(N){Yn(N)}})),D||s.isCancellationRequested)break}return await y,s.isCancellationRequested?(f.dispose(),Promise.reject(new Wb)):new Y4(g.sort(ej(i.snippetSortOrder)),v,{entries:p,elapsed:r.elapsed()},f)}function D1(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 J4(o,e){if(o.completion.kind!==e.completion.kind){if(o.completion.kind===27)return-1;if(e.completion.kind===27)return 1}return D1(o,e)}function Q4(o,e){if(o.completion.kind!==e.completion.kind){if(o.completion.kind===27)return 1;if(e.completion.kind===27)return-1}return D1(o,e)}const yw=new Map;yw.set(0,J4);yw.set(2,Q4);yw.set(1,D1);function ej(o){return yw.get(o)}fn.registerCommand("_executeCompletionItemProvider",async(o,...e)=>{const[t,i,n,s]=e;ji(sn.isUri(t)),ji(yt.isIPosition(i)),ji(typeof n=="string"||!n),ji(typeof s=="number"||!s);const{completionProvider:r}=o.get(St),a=await o.get($r).createModelReference(t);try{const c={incomplete:!1,suggestions:[]},h=[],g=a.object.textEditorModel.validatePosition(i),f=await I1(r,a.object.textEditorModel,g,void 0,{triggerCharacter:n??void 0,triggerKind:n?1:0});for(const p of f.items)h.length<(s??0)&&h.push(p.resolve(fi.None)),c.incomplete=c.incomplete||p.container.incomplete,c.suggestions.push(p.completion);try{return await Promise.all(h),c}finally{setTimeout(()=>f.disposable.dispose(),100)}}finally{a.dispose()}});function tj(o,e){var t;(t=o.getContribution("editor.contrib.suggestController"))==null||t.triggerSuggest(new Set().add(e),void 0,!0)}class uu{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 wI(o,e=Fb){return $O(o,e)?o.charAt(0).toUpperCase()+o.slice(1):o}var ij=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},nj=function(o,e){return function(t,i){e(t,i,o)}};class yI{constructor(e){this._delegates=e}resolve(e){for(const t of this._delegates){const i=t.resolve(e);if(i!==void 0)return i}}}class SI{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=Ss(s,0,this._selection.startColumn-1);let a=r;e.snippet.walk(h=>h===e?!1:(h instanceof so&&(a=Ss(Zb(h.value).pop())),!0));const c=Vp(a,r);i=i.replace(/(\r\n|\r|\n)(.*)/g,(h,g,f)=>`${g}${a.substr(c)}${f}`)}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 CI{constructor(e,t){this._labelService=e,this._model=t}resolve(e){const{name:t}=e;if(t==="TM_FILENAME")return pf(this._model.uri.fsPath);if(t==="TM_FILENAME_BASE"){const i=pf(this._model.uri.fsPath),n=i.lastIndexOf(".");return n<=0?i:i.slice(0,n)}else{if(t==="TM_DIRECTORY")return qO(this._model.uri.fsPath)==="."?"":this._labelService.getUriLabel(x0(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 xI{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=>!KO(n));if(i.length===this._selectionCount)return i[this._selectionIdx]}return t}}}let av=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}}};av=ij([nj(2,ps)],av);const oa=class oa{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 oa.dayNames[this._date.getDay()];if(t==="CURRENT_DAY_NAME_SHORT")return oa.dayNamesShort[this._date.getDay()];if(t==="CURRENT_MONTH_NAME")return oa.monthNames[this._date.getMonth()];if(t==="CURRENT_MONTH_NAME_SHORT")return oa.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,c=a<10?"0"+a:a;return n+r+":"+c}}};oa.dayNames=[w("Sunday","Sunday"),w("Monday","Monday"),w("Tuesday","Tuesday"),w("Wednesday","Wednesday"),w("Thursday","Thursday"),w("Friday","Friday"),w("Saturday","Saturday")],oa.dayNamesShort=[w("SundayShort","Sun"),w("MondayShort","Mon"),w("TuesdayShort","Tue"),w("WednesdayShort","Wed"),w("ThursdayShort","Thu"),w("FridayShort","Fri"),w("SaturdayShort","Sat")],oa.monthNames=[w("January","January"),w("February","February"),w("March","March"),w("April","April"),w("May","May"),w("June","June"),w("July","July"),w("August","August"),w("September","September"),w("October","October"),w("November","November"),w("December","December")],oa.monthNamesShort=[w("JanuaryShort","Jan"),w("FebruaryShort","Feb"),w("MarchShort","Mar"),w("AprilShort","Apr"),w("MayShort","May"),w("JuneShort","Jun"),w("JulyShort","Jul"),w("AugustShort","Aug"),w("SeptemberShort","Sep"),w("OctoberShort","Oct"),w("NovemberShort","Nov"),w("DecemberShort","Dec")];let lv=oa;class LI{constructor(e){this._workspaceService=e}resolve(e){if(!this._workspaceService)return;const t=GO(this._workspaceService.getWorkspace());if(!ZO(t)){if(e.name==="WORKSPACE_NAME")return this._resolveWorkspaceName(t);if(e.name==="WORKSPACE_FOLDER")return this._resoveWorkspacePath(t)}}_resolveWorkspaceName(e){if(jL(e))return pf(e.uri.path);let t=pf(e.configPath.path);return t.endsWith(UL)&&(t=t.substr(0,t.length-UL.length-1)),t}_resoveWorkspacePath(e){if(jL(e))return wI(e.uri.fsPath);const t=pf(e.configPath.path);let i=e.configPath.fsPath;return i.endsWith(t)&&(i=i.substr(0,i.length-t.length-1)),i?wI(i):"/"}}class kI{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 hw()}}var sj=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(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)}},Sr;const Jo=class Jo{constructor(e,t,i){this._editor=e,this._snippet=t,this._snippetLineLeadingWhitespace=i,this._offset=-1,this._nestingLevel=1,this._placeholderGroups=$L(t.placeholders,Wo.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=B.fromPositions(e.getPositionAt(this._offset+n),e.getPositionAt(this._offset+n+s)),a=i.isFinalTabstop?Jo._decor.inactiveFinal:Jo._decor.inactive,c=t.addDecoration(r,a);this._placeholderDecorations.set(i,c)}})}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),c=this._editor.getModel().getValueInRange(a),h=s.transform.resolve(c).split(/\r\n|\r|\n/);for(let g=1;g<h.length;g++)h[g]=this._editor.getModel().normalizeIndentation(this._snippetLineLeadingWhitespace+h[g]);n.push(jn.replace(a,h.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 c=this._placeholderDecorations.get(a),h=this._editor.getModel().getDecorationRange(c);r.push(new jt(h.startLineNumber,h.startColumn,h.endLineNumber,h.endColumn)),t=t&&this._hasPlaceholderBeenCollapsed(a),n.changeDecorationOptions(c,a.isFinalTabstop?Jo._decor.activeFinal:Jo._decor.active),s.add(a);for(const g of this._snippet.enclosingPlaceholders(a)){const f=this._placeholderDecorations.get(g);n.changeDecorationOptions(f,g.isFinalTabstop?Jo._decor.activeFinal:Jo._decor.active),s.add(g)}}for(const[a,c]of this._placeholderDecorations)s.has(a)||n.changeDecorationOptions(c,a.isFinalTabstop?Jo._decor.inactiveFinal:Jo._decor.inactive);return r});return t?this.move(e):i??[]}_hasPlaceholderBeenCollapsed(e){let t=e;for(;t;){if(t instanceof Wo){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 Pg,!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 c of s._snippet.placeholderInfo.all)c.isFinalTabstop?c.index=n.index+(r+1)/this._nestingLevel:c.index=n.index+c.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 c of s._snippet.placeholders){const h=s._snippet.offset(c),g=s._snippet.fullLen(c),f=B.fromPositions(t.getPositionAt(s._offset+h),t.getPositionAt(s._offset+h+g)),p=i.addDecoration(f,Jo._decor.inactive);this._placeholderDecorations.set(c,p)}}this._placeholderGroups=$L(this._snippet.placeholders,Wo.compareByIndex)})}};Jo._decor={active:Ci.register({description:"snippet-placeholder-1",stickiness:0,className:"snippet-placeholder"}),inactive:Ci.register({description:"snippet-placeholder-2",stickiness:1,className:"snippet-placeholder"}),activeFinal:Ci.register({description:"snippet-placeholder-3",stickiness:1,className:"finish-snippet-placeholder"}),inactiveFinal:Ci.register({description:"snippet-placeholder-4",stickiness:1,className:"finish-snippet-placeholder"})};let cv=Jo;const II={overwriteBefore:0,overwriteAfter:0,adjustWhitespace:!0,clipboardText:void 0,overtypingCapturer:void 0};let dv=Sr=class{static adjustWhitespace(e,t,i,n,s){const r=e.getLineContent(t.lineNumber),a=Ss(r,0,t.column-1);let c;return n.walk(h=>{if(!(h instanceof so)||h.parent instanceof Pg||s&&!s.has(h))return!0;const g=h.value.split(/\r\n|\r|\n/);if(i){const p=n.offset(h);if(p===0)g[0]=e.normalizeIndentation(g[0]);else{c=c??n.toString();const v=c.charCodeAt(p-1);(v===10||v===13)&&(g[0]=e.normalizeIndentation(a+g[0]))}for(let v=1;v<g.length;v++)g[v]=e.normalizeIndentation(a+g[v])}const f=g.join(e.getEOL());return f!==h.value&&(h.parent.replace(h,[new so(f)]),c=void 0),!0}),a}static adjustSelection(e,t,i,n){if(i!==0||n!==0){const{positionLineNumber:s,positionColumn:r}=t,a=r-i,c=r+n,h=e.validateRange({startLineNumber:s,startColumn:a,endLineNumber:s,endColumn:c});t=jt.createWithDirection(h.startLineNumber,h.startColumn,h.endLineNumber,h.endColumn,t.getDirection())}return t}static createEditsAndSnippetsFromSelections(e,t,i,n,s,r,a,c,h){const g=[],f=[];if(!e.hasModel())return{edits:g,snippets:f};const p=e.getModel(),v=e.invokeWithinContext(j=>j.get(Uu)),_=e.invokeWithinContext(j=>new CI(j.get(zf),p)),y=()=>a,S=p.getValueInRange(Sr.adjustSelection(p,e.getSelection(),i,0)),D=p.getValueInRange(Sr.adjustSelection(p,e.getSelection(),0,n)),P=p.getLineFirstNonWhitespaceColumn(e.getSelection().positionLineNumber),N=e.getSelections().map((j,H)=>({selection:j,idx:H})).sort((j,H)=>B.compareRangesUsingStarts(j.selection,H.selection));for(const{selection:j,idx:H}of N){let ee=Sr.adjustSelection(p,j,i,0),X=Sr.adjustSelection(p,j,0,n);S!==p.getValueInRange(ee)&&(ee=j),D!==p.getValueInRange(X)&&(X=j);const pe=j.setStartPosition(ee.startLineNumber,ee.startColumn).setEndPosition(X.endLineNumber,X.endColumn),be=new sh().parse(t,!0,s),Te=pe.getStartPosition(),xe=Sr.adjustWhitespace(p,Te,r||H>0&&P!==p.getLineFirstNonWhitespaceColumn(j.positionLineNumber),be);be.resolveVariables(new yI([_,new xI(y,H,N.length,e.getOption(79)==="spread"),new SI(p,j,H,c),new av(p,j,h),new lv,new LI(v),new kI])),g[H]=jn.replace(pe,be.toString()),g[H].identifier={major:H,minor:0},g[H]._isTracked=!0,f[H]=new cv(e,be,xe)}return{edits:g,snippets:f}}static createEditsAndSnippetsFromEdits(e,t,i,n,s,r,a){if(!e.hasModel()||t.length===0)return{edits:[],snippets:[]};const c=[],h=e.getModel(),g=new sh,f=new Xp,p=new yI([e.invokeWithinContext(_=>new CI(_.get(zf),h)),new xI(()=>s,0,e.getSelections().length,e.getOption(79)==="spread"),new SI(h,e.getSelection(),0,r),new av(h,e.getSelection(),a),new lv,new LI(e.invokeWithinContext(_=>_.get(Uu))),new kI]);t=t.sort((_,y)=>B.compareRangesUsingStarts(_.range,y.range));let v=0;for(let _=0;_<t.length;_++){const{range:y,template:S}=t[_];if(_>0){const H=t[_-1].range,ee=B.fromPositions(H.getEndPosition(),y.getStartPosition()),X=new so(h.getValueInRange(ee));f.appendChild(X),v+=X.value.length}const D=g.parseFragment(S,f);Sr.adjustWhitespace(h,y.getStartPosition(),!0,f,new Set(D)),f.resolveVariables(p);const P=f.toString(),N=P.slice(v);v=P.length;const j=jn.replace(y,N);j.identifier={major:_,minor:0},j._isTracked=!0,c.push(j)}return g.ensureFinalTabstop(f,i,!0),{edits:c,snippets:[new cv(e,f,"")]}}constructor(e,t,i=II,n){this._editor=e,this._template=t,this._options=i,this._languageConfigurationService=n,this._templateMerges=[],this._snippets=[]}dispose(){Rs(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"?Sr.createEditsAndSnippetsFromSelections(this._editor,this._template,this._options.overwriteBefore,this._options.overwriteAfter,!1,this._options.adjustWhitespace,this._options.clipboardText,this._options.overtypingCapturer,this._languageConfigurationService):Sr.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=>jt.fromPositions(s.range.getEndPosition()))}),this._editor.revealRange(this._editor.getSelections()[0])}merge(e,t=II){if(!this._editor.hasModel())return;this._templateMerges.push([this._snippets[0]._nestingLevel,this._snippets[0]._placeholderGroupsIdx,e]);const{edits:i,snippets:n}=Sr.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(c=>!!c.identifier);for(let c=0;c<n.length;c++)n[c].initialize(r[c].textChange);const a=n[0].isTrivialSnippet;if(!a){for(const c of this._snippets)c.merge(n);console.assert(n.length===0)}return this._snippets[0].hasPlaceholder&&!a?this._move(void 0):r.map(c=>jt.fromPositions(c.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(B.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(B.compareRangesUsingStarts);for(const[i,n]of t){if(n.length!==e.length){t.delete(i);continue}n.sort(B.compareRangesUsingStarts);for(let s=0;s<n.length;s++)if(!n[s].containsRange(e[s])){t.delete(i);continue}}return t.size>0}};dv=Sr=sj([oj(3,ps)],dv);var rj=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Am=function(o,e){return function(t,i){e(t,i,o)}},tu;const DI={overwriteBefore:0,overwriteAfter:0,undoStopBefore:!0,undoStopAfter:!0,adjustWhitespace:!0,clipboardText:void 0,overtypingCapturer:void 0};var fa;let Ws=(fa=class{static get(e){return e.getContribution(tu.ID)}constructor(e,t,i,n,s){this._editor=e,this._logService=t,this._languageFeaturesService=i,this._languageConfigurationService=s,this._snippetListener=new He,this._modelVersionId=-1,this._inSnippet=tu.InSnippetMode.bindTo(n),this._hasNextTabstop=tu.HasNextTabstop.bindTo(n),this._hasPrevTabstop=tu.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"?DI:{...DI,...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?(ji(typeof e=="string"),this._session.merge(e,t)):(this._modelVersionId=this._editor.getModel().getAlternativeVersionId(),this._session=new dv(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:(g,f)=>{if(!this._session||g!==this._editor.getModel()||!yt.equals(this._editor.getPosition(),f))return;const{activeChoice:p}=this._session;if(!p||p.choice.options.length===0)return;const v=g.getValueInRange(p.range),_=!!p.choice.options.find(S=>S.value===v),y=[];for(let S=0;S<p.choice.options.length;S++){const D=p.choice.options[S];y.push({kind:13,label:D.value,insertText:D.value,sortText:"a".repeat(S+1),range:p.range,filterText:_?`${v}_${D.value}`:void 0,command:{id:"jumpToNextSnippetPlaceholder",title:w("next","Go to next placeholder...")}})}return{suggestions:y}}},s=this._editor.getModel();let r,a=!1;const c=()=>{r==null||r.dispose(),a=!1},h=()=>{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:h,disable:c}}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(()=>{tj(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()}},tu=fa,fa.ID="snippetController2",fa.InSnippetMode=new Di("inSnippetMode",!1,w("inSnippetMode","Whether the editor in current in snippet mode")),fa.HasNextTabstop=new Di("hasNextTabstop",!1,w("hasNextTabstop","Whether there is a next tab stop when in snippet mode")),fa.HasPrevTabstop=new Di("hasPrevTabstop",!1,w("hasPrevTabstop","Whether there is a previous tab stop when in snippet mode")),fa);Ws=tu=rj([Am(1,vh),Am(2,St),Am(3,Fi),Am(4,ps)],Ws);_i(Ws.ID,Ws,4);const Sw=Xs.bindToContribution(Ws.get);Lt(new Sw({id:"jumpToNextSnippetPlaceholder",precondition:oe.and(Ws.InSnippetMode,Ws.HasNextTabstop),handler:o=>o.next(),kbOpts:{weight:130,kbExpr:M.textInputFocus,primary:2}}));Lt(new Sw({id:"jumpToPrevSnippetPlaceholder",precondition:oe.and(Ws.InSnippetMode,Ws.HasPrevTabstop),handler:o=>o.prev(),kbOpts:{weight:130,kbExpr:M.textInputFocus,primary:1026}}));Lt(new Sw({id:"leaveSnippet",precondition:Ws.InSnippetMode,handler:o=>o.cancel(!0),kbOpts:{weight:130,kbExpr:M.textInputFocus,primary:9,secondary:[1033]}}));Lt(new Sw({id:"acceptSnippet",precondition:Ws.InSnippetMode,handler:o=>o.finish()}));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},vy=function(o,e){return function(t,i){e(t,i,o)}};let wC=class extends ze{get isAcceptingPartially(){return this._isAcceptingPartially}constructor(e,t,i,n,s,r,a,c,h,g,f,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=c,this._enabled=h,this._instantiationService=g,this._commandService=f,this._languageConfigurationService=p,this._source=this._register(this._instantiationService.createInstance(bC,this.textModel,this._textModelVersionId,this._debounceValue)),this._isActive=xo(this,!1),this._forceUpdateExplicitlySignal=E0(this),this._selectedInlineCompletionId=xo(this,void 0),this._primaryPosition=Xi(this,_=>this._positions.read(_)[0]??new yt(1,1)),this._isAcceptingPartially=!1,this._preserveCurrentCompletionReasons=new Set([Ba.Redo,Ba.Undo,Ba.AcceptWord]),this._fetchInlineCompletionsPromise=AE({owner:this,createEmptyChangeSummary:()=>({preserveCurrentCompletion:!1,inlineCompletionTriggerKind:Qa.Automatic}),handleChange:(_,y)=>(_.didChange(this._textModelVersionId)&&this._preserveCurrentCompletionReasons.has(this._getReason(_.change))?y.preserveCurrentCompletion=!0:_.didChange(this._forceUpdateExplicitlySignal)&&(y.inlineCompletionTriggerKind=Qa.Explicit),!0)},(_,y)=>{if(this._forceUpdateExplicitlySignal.read(_),!(this._enabled.read(_)&&this.selectedSuggestItem.read(_)||this._isActive.read(_))){this._source.cancelUpdate();return}this._textModelVersionId.read(_);const D=this._source.suggestWidgetInlineCompletions.get(),P=this.selectedSuggestItem.read(_);if(D&&!P){const X=this._source.inlineCompletions.get();_h(pe=>{(!X||D.request.versionId>X.request.versionId)&&this._source.inlineCompletions.set(D.clone(),pe),this._source.clearSuggestWidgetInlineCompletions(pe)})}const N=this._primaryPosition.read(_),j={triggerKind:y.inlineCompletionTriggerKind,selectedSuggestionInfo:P==null?void 0:P.toSelectedSuggestionInfo()},H=this.selectedInlineCompletion.get(),ee=y.preserveCurrentCompletion||H!=null&&H.forwardStable?H:void 0;return this._source.fetch(N,j,ee)}),this._filteredInlineCompletionItems=qa({owner:this,equalsFn:Ky()},_=>{const y=this._source.inlineCompletions.read(_);if(!y)return[];const S=this._primaryPosition.read(_);return y.inlineCompletions.filter(P=>P.isVisible(this.textModel,S,_))}),this.selectedInlineCompletionIndex=Xi(this,_=>{const y=this._selectedInlineCompletionId.read(_),S=this._filteredInlineCompletionItems.read(_),D=this._selectedInlineCompletionId===void 0?-1:S.findIndex(P=>P.semanticId===y);return D===-1?(this._selectedInlineCompletionId.set(void 0,void 0),0):D}),this.selectedInlineCompletion=Xi(this,_=>{const y=this._filteredInlineCompletionItems.read(_),S=this.selectedInlineCompletionIndex.read(_);return y[S]}),this.activeCommands=qa({owner:this,equalsFn:Ky()},_=>{var y;return((y=this.selectedInlineCompletion.read(_))==null?void 0:y.inlineCompletion.source.inlineCompletions.commands)??[]}),this.lastTriggerKind=this._source.inlineCompletions.map(this,_=>_==null?void 0:_.request.context.triggerKind),this.inlineCompletionsCount=Xi(this,_=>{if(this.lastTriggerKind.read(_)===Qa.Explicit)return this._filteredInlineCompletionItems.read(_).length}),this.state=qa({owner:this,equalsFn:(_,y)=>!_||!y?_===y:dI(_.ghostTexts,y.ghostTexts)&&_.inlineCompletion===y.inlineCompletion&&_.suggestItem===y.suggestItem},_=>{const y=this.textModel,S=this.selectedSuggestItem.read(_);if(S){const D=ld(S.toSingleTextEdit(),y),P=this._computeAugmentation(D,_);if(!this._suggestPreviewEnabled.read(_)&&!P)return;const j=(P==null?void 0:P.edit)??D,H=P?P.edit.text.length-D.text.length:0,ee=this._suggestPreviewMode.read(_),X=this._positions.read(_),pe=[j,...by(this.textModel,X,j)],be=pe.map((xe,ct)=>pI(xe,y,ee,X[ct],H)).filter(Xm),Te=be[0]??new op(j.range.endLineNumber,[]);return{edits:pe,primaryGhostText:Te,ghostTexts:be,inlineCompletion:P==null?void 0:P.completion,suggestItem:S}}else{if(!this._isActive.read(_))return;const D=this.selectedInlineCompletion.read(_);if(!D)return;const P=D.toSingleTextEdit(_),N=this._inlineSuggestMode.read(_),j=this._positions.read(_),H=[P,...by(this.textModel,j,P)],ee=H.map((X,pe)=>pI(X,y,N,j[pe],0)).filter(Xm);return ee[0]?{edits:H,primaryGhostText:ee[0],ghostTexts:ee,inlineCompletion:D,suggestItem:void 0}:void 0}}),this.ghostTexts=qa({owner:this,equalsFn:dI},_=>{const y=this.state.read(_);if(y)return y.ghostTexts}),this.primaryGhostText=qa({owner:this,equalsFn:iN},_=>{const y=this.state.read(_);if(y)return y==null?void 0:y.primaryGhostText}),this._register(OE(this._fetchInlineCompletionsPromise));let v;this._register(Hn(_=>{var D,P;const y=this.state.read(_),S=y==null?void 0:y.inlineCompletion;if((S==null?void 0:S.semanticId)!==(v==null?void 0:v.semanticId)&&(v=S,S)){const N=S.inlineCompletion,j=N.source;(P=(D=j.provider).handleItemDidShow)==null||P.call(D,j.inlineCompletions,N.sourceInlineCompletion,N.insertText)}}))}_getReason(e){return e!=null&&e.isUndoing?Ba.Undo:e!=null&&e.isRedoing?Ba.Redo:this.isAcceptingPartially?Ba.AcceptWord:Ba.Other}async trigger(e){this._isActive.set(!0,e),await this._fetchInlineCompletionsPromise.get()}async triggerExplicitly(e){I_(e,t=>{this._isActive.set(!0,t),this._forceUpdateExplicitlySignal.trigger(t)}),await this._fetchInlineCompletionsPromise.get()}stop(e){I_(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(Xm);return XO(s,a=>{let c=a.toSingleTextEdit(t);return c=ld(c,i,B.fromPositions(c.range.getStartPosition(),e.range.getEndPosition())),rN(c,e)?{completion:a,edit:c}: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 Ju;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",[jn.replace(i.range,""),...i.additionalTextEdits]),e.setPosition(i.snippetInfo.range.getStartPosition(),"inlineCompletionAccept"),(n=Ws.get(e))==null||n.insert(i.snippetInfo.snippet,{undoStopBefore:!1});else{const s=t.edits,r=EI(s).map(a=>jt.fromPositions(a));e.executeEdits("inlineSuggestion.accept",[...s.map(a=>jn.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,Yn),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 c=0;a&&a.index!==void 0?a.index===0?c=a[0].length:c=a.index:c=i.length;const g=/\s+/g.exec(i);return g&&g.index!==void 0&&g.index+g[0].length<c&&(c=g.index+g[0].length),c},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 Ju;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],c=new yt(s.lineNumber,a.column),h=a.text,g=t(c,h);if(g===h.length&&s.parts.length===1){this.accept(e);return}const f=h.substring(0,g),p=this._positions.get(),v=p[0];r.source.addRef();try{this._isAcceptingPartially=!0;try{e.pushUndoStop();const _=B.fromPositions(v,c),y=e.getModel().getValueInRange(_)+f,S=new rl(_,y),D=[S,...by(this.textModel,p,S)],P=EI(D).map(N=>jt.fromPositions(N));e.executeEdits("inlineSuggestion.accept",D.map(N=>jn.replace(N.range,N.text))),e.setSelections(P,"inlineCompletionPartialAccept"),e.revealPositionInCenterIfOutsideViewport(e.getPosition(),1)}finally{this._isAcceptingPartially=!1}if(r.source.provider.handlePartialAccept){const _=B.fromPositions(r.range.getStartPosition(),k_.ofText(f).addToPosition(c)),y=e.getModel().getValueInRange(_,1);r.source.provider.handlePartialAccept(r.source.inlineCompletions,r.sourceInlineCompletion,y.length,{kind:i})}}finally{r.source.removeRef()}}handleSuggestAccepted(e){var s,r;const t=ld(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})}};wC=aj([vy(9,ri),vy(10,fs),vy(11,ps)],wC);var Ba;(function(o){o[o.Undo=0]="Undo",o[o.Redo=1]="Redo",o[o.AcceptWord=2]="AcceptWord",o[o.Other=3]="Other"})(Ba||(Ba={}));function by(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(B.fromPositions(i,r)),c=hI(i,s);if(c.lineNumber<1)return cn(new Ju(`positionWithinTextEdit line number should be bigger than 0.
36
- Invalid subtraction between ${i.toString()} and ${s.toString()}`)),[];const h=lj(t.text,c);return n.map(g=>{const f=N4(hI(g,s),r),p=o.getValueInRange(B.fromPositions(g,f)),v=Vp(a,p),_=B.fromPositions(g,g.delta(0,v));return new rl(_,h)})}function lj(o,e){let t="";const i=JO(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 EI(o){const e=YO.createSortPermutation(o,Bp(s=>s.range,B.compareRangesUsingStarts)),i=new IE(e.apply(o)).getNewRanges();return e.inverse().apply(i).map(s=>s.getEndPosition())}var cj=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},PI=function(o,e){return function(t,i){e(t,i,o)}},sf;class E1{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 TI extends E1{constructor(){super("first")}memorize(e,t,i){}toJSON(){}fromJSON(){}}class dj extends E1{constructor(){super("recentlyUsed"),this._cache=new Ap(300,.66),this._seq=0}memorize(e,t,i){const n=`${e.getLanguageId()}/${i.textLabel}`;this._cache.set(n,{touch:this._seq++,type:i.completion.kind,insertText:i.completion.insertText})}select(e,t,i){if(i.length===0)return 0;const n=e.getLineContent(t.lineNumber).substr(t.column-10,t.column-1);if(/\s$/.test(n))return super.select(e,t,i);const s=i[0].score[0];let r=-1,a=-1,c=-1;for(let h=0;h<i.length&&i[h].score[0]===s;h++){const g=`${e.getLanguageId()}/${i[h].textLabel}`,f=this._cache.peek(g);if(f&&f.touch>c&&f.type===i[h].completion.kind&&f.insertText===i[h].completion.insertText&&(c=f.touch,a=h),i[h].completion.preselect&&r===-1)return r=h}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:P0.fromString(n.type),this._cache.set(i,n);this._seq=this._cache.size}}class hj extends E1{constructor(){super("recentlyUsedByPrefix"),this._trie=QO.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:c,insertText:h}=i[a].completion;if(c===r.type&&h===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:P0.fromString(i.type),this._trie.set(t,i)}}}var sc;let yC=(sc=class{constructor(e,t){this._storageService=e,this._configService=t,this._disposables=new He,this._persistSoon=new ds(()=>this._saveState(),500),this._disposables.add(e.onWillSaveState(i=>{i.reason===w0.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=sf._strategyCtors.get(i)||TI;this._strategy=new s;try{const a=this._configService.getValue("editor.suggest.shareSuggestSelections")?0:1,c=this._storageService.get(`${sf._storagePrefix}/${i}`,a);c&&this._strategy.fromJSON(JSON.parse(c))}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(`${sf._storagePrefix}/${this._strategy.name}`,i,t,1)}}},sf=sc,sc._strategyCtors=new Map([["recentlyUsedByPrefix",hj],["recentlyUsed",dj],["first",TI]]),sc._storagePrefix="suggest/memories",sc);yC=sf=cj([PI(0,Sc),PI(1,Sn)],yC);const Cw=fl("ISuggestMemories");pl(Cw,yC,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},gj=function(o,e){return function(t,i){e(t,i,o)}},SC,Ed;let hv=(Ed=class{constructor(e,t){this._editor=e,this._enabled=!1,this._ckAtEnd=SC.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)}},SC=Ed,Ed.AtEnd=new Di("atEndOfWord",!1),Ed);hv=SC=uj([gj(1,Fi)],hv);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},pj=function(o,e){return function(t,i){e(t,i,o)}},of,Pd;let pg=(Pd=class{constructor(e,t){this._editor=e,this._index=0,this._ckOtherSuggestions=of.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(of._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=of._moveIndex(e,this._model,this._index),this._acceptNext({index:this._index,item:this._model.items[this._index],model:this._model})}finally{this._ignore=!1}}},of=Pd,Pd.OtherSuggestions=new Di("hasOtherSuggestions",!1),Pd);pg=of=fj([pj(1,Fi)],pg);class mj{constructor(e,t,i,n){this._disposables=new He,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||!Co(e.item.completion.commitCharacters)){this.reset();return}if(this._active&&this._active.item.item===e.item)return;const t=new L_;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 No=class No{async provideSelectionRanges(e,t){const i=[];for(const n of t){const s=[];i.push(s);const r=new Map;await new Promise(a=>No._bracketsRightYield(a,0,e,n,r)),await new Promise(a=>No._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>=No._maxRounds){e();break}if(!n){e();break}const c=i.bracketPairs.findNextBracket(n);if(!c){e();break}if(Date.now()-a>No._maxDuration){setTimeout(()=>No._bracketsRightYield(e,t+1,i,n,s));break}if(c.bracketInfo.isOpeningBracket){const g=c.bracketInfo.bracketText,f=r.has(g)?r.get(g):0;r.set(g,f+1)}else{const g=c.bracketInfo.getOpeningBrackets()[0].bracketText;let f=r.has(g)?r.get(g):0;if(f-=1,r.set(g,Math.max(0,f)),f<0){let p=s.get(g);p||(p=new FE,s.set(g,p)),p.push(c.range)}}n=c.range.getEndPosition()}}static _bracketsLeftYield(e,t,i,n,s,r){const a=new Map,c=Date.now();for(;;){if(t>=No._maxRounds&&s.size===0){e();break}if(!n){e();break}const h=i.bracketPairs.findPrevBracket(n);if(!h){e();break}if(Date.now()-c>No._maxDuration){setTimeout(()=>No._bracketsLeftYield(e,t+1,i,n,s,r));break}if(h.bracketInfo.isOpeningBracket){const f=h.bracketInfo.bracketText;let p=a.has(f)?a.get(f):0;if(p-=1,a.set(f,Math.max(0,p)),p<0){const v=s.get(f);if(v){const _=v.shift();v.size===0&&s.delete(f);const y=B.fromPositions(h.range.getEndPosition(),_.getStartPosition()),S=B.fromPositions(h.range.getStartPosition(),_.getEndPosition());r.push({range:y}),r.push({range:S}),No._addBracketLeading(i,S,r)}}}else{const f=h.bracketInfo.getOpeningBrackets()[0].bracketText,p=a.has(f)?a.get(f):0;a.set(f,p+1)}n=h.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:B.fromPositions(new yt(n,s),t.getEndPosition())}),i.push({range:B.fromPositions(new yt(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:B.fromPositions(new yt(r,a),t.getEndPosition())}),i.push({range:B.fromPositions(new yt(r,1),t.getEndPosition())}))}}};No._maxDuration=30,No._maxRounds=2;let uv=No;const ra=class ra{static async create(e,t){if(!t.getOption(119).localityBonus||!t.hasModel())return ra.None;const i=t.getModel(),n=t.getPosition();if(!e.canComputeWordRanges(i.uri))return ra.None;const[s]=await new uv().provideSelectionRanges(i,[n]);if(s.length===0)return ra.None;const r=await e.computeWordRanges(i.uri,s[0].range);if(!r)return ra.None;const a=i.getWordUntilPosition(n);return delete r[a.word],new class extends ra{distance(c,h){if(!n.equals(t.getPosition()))return 0;if(h.kind===17)return 2<<20;const g=typeof h.label=="string"?h.label:h.label.label,f=r[g];if(e2(f))return 2<<20;const p=D_(f,B.fromPositions(c),B.compareRangesUsingStarts),v=p>=0?f[p]:f[Math.max(0,~p-1)];let _=s.length;for(const y of s){if(!B.containsRange(y.range,v))break;_-=1}return _}}}};ra.None=new class extends ra{distance(){return 0}};let gv=ra,MI=class{constructor(e,t){this.leadingLineContent=e,this.characterCountDelta=t}};class Nl{constructor(e,t,i,n,s,r,a=HE.default,c=void 0){this.clipboardText=c,this._snippetCompareFn=Nl._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=Nl._compareCompletionItemsSnippetsUp:r==="bottom"&&(this._snippetCompareFn=Nl._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=[],c=!this._options.filterGraceful||r.length>2e3?WE:t2;for(let h=0;h<r.length;h++){const g=r[h];if(g.isInvalid)continue;const f=this._itemsByProvider.get(g.provider);f?f.push(g):this._itemsByProvider.set(g.provider,[g]);const p=g.position.column-g.editStart.column,v=p+i-(g.position.column-this._column);if(n.length!==v&&(n=v===0?"":t.slice(-v),s=n.toLowerCase()),g.word=n,v===0)g.score=Vf.Default;else{let _=0;for(;_<p;){const y=n.charCodeAt(_);if(y===32||y===9)_+=1;else break}if(_>=v)g.score=Vf.Default;else if(typeof g.completion.filterText=="string"){const y=c(n,s,_,g.completion.filterText,g.filterTextLow,0,this._fuzzyScoreOptions);if(!y)continue;i2(g.completion.filterText,g.textLabel)===0?g.score=y:(g.score=n2(n,s,_,g.textLabel,g.labelLow,0),g.score[0]=y[0])}else{const y=c(n,s,_,g.textLabel,g.labelLow,0,this._fuzzyScoreOptions);if(!y)continue;g.score=y}}g.idx=h,g.distance=this._wordDistance.distance(g.position,g.completion),a.push(g),e.push(g.textLabel.length)}this._filteredItems=a.sort(this._snippetCompareFn),this._refilterKind=0,this._stats={pLabelLen:e.length?s2(e.length-.85,e,(h,g)=>h-g):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 Nl._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 Nl._compareCompletionItems(e,t)}}var _j=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Ll=function(o,e){return function(t,i){e(t,i,o)}},CC;class Nc{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 vj(o,e,t){if(!e.getContextKeyValue(lo.inlineSuggestionVisible.key))return!0;const i=e.getContextKeyValue(lo.suppressSuggestions.key);return i!==void 0?!i:!o.getOption(62).suppressSuggestions}function bj(o,e,t){if(!e.getContextKeyValue("inlineSuggestionVisible"))return!0;const i=e.getContextKeyValue(lo.suppressSuggestions.key);return i!==void 0?!i:!o.getOption(62).suppressSuggestions}let fv=CC=class{constructor(e,t,i,n,s,r,a,c,h){this._editor=e,this._editorWorkerService=t,this._clipboardService=i,this._telemetryService=n,this._logService=s,this._contextKeyService=r,this._configurationService=a,this._languageFeaturesService=c,this._envService=h,this._toDispose=new He,this._triggerCharacterListener=new He,this._triggerQuickSuggest=new Mp,this._triggerState=void 0,this._completionDisposables=new He,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 jt(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 g=!1;this._toDispose.add(this._editor.onDidCompositionStart(()=>{g=!0})),this._toDispose.add(this._editor.onDidCompositionEnd(()=>{g=!1,this._onCompositionEnd()})),this._toDispose.add(this._editor.onDidChangeCursorSelection(f=>{g||this._onCursorChange(f)})),this._toDispose.add(this._editor.onDidChangeModelContent(()=>{!g&&this._triggerState!==void 0&&this._refilterCompletionItems()})),this._updateTriggerCharacters()}dispose(){Rs(this._triggerCharacterListener),Rs([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(!bj(this._editor,this._contextKeyService,this._configurationService)||Nc.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="";r2(i.charCodeAt(i.length-1))?a2(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[c,h]of this._completionModel.getItemsByProvider())s.has(c)||a.set(c,h);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;uu.isAllOff(this._editor.getOption(90))||this._editor.getOption(119).snippetsPreventQuickSuggestions&&((e=Ws.get(this._editor))!=null&&e.isInSnippet())||(this.cancel(),this._triggerQuickSuggest.cancelAndSet(()=>{if(this._triggerState!==void 0||!Nc.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(!uu.isAllOff(n)){if(!uu.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(uu.valueFor(n,r)!=="on")return}vj(this._editor,this._contextKeyService,this._configurationService)&&this._languageFeaturesService.completionProvider.has(t)&&this.trigger({auto:!0})}},this._editor.getOption(91)))}_refilterCompletionItems(){ji(this._editor.hasModel()),ji(this._triggerState!==void 0);const e=this._editor.getModel(),t=this._editor.getPosition(),i=new Nc(e,t,{...this._triggerState,refilter:!0});this._onNewContext(i)}trigger(e){var p,v,_;if(!this._editor.hasModel())return;const t=this._editor.getModel(),i=new Nc(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 _s;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:c}=CC.createSuggestFilter(this._editor),h=new rp(r,((p=e.completionOptions)==null?void 0:p.kindFilter)??a,(v=e.completionOptions)==null?void 0:v.providerFilter,(_=e.completionOptions)==null?void 0:_.providerItemsToReuse,c),g=gv.create(this._editorWorkerService,this._editor),f=I1(this._languageFeaturesService.completionProvider,t,this._editor.getPosition(),h,n,this._requestToken.token);Promise.all([f,g]).then(async([y,S])=>{var H;if((H=this._requestToken)==null||H.dispose(),!this._editor.hasModel())return;let D=e==null?void 0:e.clipboardText;if(!D&&y.needsClipboard&&(D=await this._clipboardService.readText()),this._triggerState===void 0)return;const P=this._editor.getModel(),N=new Nc(P,this._editor.getPosition(),e),j={...HE.default,firstMatchCanBeWeak:!this._editor.getOption(119).matchOnWordStartOnly};if(this._completionModel=new Nl(y.items,this._context.column,{leadingLineContent:N.leadingLineContent,characterCountDelta:N.column-this._context.column},S,this._editor.getOption(119),this._editor.getOption(113),j,D),this._completionDisposables.add(y.disposable),this._onNewContext(N),this._reportDurationsTelemetry(y.durations),!this._envService.isBuilt||this._envService.isExtensionDevelopment)for(const ee of y.items)ee.isInvalid&&this._logService.warn(`[suggest] did IGNORE invalid completion item from ${ee.provider._debugDisplayName}`,ee.completion)}).catch(cn)}_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(Ss(e.leadingLineContent)!==Ss(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(Nc.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=Nc.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})}}}}};fv=CC=_j([Ll(1,ml),Ll(2,Sg),Ll(3,jr),Ll(4,vh),Ll(5,Fi),Ll(6,Sn),Ll(7,St),Ll(8,o2)],fv);const ob=class ob{constructor(e,t){this._disposables=new He,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 c=i[a];if(r.getValueLengthInRange(c)>ob._maxSelectionLength)return;this._lastOvertyped[a]={value:r.getValueInRange(c),multiline:c.startLineNumber!==c.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 xC=ob;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},wy=function(o,e){return function(t,i){e(t,i,o)}};let LC=class{constructor(e,t,i,n,s){this._menuId=t,this._menuService=n,this._contextKeyService=s,this._menuDisposables=new He,this.element=st(e,ht(".suggest-status-bar"));const r=(a=>a instanceof Yu?i.createInstance(l2,a,{useComma:!0}):void 0);this._leftActions=new Of(this.element,{actionViewItemProvider:r}),this._rightActions=new Of(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()}};LC=wj([wy(2,ri),wy(3,mh),wy(4,Fi)],LC);var yj=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Sj=function(o,e){return function(t,i){e(t,i,o)}};function P1(o){return!!o&&!!(o.completion.documentation||o.completion.detail&&o.completion.detail!==o.completion.label)}let kC=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 He,this._renderDisposeable=new He,this._borderWidth=1,this._size=new hn(330,0),this.domNode=ht(".suggest-details"),this.domNode.classList.add("no-docs"),this._markdownRenderer=t.createInstance(Lg,{editor:e}),this._body=ht(".body"),this._scrollbar=new BE(this._body,{alwaysConsumeMouseWheel:!0}),st(this.domNode,this._scrollbar.getDomNode()),this._disposables.add(this._scrollbar),this._header=st(this._body,ht(".header")),this._close=st(this._header,ht("span"+qi.asCSSSelector(Xt.close))),this._close.title=w("details.close","Close"),this._type=st(this._header,ht("p.type")),this._docs=st(this._body,ht("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`,c=`${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=c,this._close.style.width=c}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=w("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 Ms().appendCodeblock("empty",r),i=`Provider: ${e.provider._debugDisplayName}`}if(!t&&!P1(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,ar(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 hn(e,t);hn.equals(i,this._size)||(this._size=i,c2(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}};kC=yj([Sj(1,ri)],kC);class Cj{constructor(e,t){this.widget=e,this._editor=t,this.allowEditorOverflow=!0,this._disposables=new He,this._added=!1,this._preferAlignAtTop=!0,this._resizable=new c1,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 c=!1;a.west&&(r=n.width-a.dimension.width,c=!0),a.north&&(s=n.height-a.dimension.height,c=!0),c&&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=Hp(this.getDomNode().ownerDocument.body),s=this.widget.getLayoutInfo(),r=new hn(220,2*s.lineHeight),a=e.top,c=(function(){const H=n.width-(e.left+e.width+s.borderWidth+s.horizontalPadding),ee=-s.borderWidth+e.left+e.width,X=new hn(H,n.height-e.top-s.borderHeight-s.verticalPadding),pe=X.with(void 0,e.top+e.height-s.borderHeight-s.verticalPadding);return{top:a,left:ee,fit:H-t.width,maxSizeTop:X,maxSizeBottom:pe,minSize:r.with(Math.min(H,r.width))}})(),h=(function(){const H=e.left-s.borderWidth-s.horizontalPadding,ee=Math.max(s.horizontalPadding,e.left-t.width-s.borderWidth),X=new hn(H,n.height-e.top-s.borderHeight-s.verticalPadding),pe=X.with(void 0,e.top+e.height-s.borderHeight-s.verticalPadding);return{top:a,left:ee,fit:H-t.width,maxSizeTop:X,maxSizeBottom:pe,minSize:r.with(Math.min(H,r.width))}})(),g=(function(){const H=e.left,ee=-s.borderWidth+e.top+e.height,X=new hn(e.width-s.borderHeight,n.height-e.top-e.height-s.verticalPadding);return{top:ee,left:H,fit:X.height-t.height,maxSizeBottom:X,maxSizeTop:X,minSize:r.with(X.width)}})(),f=[c,h,g],p=f.find(H=>H.fit>=0)??f.sort((H,ee)=>ee.fit-H.fit)[0],v=e.top+e.height-s.borderHeight;let _,y=t.height;const S=Math.max(p.maxSizeTop.height,p.maxSizeBottom.height);y>S&&(y=S);let D;i?y<=p.maxSizeTop.height?(_=!0,D=p.maxSizeTop):(_=!1,D=p.maxSizeBottom):y<=p.maxSizeBottom.height?(_=!1,D=p.maxSizeBottom):(_=!0,D=p.maxSizeTop);let{top:P,left:N}=p;!_&&y>e.height&&(P=v-y);const j=this._editor.getDomNode();if(j){const H=j.getBoundingClientRect();P-=H.top,N-=H.left}this._applyTopLeft({left:N,top:P}),this._resizable.enableSashes(!_,p===c,_,p!==c),this._resizable.minSize=p.minSize,this._resizable.maxSize=D,this._resizable.layout(y,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 va;(function(o){o[o.FILE=0]="FILE",o[o.FOLDER=1]="FOLDER",o[o.ROOT_FOLDER=2]="ROOT_FOLDER"})(va||(va={}));const xj=/(?:\/|^)(?:([^\/]+)\/)?([^\/]+)$/;function Om(o,e,t,i,n){if(qi.isThemeIcon(n))return[`codicon-${n.id}`,"predefined-file-icon"];if(sn.isUri(n))return[];const s=i===va.ROOT_FOLDER?["rootfolder-icon"]:i===va.FOLDER?["folder-icon"]:["file-icon"];if(t){let r;if(t.scheme===js.data)r=E_.parseMetaData(t).get(E_.META_DATA_LABEL);else{const a=t.path.match(xj);a?(r=Fm(a[2].toLowerCase()),a[1]&&s.push(`${Fm(a[1].toLowerCase())}-name-dir-icon`)):r=Fm(t.authority.toLowerCase())}if(i===va.ROOT_FOLDER)s.push(`${r}-root-name-folder-icon`);else if(i===va.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 c=r.split(".");for(let h=1;h<c.length;h++)s.push(`${c.slice(h).join(".")}-ext-file-icon`)}s.push("ext-file-icon")}const a=Lj(o,e,t);a&&s.push(`${Fm(a)}-lang-file-icon`)}}return s}function Lj(o,e,t){if(!t)return null;let i=null;if(t.scheme===js.data){const s=E_.parseMetaData(t).get(E_.META_DATA_MIME);s&&(i=e.getLanguageIdByMimeType(s))}else{const n=o.getModel(t);n&&(i=n.getLanguageId())}return i&&i!==jf?i:e.guessLanguageIdByFilepathOrFirstLine(t)}function Fm(o){return o.replace(/[\s]/g,"/")}var kj=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},yy=function(o,e){return function(t,i){e(t,i,o)}};function aN(o){return`suggest-aria-id:${o}`}const Ij=Gn("suggest-more-info",Xt.chevronRight,w("suggestMoreInfoIcon","Icon for more information in the suggest widget."));var Mr;const Dj=new(Mr=class{extract(e,t){if(e.textLabel.match(Mr._regexStrict))return t[0]=e.textLabel,!0;if(e.completion.detail&&e.completion.detail.match(Mr._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=Mr._regexRelaxed.exec(i);if(n&&(n.index===0||n.index+n[0].length===i.length))return t[0]=n[0],!0}return!1}},Mr._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*\))/,Mr._regexStrict=new RegExp(`^${Mr._regexRelaxed.source}$`,"i"),Mr);let IC=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 He,i=e;i.classList.add("show-file-icons");const n=st(e,ht(".icon")),s=st(n,ht("span.colorspan")),r=st(e,ht(".contents")),a=st(r,ht(".main")),c=st(a,ht(".icon-label.codicon")),h=st(a,ht("span.left")),g=st(a,ht("span.right")),f=new oE(h,{supportHighlights:!0,supportIcons:!0});t.add(f);const p=st(h,ht("span.signature-label")),v=st(h,ht("span.qualifier-label")),_=st(g,ht("span.details-label")),y=st(g,ht("span.readMore"+qi.asCSSSelector(Ij)));return y.title=w("readMore","Read More"),{root:i,left:h,right:g,icon:n,colorspan:s,iconLabel:f,iconContainer:c,parametersLabel:p,qualifierLabel:v,detailsLabel:_,readMore:y,disposables:t,configureFont:()=>{const D=this._editor.getOptions(),P=D.get(50),N=P.getMassagedFontFamily(),j=P.fontFeatureSettings,H=D.get(120)||P.fontSize,ee=D.get(121)||P.lineHeight,X=P.fontWeight,pe=P.letterSpacing,be=`${H}px`,Te=`${ee}px`,xe=`${pe}px`;i.style.fontSize=be,i.style.fontWeight=X,i.style.letterSpacing=xe,a.style.fontFamily=N,a.style.fontFeatureSettings=j,a.style.lineHeight=Te,n.style.height=Te,n.style.width=Te,y.style.height=Te,y.style.width=Te}}}renderElement(e,t,i){i.configureFont();const{completion:n}=e;i.root.id=aN(t),i.colorspan.style.backgroundColor="";const s={labelEscapeNewLines:!0,matches:qb(e.score)},r=[];if(n.kind===19&&Dj.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=Om(this._modelService,this._languageService,sn.from({scheme:"fake",path:e.textLabel}),va.FILE),c=Om(this._modelService,this._languageService,sn.from({scheme:"fake",path:n.detail}),va.FILE);s.extraClasses=a.length>c.length?a:c}else n.kind===23&&this._themeService.getFileIconTheme().hasFolderIcons?(i.icon.className="icon hide",i.iconContainer.className="icon hide",s.extraClasses=[Om(this._modelService,this._languageService,sn.from({scheme:"fake",path:e.textLabel}),va.FOLDER),Om(this._modelService,this._languageService,sn.from({scheme:"fake",path:n.detail}),va.FOLDER)].flat()):(i.icon.className="icon hide",i.iconContainer.className="",i.iconContainer.classList.add("suggest-icon",...qi.asClassNameArray(P0.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=Sy(n.detail||""),i.root.classList.add("string-label")):(i.parametersLabel.textContent=Sy(n.label.detail||""),i.detailsLabel.textContent=Sy(n.label.description||""),i.root.classList.remove("string-label")),this._editor.getOption(119).showInlineDetails?ar(i.detailsLabel):wo(i.detailsLabel),P1(e)?(i.right.classList.add("can-expand-details"),ar(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()}};IC=kj([yy(1,zs),yy(2,Ur),yy(3,mr)],IC);function Sy(o){return o.replace(/\r\n|\r|\n/g,"")}var Ej=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Hm=function(o,e){return function(t,i){e(t,i,o)}},iu;ut("editorSuggestWidget.background",zE,w("editorSuggestWidgetBackground","Background color of the suggest widget."));ut("editorSuggestWidget.border",d2,w("editorSuggestWidgetBorder","Border color of the suggest widget."));const Pj=ut("editorSuggestWidget.foreground",zp,w("editorSuggestWidgetForeground","Foreground color of the suggest widget."));ut("editorSuggestWidget.selectedForeground",VE,w("editorSuggestWidgetSelectedForeground","Foreground color of the selected entry in the suggest widget."));ut("editorSuggestWidget.selectedIconForeground",h2,w("editorSuggestWidgetSelectedIconForeground","Icon foreground color of the selected entry in the suggest widget."));const Tj=ut("editorSuggestWidget.selectedBackground",jE,w("editorSuggestWidgetSelectedBackground","Background color of the selected entry in the suggest widget."));ut("editorSuggestWidget.highlightForeground",UE,w("editorSuggestWidgetHighlightForeground","Color of the match highlights in the suggest widget."));ut("editorSuggestWidget.focusHighlightForeground",u2,w("editorSuggestWidgetFocusHighlightForeground","Color of the match highlights in the suggest widget when an item is focused."));ut("editorSuggestWidgetStatus.foreground",ya(Pj,.5),w("editorSuggestWidgetStatusForeground","Foreground color of the suggest widget status."));class Mj{constructor(e,t){this._service=e,this._key=`suggestWidget.size/${t.getEditorType()}/${t instanceof pr}`}restore(){const e=this._service.get(this._key,0)??"";try{const t=JSON.parse(e);if(hn.is(t))return hn.lift(t)}catch{}}store(e){this._service.store(this._key,JSON.stringify(e),0,1)}reset(){this._service.remove(this._key,0)}}var oc;let DC=(oc=class{constructor(e,t,i,n,s){this.editor=e,this._storageService=t,this._state=0,this._isAuto=!1,this._pendingLayout=new ko,this._pendingShowDetails=new ko,this._ignoreFocusEvents=!1,this._forceRenderingAbove=!1,this._explainMode=!1,this._showTimeout=new Mp,this._disposables=new He,this._onDidSelect=new qL,this._onDidFocus=new qL,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 c1,this.element.domNode.classList.add("editor-widget","suggest-widget"),this._contentWidget=new Nj(this,e),this._persistedSize=new Mj(t,e);class r{constructor(v,_,y=!1,S=!1){this.persistedSize=v,this.currentSize=_,this.persistHeight=y,this.persistWidth=S}}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 v,_;if(this._resize(p.dimension.width,p.dimension.height),a&&(a.persistHeight=a.persistHeight||!!p.north||!!p.south,a.persistWidth=a.persistWidth||!!p.east||!!p.west),!!p.done){if(a){const{itemHeight:y,defaultSize:S}=this.getLayoutInfo(),D=Math.round(y/2);let{width:P,height:N}=this.element.size;(!a.persistHeight||Math.abs(a.currentSize.height-N)<=D)&&(N=((v=a.persistedSize)==null?void 0:v.height)??S.height),(!a.persistWidth||Math.abs(a.currentSize.width-P)<=D)&&(P=((_=a.persistedSize)==null?void 0:_.width)??S.width),this._persistedSize.store(new hn(P,N))}this._contentWidget.unlockPreference(),a=void 0}})),this._messageElement=st(this.element.domNode,ht(".message")),this._listElement=st(this.element.domNode,ht(".tree"));const c=this._disposables.add(s.createInstance(kC,this.editor));c.onDidClose(this.toggleDetails,this,this._disposables),this._details=new Cj(c,this.editor);const h=()=>this.element.domNode.classList.toggle("no-icons",!this.editor.getOption(119).showIcons);h();const g=s.createInstance(IC,this.editor);this._disposables.add(g),this._disposables.add(g.onDidToggleDetails(()=>this.toggleDetails())),this._list=new _0("SuggestWidget",this._listElement,{getHeight:p=>this.getLayoutInfo().itemHeight,getTemplateId:p=>"suggestion"},[g],{alwaysConsumeMouseWheel:!0,useShadows:!1,mouseSupport:!1,multipleSelectionSupport:!1,accessibilityProvider:{getRole:()=>"option",getWidgetAriaLabel:()=>w("suggest","Suggest"),getWidgetRole:()=>"listbox",getAriaLabel:p=>{let v=p.textLabel;if(typeof p.completion.label!="string"){const{detail:D,description:P}=p.completion.label;D&&P?v=w("label.full","{0} {1}, {2}",v,D,P):D?v=w("label.detail","{0} {1}",v,D):P&&(v=w("label.desc","{0}, {1}",v,P))}if(!p.isResolved||!this._isDetailsVisible())return v;const{documentation:_,detail:y}=p.completion,S=D0("{0}{1}",y||"",_?typeof _=="string"?_:_.value:"");return w("ariaCurrenttSuggestionReadDetails","{0}, docs: {1}",v,S)}}}),this._list.style($E({listInactiveFocusBackground:Tj,listInactiveFocusOutline:Yd})),this._status=s.createInstance(LC,this.element.domNode,Zl);const f=()=>this.element.domNode.classList.toggle("with-status-bar",this.editor.getOption(119).showStatusBar);f(),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)&&(f(),h()),this._completionModel&&(p.hasChanged(50)||p.hasChanged(120)||p.hasChanged(121))&&this._list.splice(0,this._list.length,this._completionModel.items)})),this._ctxSuggestWidgetVisible=Kt.Visible.bindTo(i),this._ctxSuggestWidgetDetailsVisible=Kt.DetailsVisible.bindTo(i),this._ctxSuggestWidgetMultipleSuggestions=Kt.MultipleSuggestions.bindTo(i),this._ctxSuggestWidgetHasFocusedSuggestion=Kt.HasFocusedSuggestion.bindTo(i),this._disposables.add(ol(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=Ff(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=ms(async s=>{const r=Af(()=>{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:aN(i)}))}).catch(cn)),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=iu.LOADING_MESSAGE,wo(this._listElement,this._status.element),ar(this._messageElement),this._details.hide(),this._show(),this._focusedItem=void 0,Ku(iu.LOADING_MESSAGE);break;case 2:this.element.domNode.classList.add("message"),this._messageElement.textContent=iu.NO_SUGGESTIONS_MESSAGE,wo(this._listElement,this._status.element),ar(this._messageElement),this._details.hide(),this._show(),this._focusedItem=void 0,Ku(iu.NO_SUGGESTIONS_MESSAGE);break;case 3:wo(this._messageElement),ar(this._listElement,this._status.element),this._show();break;case 4:wo(this._messageElement),ar(this._listElement,this._status.element),this._show();break;case 5:wo(this._messageElement),ar(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=Af(()=>this._setState(1),t)))}showSuggestions(e,t,i,n,s){var c,h;if(this._contentWidget.setPosition(this.editor.getPosition()),(c=this._loadingTimeout)==null||c.dispose(),(h=this._currentSuggestionDetails)==null||h.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=KL(ed(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")):(P1(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=KL(ed(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=Hp(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 hn(s,n),this._contentWidget.setPreference(2);else{const c=t.width-i.borderHeight-2*i.horizontalPadding;s>c&&(s=c);const h=this._completionModel?this._completionModel.stats.pLabelLen*i.typicalHalfwidthCharacterWidth:s,g=i.statusBarHeight+this._list.contentHeight+i.borderHeight,f=i.itemHeight+i.statusBarHeight,p=qs(this.editor.getDomNode()),v=this.editor.getScrolledVisiblePosition(this.editor.getPosition()),_=p.top+v.top+v.height,y=Math.min(t.height-_-i.verticalPadding,g),S=p.top+v.top-i.verticalPadding,D=Math.min(S,g);let P=Math.min(Math.max(D,y)+i.borderHeight,g);n===((r=this._cappedHeight)==null?void 0:r.capped)&&(n=this._cappedHeight.wanted),n<f&&(n=f),n>P&&(n=P),n>y||this._forceRenderingAbove&&S>150?(this._contentWidget.setPreference(1),this.element.enableSashes(!0,!0,!1,!1),P=D):(this._contentWidget.setPreference(2),this.element.enableSashes(!1,!0,!0,!1),P=y),this.element.preferredSize=new hn(h,i.defaultSize.height),this.element.maxSize=new hn(c,P),this.element.minSize=new hn(220,f),this._cappedHeight=n===g?{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=g2(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 hn(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}},iu=oc,oc.LOADING_MESSAGE=w("suggestWidget.loading","Loading..."),oc.NO_SUGGESTIONS_MESSAGE=w("suggestWidget.noSuggestions","No suggestions."),oc);DC=iu=Ej([Hm(1,Sc),Hm(2,Fi),Hm(3,mr),Hm(4,ri)],DC);class Nj{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 hn(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 Rj=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(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)}},EC;class Aj{constructor(e,t){if(this._model=e,this._position=t,this._decorationOptions=Ci.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(B.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 Td;let cr=(Td=class{static get(e){return e.getContribution(EC.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 ko,this._toDispose=new He,this._selectors=new Oj(f=>f.priority),this._onWillInsertSuggestItem=new gi,this.onWillInsertSuggestItem=this._onWillInsertSuggestItem.event,this.editor=e,this.model=s.createInstance(fv,this.editor),this._selectors.register({priority:0,select:(f,p,v)=>this._memoryService.select(f,p,v)});const c=Kt.InsertMode.bindTo(n);c.set(e.getOption(119).insertMode),this._toDispose.add(this.model.onDidTrigger(()=>c.set(e.getOption(119).insertMode))),this.widget=this._toDispose.add(new Uw(ed(e.getDomNode()),()=>{const f=this._instantiationService.createInstance(DC,this.editor);this._toDispose.add(f),this._toDispose.add(f.onDidSelect(S=>this._insertSuggestion(S,0),this));const p=new mj(this.editor,f,this.model,S=>this._insertSuggestion(S,2));this._toDispose.add(p);const v=Kt.MakesTextEdit.bindTo(this._contextKeyService),_=Kt.HasInsertAndReplaceRange.bindTo(this._contextKeyService),y=Kt.CanResolve.bindTo(this._contextKeyService);return this._toDispose.add(wn(()=>{v.reset(),_.reset(),y.reset()})),this._toDispose.add(f.onDidFocus(({item:S})=>{const D=this.editor.getPosition(),P=S.editStart.column,N=D.column;let j=!0;this.editor.getOption(1)==="smart"&&this.model.state===2&&!S.completion.additionalTextEdits&&!(S.completion.insertTextRules&4)&&N-P===S.completion.insertText.length&&(j=this.editor.getModel().getValueInRange({startLineNumber:D.lineNumber,startColumn:P,endLineNumber:D.lineNumber,endColumn:N})!==S.completion.insertText),v.set(j),_.set(!yt.equals(S.editInsertEnd,S.editReplaceEnd)),y.set(!!S.provider.resolveCompletionItem||!!S.completion.documentation||S.completion.detail!==S.completion.label)})),this._toDispose.add(f.onDetailsKeyDown(S=>{if(S.toKeyCodeChord().equals(new GL(!0,!1,!1,!1,33))||xa&&S.toKeyCodeChord().equals(new GL(!1,!1,!1,!0,33))){S.stopPropagation();return}S.toKeyCodeChord().isModifierKey()||this.editor.focus()})),f})),this._overtypingCapturer=this._toDispose.add(new Uw(ed(e.getDomNode()),()=>this._toDispose.add(new xC(this.editor,this.model)))),this._alternatives=this._toDispose.add(new Uw(ed(e.getDomNode()),()=>this._toDispose.add(new pg(this.editor,this._contextKeyService)))),this._toDispose.add(s.createInstance(hv,e)),this._toDispose.add(this.model.onDidTrigger(f=>{this.widget.value.showTriggered(f.auto,f.shy?250:50),this._lineSuffix.value=new Aj(this.editor.getModel(),f.position)})),this._toDispose.add(this.model.onDidSuggest(f=>{if(f.triggerOptions.shy)return;let p=-1;for(const _ of this._selectors.itemsOrderedByPriorityDesc)if(p=_.select(this.editor.getModel(),this.editor.getPosition(),f.completionModel.items),p!==-1)break;if(p===-1&&(p=0),this.model.state===0)return;let v=!1;if(f.triggerOptions.auto){const _=this.editor.getOption(119);_.selectionMode==="never"||_.selectionMode==="always"?v=_.selectionMode==="never":_.selectionMode==="whenTriggerCharacter"?v=f.triggerOptions.triggerKind!==1:_.selectionMode==="whenQuickSuggestion"&&(v=f.triggerOptions.triggerKind===1&&!f.triggerOptions.refilter)}this.widget.value.showSuggestions(f.completionModel,p,f.isFrozen,f.triggerOptions.auto,v)})),this._toDispose.add(this.model.onDidCancel(f=>{f.retrigger||this.widget.value.hideWidget()})),this._toDispose.add(this.editor.onDidBlurEditorWidget(()=>{this.model.cancel(),this.model.clear()}));const h=Kt.AcceptSuggestionsOnEnter.bindTo(n),g=()=>{const f=this.editor.getOption(1);h.set(f==="on"||f==="smart")};this._toDispose.add(this.editor.onDidChangeConfiguration(()=>g())),g()}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=Ws.get(this.editor);if(!i)return;this._onWillInsertSuggestItem.fire({item:e.item});const n=this.editor.getModel(),s=n.getAlternativeVersionId(),{item:r}=e,a=[],c=new _s;t&1||this.editor.pushUndoStop();const h=this.getOverwriteInfo(r,!!(t&8));this._memoryService.memorize(n,this.editor.getPosition(),r);const g=r.isResolved;let f=-1,p=-1;if(Array.isArray(r.completion.additionalTextEdits)){this.model.cancel();const _=Gu.capture(this.editor);this.editor.executeEdits("suggestController.additionalTextEdits.sync",r.completion.additionalTextEdits.map(y=>{let S=B.lift(y.range);if(S.startLineNumber===r.position.lineNumber&&S.startColumn>r.position.column){const D=this.editor.getPosition().column-r.position.column,P=D,N=B.spansMultipleLines(S)?0:D;S=new B(S.startLineNumber,S.startColumn+P,S.endLineNumber,S.endColumn+N)}return jn.replaceMove(S,y.text)})),_.restoreRelativeVerticalPositionOfCursor(this.editor)}else if(!g){const _=new co;let y;const S=n.onDidChangeContent(j=>{if(j.isFlush){c.cancel(),S.dispose();return}for(const H of j.changes){const ee=B.getEndPosition(H.range);(!y||yt.isBefore(ee,y))&&(y=ee)}}),D=t;t|=2;let P=!1;const N=this.editor.onWillType(()=>{N.dispose(),P=!0,D&2||this.editor.pushUndoStop()});a.push(r.resolve(c.token).then(()=>{if(!r.completion.additionalTextEdits||c.token.isCancellationRequested)return;if(y&&r.completion.additionalTextEdits.some(H=>yt.isBefore(y,B.getStartPosition(H.range))))return!1;P&&this.editor.pushUndoStop();const j=Gu.capture(this.editor);return this.editor.executeEdits("suggestController.additionalTextEdits.async",r.completion.additionalTextEdits.map(H=>jn.replaceMove(B.lift(H.range),H.text))),j.restoreRelativeVerticalPositionOfCursor(this.editor),(P||!(D&2))&&this.editor.pushUndoStop(),!0}).then(j=>{this._logService.trace("[suggest] async resolving of edits DONE (ms, applied?)",_.elapsed(),j),p=j===!0?1:j===!1?0:-2}).finally(()=>{S.dispose(),N.dispose()}))}let{insertText:v}=r.completion;if(r.completion.insertTextRules&4||(v=sh.escape(v)),this.model.cancel(),i.insert(v,{overwriteBefore:h.overwriteBefore,overwriteAfter:h.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===pv.id)this.model.trigger({auto:!0,retrigger:!0});else{const _=new co;a.push(this._commandService.executeCommand(r.completion.command.id,...r.completion.command.arguments?[...r.completion.command.arguments]:[]).catch(y=>{r.completion.extensionId?Yn(y):cn(y)}).finally(()=>{f=_.elapsed()}))}t&4&&this._alternatives.value.set(e,_=>{for(c.cancel();n.canUndo();){s!==n.getAlternativeVersionId()&&n.undo(),this._insertSuggestion(_,3|(t&8?8:0));break}}),this._alertCompletionItem(r),Promise.all(a).finally(()=>{this._reportSuggestionAcceptedTelemetry(r,n,g,f,p,e.index,e.model.items),this.model.clear(),c.dispose()})}_reportSuggestionAcceptedTelemetry(e,t,i,n,s,r,a){var p;if(Math.floor(Math.random()*100)===0)return;const c=new Map;for(let v=0;v<Math.min(30,a.length);v++){const _=a[v].textLabel;c.has(_)?c.get(_).push(v):c.set(_,[v])}const h=c.get(e.textLabel),f=h&&h.length>1?h[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:yE(La(t.uri)).toString(16),languageId:t.getLanguageId(),fileExtension:f2(t.uri),resolveInfo:e.provider.resolveCompletionItem?i?1:0:-1,resolveDuration:e.resolveDuration,commandDuration:n,additionalEditsAsync:s,index:r,firstIndex:f})}getOverwriteInfo(e,t){ji(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(Co(e.completion.additionalTextEdits)){const t=w("aria.alert.snippet","Accepting '{0}' made {1} additional edits",e.textLabel,e.completion.additionalTextEdits.length);gr(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,c=r.column;return c-a!==s.completion.insertText.length?!0:this.editor.getModel().getValueInRange({startLineNumber:r.lineNumber,startColumn:a,endLineNumber:r.lineNumber,endColumn:c})!==s.completion.insertText};cs.once(this.model.onDidTrigger)(s=>{const r=[];cs.any(this.model.onDidTrigger,this.model.onDidCancel)(()=>{Rs(r),i()},void 0,r),this.model.onDidSuggest(({completionModel:a})=>{if(Rs(r),a.items.length===0){i();return}const c=this._memoryService.select(this.editor.getModel(),this.editor.getPosition(),a.items),h=a.items[c];if(!n(h)){i();return}this.editor.pushUndoStop(),this._insertSuggestion({index:c,item:h,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)}},EC=Td,Td.ID="editor.contrib.suggestController",Td);cr=EC=Rj([Uh(1,Cw),Uh(2,fs),Uh(3,Fi),Uh(4,ri),Uh(5,vh),Uh(6,jr)],cr);class Oj{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 rb=class rb extends we{constructor(){super({id:rb.id,label:w("suggest.trigger.label","Trigger Suggest"),alias:"Trigger Suggest",precondition:oe.and(M.writable,M.hasCompletionItemProvider,Kt.Visible.toNegated()),kbOpts:{kbExpr:M.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[521,2087]},weight:100}})}run(e,t,i){const n=cr.get(t);if(!n)return;let s;i&&typeof i=="object"&&i.auto===!0&&(s=!0),n.triggerSuggest(void 0,s,void 0)}};rb.id="editor.action.triggerSuggest";let pv=rb;_i(cr.ID,cr,2);ie(pv);const Io=190,Vs=Xs.bindToContribution(cr.get);Lt(new Vs({id:"acceptSelectedSuggestion",precondition:oe.and(Kt.Visible,Kt.HasFocusedSuggestion),handler(o){o.acceptSelectedSuggestion(!0,!1)},kbOpts:[{primary:2,kbExpr:oe.and(Kt.Visible,M.textInputFocus),weight:Io},{primary:3,kbExpr:oe.and(Kt.Visible,M.textInputFocus,Kt.AcceptSuggestionsOnEnter,Kt.MakesTextEdit),weight:Io}],menuOpts:[{menuId:Zl,title:w("accept.insert","Insert"),group:"left",order:1,when:Kt.HasInsertAndReplaceRange.toNegated()},{menuId:Zl,title:w("accept.insert","Insert"),group:"left",order:1,when:oe.and(Kt.HasInsertAndReplaceRange,Kt.InsertMode.isEqualTo("insert"))},{menuId:Zl,title:w("accept.replace","Replace"),group:"left",order:1,when:oe.and(Kt.HasInsertAndReplaceRange,Kt.InsertMode.isEqualTo("replace"))}]}));Lt(new Vs({id:"acceptAlternativeSelectedSuggestion",precondition:oe.and(Kt.Visible,M.textInputFocus,Kt.HasFocusedSuggestion),kbOpts:{weight:Io,kbExpr:M.textInputFocus,primary:1027,secondary:[1026]},handler(o){o.acceptSelectedSuggestion(!1,!0)},menuOpts:[{menuId:Zl,group:"left",order:2,when:oe.and(Kt.HasInsertAndReplaceRange,Kt.InsertMode.isEqualTo("insert")),title:w("accept.replace","Replace")},{menuId:Zl,group:"left",order:2,when:oe.and(Kt.HasInsertAndReplaceRange,Kt.InsertMode.isEqualTo("replace")),title:w("accept.insert","Insert")}]}));fn.registerCommandAlias("acceptSelectedSuggestionOnEnter","acceptSelectedSuggestion");Lt(new Vs({id:"hideSuggestWidget",precondition:Kt.Visible,handler:o=>o.cancelSuggestWidget(),kbOpts:{weight:Io,kbExpr:M.textInputFocus,primary:9,secondary:[1033]}}));Lt(new Vs({id:"selectNextSuggestion",precondition:oe.and(Kt.Visible,oe.or(Kt.MultipleSuggestions,Kt.HasFocusedSuggestion.negate())),handler:o=>o.selectNextSuggestion(),kbOpts:{weight:Io,kbExpr:M.textInputFocus,primary:18,secondary:[2066],mac:{primary:18,secondary:[2066,300]}}}));Lt(new Vs({id:"selectNextPageSuggestion",precondition:oe.and(Kt.Visible,oe.or(Kt.MultipleSuggestions,Kt.HasFocusedSuggestion.negate())),handler:o=>o.selectNextPageSuggestion(),kbOpts:{weight:Io,kbExpr:M.textInputFocus,primary:12,secondary:[2060]}}));Lt(new Vs({id:"selectLastSuggestion",precondition:oe.and(Kt.Visible,oe.or(Kt.MultipleSuggestions,Kt.HasFocusedSuggestion.negate())),handler:o=>o.selectLastSuggestion()}));Lt(new Vs({id:"selectPrevSuggestion",precondition:oe.and(Kt.Visible,oe.or(Kt.MultipleSuggestions,Kt.HasFocusedSuggestion.negate())),handler:o=>o.selectPrevSuggestion(),kbOpts:{weight:Io,kbExpr:M.textInputFocus,primary:16,secondary:[2064],mac:{primary:16,secondary:[2064,302]}}}));Lt(new Vs({id:"selectPrevPageSuggestion",precondition:oe.and(Kt.Visible,oe.or(Kt.MultipleSuggestions,Kt.HasFocusedSuggestion.negate())),handler:o=>o.selectPrevPageSuggestion(),kbOpts:{weight:Io,kbExpr:M.textInputFocus,primary:11,secondary:[2059]}}));Lt(new Vs({id:"selectFirstSuggestion",precondition:oe.and(Kt.Visible,oe.or(Kt.MultipleSuggestions,Kt.HasFocusedSuggestion.negate())),handler:o=>o.selectFirstSuggestion()}));Lt(new Vs({id:"focusSuggestion",precondition:oe.and(Kt.Visible,Kt.HasFocusedSuggestion.negate()),handler:o=>o.focusSuggestion(),kbOpts:{weight:Io,kbExpr:M.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[2087]}}}));Lt(new Vs({id:"focusAndAcceptSuggestion",precondition:oe.and(Kt.Visible,Kt.HasFocusedSuggestion.negate()),handler:o=>{o.focusSuggestion(),o.acceptSelectedSuggestion(!0,!1)}}));Lt(new Vs({id:"toggleSuggestionDetails",precondition:oe.and(Kt.Visible,Kt.HasFocusedSuggestion),handler:o=>o.toggleSuggestionDetails(),kbOpts:{weight:Io,kbExpr:M.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[2087]}},menuOpts:[{menuId:Zl,group:"right",order:1,when:oe.and(Kt.DetailsVisible,Kt.CanResolve),title:w("detail.more","Show Less")},{menuId:Zl,group:"right",order:1,when:oe.and(Kt.DetailsVisible.toNegated(),Kt.CanResolve),title:w("detail.less","Show More")}]}));Lt(new Vs({id:"toggleExplainMode",precondition:Kt.Visible,handler:o=>o.toggleExplainMode(),kbOpts:{weight:100,primary:2138}}));Lt(new Vs({id:"toggleSuggestionFocus",precondition:Kt.Visible,handler:o=>o.toggleSuggestionFocus(),kbOpts:{weight:Io,kbExpr:M.textInputFocus,primary:2570,mac:{primary:778}}}));Lt(new Vs({id:"insertBestCompletion",precondition:oe.and(M.textInputFocus,oe.equals("config.editor.tabCompletion","on"),hv.AtEnd,Kt.Visible.toNegated(),pg.OtherSuggestions.toNegated(),Ws.InSnippetMode.toNegated()),handler:(o,e)=>{o.triggerSuggestAndAcceptBest(SE(e)?{fallback:"tab",...e}:{fallback:"tab"})},kbOpts:{weight:Io,primary:2}}));Lt(new Vs({id:"insertNextSuggestion",precondition:oe.and(M.textInputFocus,oe.equals("config.editor.tabCompletion","on"),pg.OtherSuggestions,Kt.Visible.toNegated(),Ws.InSnippetMode.toNegated()),handler:o=>o.acceptNextSuggestion(),kbOpts:{weight:Io,kbExpr:M.textInputFocus,primary:2}}));Lt(new Vs({id:"insertPrevSuggestion",precondition:oe.and(M.textInputFocus,oe.equals("config.editor.tabCompletion","on"),pg.OtherSuggestions,Kt.Visible.toNegated(),Ws.InSnippetMode.toNegated()),handler:o=>o.acceptPrevSuggestion(),kbOpts:{weight:Io,kbExpr:M.textInputFocus,primary:1026}}));ie(class extends we{constructor(){super({id:"editor.action.resetSuggestSize",label:w("suggest.reset.label","Reset Suggest Widget Size"),alias:"Reset Suggest Widget Size",precondition:void 0})}run(o,e){var t;(t=cr.get(e))==null||t.resetWidgetSize()}});class Fj extends ze{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=cr.get(this.editor);if(n){this._register(n.registerSelector({priority:100,select:(a,c,h)=>{const g=this.editor.getModel();if(!g)return-1;const f=this.suggestControllerPreselector(),p=f?ld(f,g):void 0;if(!p)return-1;const v=yt.lift(c),_=h.map((S,D)=>{const P=xf.fromSuggestion(n,g,v,S,this.isShiftKeyPressed),N=ld(P.toSingleTextEdit(),g),j=rN(p,N);return{index:D,valid:j,prefixLength:N.text.length,suggestItem:S}}).filter(S=>S&&S.valid&&S.prefixLength>0),y=p2(_,Bp(S=>S.prefixLength,$b));return y?y.index:-1}}));let s=!1;const r=()=>{s||(s=!0,this._register(n.widget.value.onDidShow(()=>{this.isSuggestWidgetVisible=!0,this.update(!0)})),this._register(n.widget.value.onDidHide(()=>{this.isSuggestWidgetVisible=!1,this.update(!1)})),this._register(n.widget.value.onDidFocus(()=>{this.isSuggestWidgetVisible=!0,this.update(!0)})))};this._register(cs.once(n.model.onDidTrigger)(a=>{r()})),this._register(n.onWillInsertSuggestItem(a=>{const c=this.editor.getPosition(),h=this.editor.getModel();if(!c||!h)return;const g=xf.fromSuggestion(n,h,c,a.item,this.isShiftKeyPressed);this.onWillAccept(g)}))}this.update(this._isActive)}update(e){const t=this.getSuggestItemInfo();(this._isActive!==e||!Hj(this._currentSuggestItemInfo,t))&&(this._isActive=e,this._currentSuggestItemInfo=t,this._onDidSelectedItemChange.fire())}getSuggestItemInfo(){const e=cr.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 xf.fromSuggestion(e,n,i,t.item,this.isShiftKeyPressed)}stopForceRenderingAbove(){const e=cr.get(this.editor);e==null||e.stopForceRenderingAbove()}forceRenderingAbove(){const e=cr.get(this.editor);e==null||e.forceRenderingAbove()}}class xf{static fromSuggestion(e,t,i,n,s){let{insertText:r}=n.completion,a=!1;if(n.completion.insertTextRules&4){const h=new sh().parse(r);h.children.length<100&&dv.adjustWhitespace(t,i,!0,h),r=h.toString(),a=!0}const c=e.getOverwriteInfo(n,s);return new xf(B.fromPositions(i.delta(0,-c.overwriteBefore),i.delta(0,Math.max(c.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 m2(this.range,this.insertText,this.completionItemKind,this.isSnippetText)}toSingleTextEdit(){return new rl(this.range,this.insertText)}}function Hj(o,e){return o===e?!0:!o||!e?!1:o.equals(e)}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},Fa=function(o,e){return function(t,i){e(t,i,o)}},PC,Md;let zo=(Md=class extends ze{static get(e){return e.getContribution(PC.ID)}constructor(e,t,i,n,s,r,a,c,h,g){super(),this.editor=e,this._instantiationService=t,this._contextKeyService=i,this._configurationService=n,this._commandService=s,this._debounceService=r,this._languageFeaturesService=a,this._accessibilitySignalService=c,this._keybindingService=h,this._accessibilityService=g,this._editorObs=ha(this.editor),this._positions=Xi(this,p=>{var v;return((v=this._editorObs.selections.read(p))==null?void 0:v.map(_=>_.getEndPosition()))??[new yt(1,1)]}),this._suggestWidgetAdaptor=this._register(new Fj(this.editor,()=>{var p,v;return this._editorObs.forceUpdate(),(v=(p=this.model.get())==null?void 0:p.selectedInlineCompletion.get())==null?void 0:v.toSingleTextEdit(void 0)},p=>this._editorObs.forceUpdate(v=>{var _;(_=this.model.get())==null||_.handleSuggestAccepted(p)}))),this._suggestWidgetSelectedItem=no(this,p=>this._suggestWidgetAdaptor.onDidSelectedItemChange(()=>{this._editorObs.forceUpdate(v=>p(void 0))}),()=>this._suggestWidgetAdaptor.selectedItem),this._enabledInConfig=no(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(62).enabled),this._isScreenReaderEnabled=no(this,this._accessibilityService.onDidChangeScreenReaderOptimized,()=>this._accessibilityService.isScreenReaderOptimized()),this._editorDictationInProgress=no(this,this._contextKeyService.onDidChangeContext,()=>this._contextKeyService.getContext(this.editor.getDomNode()).getValue("editorDictation.inProgress")===!0),this._enabled=Xi(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=fc(this,p=>{if(this._editorObs.isReadonly.read(p))return;const v=this._editorObs.model.read(p);return v?this._instantiationService.createInstance(wC,v,this._suggestWidgetSelectedItem,this._editorObs.versionId,this._positions,this._debounceValue,no(this.editor.onDidChangeConfiguration,()=>this.editor.getOption(119).preview),no(this.editor.onDidChangeConfiguration,()=>this.editor.getOption(119).previewMode),no(this.editor.onDidChangeConfiguration,()=>this.editor.getOption(62).mode),this._enabled):void 0}).recomputeInitiallyAndOnChange(this._store),this._ghostTexts=Xi(this,p=>{const v=this.model.read(p);return(v==null?void 0:v.ghostTexts.read(p))??[]}),this._stablizedGhostTexts=Bj(this._ghostTexts,this._store),this._ghostTextWidgets=_2(this,this._stablizedGhostTexts,(p,v)=>v.add(this._instantiationService.createInstance(vC,this.editor,{ghostText:p,minReservedLineCount:Ga(0),targetTextModel:this.model.map(_=>_==null?void 0:_.textModel)}))).recomputeInitiallyAndOnChange(this._store),this._playAccessibilitySignal=E0(this),this._fontFamily=no(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(62).fontFamily),this._register(new lo(this._contextKeyService,this.model)),this._register(ZL(this._editorObs.onDidType,(p,v)=>{var _;this._enabled.get()&&((_=this.model.get())==null||_.trigger())})),this._register(this._commandService.onDidExecuteCommand(p=>{new Set([Ym.Tab.id,Ym.DeleteLeft.id,Ym.DeleteRight.id,pM,"acceptSelectedSuggestion"]).has(p.commandId)&&e.hasTextFocus()&&this._enabled.get()&&this._editorObs.forceUpdate(_=>{var y;(y=this.model.get())==null||y.trigger(_)})})),this._register(ZL(this._editorObs.selections,(p,v)=>{var _;v.some(y=>y.reason===3||y.source==="api")&&((_=this.model.get())==null||_.stop())})),this._register(this.editor.onDidBlurEditorWidget(()=>{this._contextKeyService.getContextKeyValue("accessibleViewIsShown")||this._configurationService.getValue("editor.inlineSuggest.keepOnBlur")||e.getOption(62).keepOnBlur||cg.dropDownVisible||_h(p=>{var v;(v=this.model.get())==null||v.stop(p)})})),this._register(Hn(p=>{var _;const v=(_=this.model.read(p))==null?void 0:_.state.read(p);v!=null&&v.suggestItem?v.primaryGhostText.lineCount>=2&&this._suggestWidgetAdaptor.forceRenderingAbove():this._suggestWidgetAdaptor.stopForceRenderingAbove()})),this._register(wn(()=>{this._suggestWidgetAdaptor.stopForceRenderingAbove()}));const f=jb(this,(p,v)=>{var S;const _=this.model.read(p),y=_==null?void 0:_.state.read(p);return this._suggestWidgetSelectedItem.get()?v:(S=y==null?void 0:y.inlineCompletion)==null?void 0:S.semanticId});this._register(v2(Xi(p=>(this._playAccessibilitySignal.read(p),f.read(p),{})),async(p,v,_)=>{const y=this.model.get(),S=y==null?void 0:y.state.get();if(!S||!y)return;const D=y.textModel.getLineContent(S.primaryGhostText.lineNumber);await Xb(50,Gy(_)),await b2(this._suggestWidgetSelectedItem,Yg,()=>!1,Gy(_)),await this._accessibilitySignalService.playSignal(xE.inlineSuggestion),this.editor.getOption(8)&&this._provideScreenReaderUpdate(S.primaryGhostText.renderForScreenReader(D))})),this._register(new FS(this.editor,this.model,this._instantiationService)),this._register(P4(Xi(p=>{const v=this._fontFamily.read(p);return v===""||v==="default"?"":`
43
- .monaco-editor .ghost-text-decoration,
44
- .monaco-editor .ghost-text-decoration-preview,
45
- .monaco-editor .ghost-text {
46
- font-family: ${v};
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=w("showAccessibleViewHint","Inspect this in the accessible view ({0})",i.getAriaLabel())),gr(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 yt(t.lineNumber,n.column))):!1}shouldShowHoverAtViewZone(e){var t;return((t=this._ghostTextWidgets.get()[0])==null?void 0:t.ownsViewZone(e))??!1}},PC=Md,Md.ID="editor.contrib.inlineCompletionsController",Md);zo=PC=Wj([Fa(1,ri),Fa(2,Fi),Fa(3,Sn),Fa(4,fs),Fa(5,Vo),Fa(6,St),Fa(7,CE),Fa(8,is),Fa(9,Ub)],zo);function Bj(o,e){const t=xo("result",[]),i=[];return e.add(Hn(n=>{const s=o.read(n);_h(r=>{if(s.length!==i.length){i.length=s.length;for(let a=0;a<i.length;a++)i[a]||(i[a]=xo("item",s[a]));t.set([...i],r)}i.forEach((a,c)=>a.set(s[c],r))})})),t}const ab=class ab extends we{constructor(){super({id:ab.ID,label:w("action.inlineSuggest.showNext","Show Next Inline Suggestion"),alias:"Show Next Inline Suggestion",precondition:oe.and(M.writable,lo.inlineSuggestionVisible),kbOpts:{weight:100,primary:606}})}async run(e,t){var n;const i=zo.get(t);(n=i==null?void 0:i.model.get())==null||n.next()}};ab.ID=_M;let TC=ab;const lb=class lb extends we{constructor(){super({id:lb.ID,label:w("action.inlineSuggest.showPrevious","Show Previous Inline Suggestion"),alias:"Show Previous Inline Suggestion",precondition:oe.and(M.writable,lo.inlineSuggestionVisible),kbOpts:{weight:100,primary:604}})}async run(e,t){var n;const i=zo.get(t);(n=i==null?void 0:i.model.get())==null||n.previous()}};lb.ID=mM;let MC=lb;class zj extends we{constructor(){super({id:"editor.action.inlineSuggest.trigger",label:w("action.inlineSuggest.trigger","Trigger Inline Suggestion"),alias:"Trigger Inline Suggestion",precondition:M.writable})}async run(e,t){const i=zo.get(t);await qE(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 Vj extends we{constructor(){super({id:"editor.action.inlineSuggest.acceptNextWord",label:w("action.inlineSuggest.acceptNextWord","Accept Next Word Of Inline Suggestion"),alias:"Accept Next Word Of Inline Suggestion",precondition:oe.and(M.writable,lo.inlineSuggestionVisible),kbOpts:{weight:101,primary:2065,kbExpr:oe.and(M.writable,lo.inlineSuggestionVisible)},menuOpts:[{menuId:et.InlineSuggestionToolbar,title:w("acceptWord","Accept Word"),group:"primary",order:2}]})}async run(e,t){var n;const i=zo.get(t);await((n=i==null?void 0:i.model.get())==null?void 0:n.acceptNextWord(i.editor))}}class jj extends we{constructor(){super({id:"editor.action.inlineSuggest.acceptNextLine",label:w("action.inlineSuggest.acceptNextLine","Accept Next Line Of Inline Suggestion"),alias:"Accept Next Line Of Inline Suggestion",precondition:oe.and(M.writable,lo.inlineSuggestionVisible),kbOpts:{weight:101},menuOpts:[{menuId:et.InlineSuggestionToolbar,title:w("acceptLine","Accept Line"),group:"secondary",order:2}]})}async run(e,t){var n;const i=zo.get(t);await((n=i==null?void 0:i.model.get())==null?void 0:n.acceptNextLine(i.editor))}}class Uj extends we{constructor(){super({id:pM,label:w("action.inlineSuggest.accept","Accept Inline Suggestion"),alias:"Accept Inline Suggestion",precondition:lo.inlineSuggestionVisible,menuOpts:[{menuId:et.InlineSuggestionToolbar,title:w("accept","Accept"),group:"primary",order:1}],kbOpts:{primary:2,weight:200,kbExpr:oe.and(lo.inlineSuggestionVisible,M.tabMovesFocus.toNegated(),lo.inlineSuggestionHasIndentationLessThanTabSize,Kt.Visible.toNegated(),M.hoverFocused.toNegated())}})}async run(e,t){var n;const i=zo.get(t);i&&((n=i.model.get())==null||n.accept(i.editor),i.editor.focus())}}const cb=class cb extends we{constructor(){super({id:cb.ID,label:w("action.inlineSuggest.hide","Hide Inline Suggestion"),alias:"Hide Inline Suggestion",precondition:lo.inlineSuggestionVisible,kbOpts:{weight:100,primary:9}})}async run(e,t){const i=zo.get(t);_h(n=>{var s;(s=i==null?void 0:i.model.get())==null||s.stop(n)})}};cb.ID="editor.action.inlineSuggest.hide";let NC=cb;const db=class db extends Zs{constructor(){super({id:db.ID,title:w("action.inlineSuggest.alwaysShowToolbar","Always Show Toolbar"),f1:!1,precondition:void 0,menu:[{id:et.InlineSuggestionToolbar,group:"secondary",order:10}],toggled:oe.equals("config.editor.inlineSuggest.showToolbar","always")})}async run(e,t){const i=e.get(Sn),s=i.getValue("editor.inlineSuggest.showToolbar")==="always"?"onHover":"always";i.updateValue("editor.inlineSuggest.showToolbar",s)}};db.ID="editor.action.inlineSuggest.toggleAlwaysShowToolbar";let RC=db;var $j=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},qg=function(o,e){return function(t,i){e(t,i,o)}};class qj{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 AC=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=zo.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 r_(1e3,this,B.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 r_(1e3,this,i.range,e.event.posx,e.event.posy,!1):i.type===6&&i.detail.mightBeForeignElement&&t.shouldShowHoverAt(i.range)?new r_(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=zo.get(this._editor);return i&&i.shouldShowHoverAt(e.range)?[new qj(this,e.range,i)]:[]}renderHoverParts(e,t){const i=new He,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(cg,this._editor,!1,Ga(null),s.selectedInlineCompletionIndex,s.inlineCompletionsCount,s.activeCommands),a=r.getDomNode();e.fragment.appendChild(a),s.triggerExplicitly(),i.add(r);const c={hoverPart:n,hoverElement:a,dispose(){i.dispose()}};return new lh([c])}renderScreenReaderText(e,t){const i=new He,n=ht,s=n("div.hover-row.markdown-hover"),r=st(s,n("div.hover-contents",{"aria-live":"assertive"})),a=i.add(new Lg({editor:this._editor},this._languageService,this._openerService)),c=h=>{i.add(a.onDidRenderAsync(()=>{r.className="hover-contents code-hover-contents",e.onContentsChanged()}));const g=w("inlineSuggestionFollows","Suggestion:"),f=i.add(a.render(new Ms().appendText(g).appendCodeblock("text",h)));r.replaceChildren(f.element)};return i.add(Hn(h=>{var f;const g=(f=t.controller.model.read(h))==null?void 0:f.primaryGhostText.read(h);if(g){const p=this._editor.getModel().getLineContent(g.lineNumber);c(g.renderForScreenReader(p))}else C_(r)})),e.fragment.appendChild(s),i}};AC=$j([qg(1,Ur),qg(2,Vr),qg(3,Ub),qg(4,ri),qg(5,jr)],AC);class Kj{}const xw=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}};_i(zo.ID,zo,3);ie(zj);ie(TC);ie(MC);ie(Vj);ie(jj);ie(Uj);ie(NC);Ji(RC);Sh.register(AC);xw.register(new Kj);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},Cy=function(o,e){return function(t,i){e(t,i,o)}},rf,rc;let ap=(rc=class{constructor(e,t,i,n){this.textModelResolverService=t,this.languageService=i,this.languageFeaturesService=n,this.toUnhook=new He,this.toUnhookForKeyboard=new He,this.currentWordAtPosition=null,this.previousPromise=null,this.editor=e,this.linkDecorations=this.editor.createDecorationsCollection();const s=new mw(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=>{cn(a)}).finally(()=>{this.removeLinkDecorations()})})),this.toUnhook.add(s.onCancel(()=>{this.removeLinkDecorations(),this.currentWordAtPosition=null}))}static get(e){return e.getContribution(rf.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 KE(this.editor,15);this.previousPromise&&(this.previousPromise.cancel(),this.previousPromise=null),this.previousPromise=ms(a=>this.findDefinition(e,a));let n;try{n=await this.previousPromise}catch(a){cn(a);return}if(!n||!n.length||!i.validate(this.editor)){this.removeLinkDecorations();return}const s=n[0].originSelectionRange?B.lift(n[0].originSelectionRange):new B(e.lineNumber,t.startColumn,e.lineNumber,t.endColumn);if(n.length>1){let a=s;for(const{originSelectionRange:c}of n)c&&(a=B.plusRange(a,c));this.addDecoration(a,new Ms().appendText(w("multipleResults","Click to show {0} definitions.",n.length)))}else{const a=n[0];if(!a.uri)return;this.textModelResolverService.createModelReference(a.uri).then(c=>{if(!c.object||!c.object.textEditorModel){c.dispose();return}const{object:{textEditorModel:h}}=c,{startLineNumber:g}=a.range;if(g<1||g>h.getLineCount()){c.dispose();return}const f=this.getPreviewValue(h,g,a),p=this.languageService.guessLanguageIdByFilepathOrFirstLine(h.uri);this.addDecoration(s,f?new Ms().appendCodeblock(p||"",f):void 0),c.dispose()})}}getPreviewValue(e,t,i){let n=i.range;return n.endLineNumber-n.startLineNumber>=rf.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 c=e.getLineFirstNonWhitespaceColumn(a);s=Math.min(s,c)}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+rf.MAX_SOURCE_PREVIEW_LINES);let s=t+1;for(;s<n;s++){const r=e.getLineFirstNonWhitespaceColumn(s);if(i===r)break}return new B(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 I0)&&(e.hasTriggerModifier||(t?t.keyCodeIsTriggerKey:!1))&&this.languageFeaturesService.definitionProvider.has(this.editor.getModel())}findDefinition(e,t){const i=this.editor.getModel();return i?em(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 im({openToSide:t,openInPeek:n,muteMessage:!0},{title:{value:"",original:""},id:"",precondition:void 0}).run(i)})}isInPeekEditor(e){const t=e.get(Fi);return Ks.inPeekEditor.getValue(t)}dispose(){this.toUnhook.dispose(),this.toUnhookForKeyboard.dispose()}},rf=rc,rc.ID="editor.contrib.gotodefinitionatposition",rc.MAX_SOURCE_PREVIEW_LINES=8,rc);ap=rf=Gj([Cy(1,$r),Cy(2,Ur),Cy(3,St)],ap);_i(ap.ID,ap,2);var lN=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},mv=function(o,e){return function(t,i){e(t,i,o)}};class NI{constructor(e,t,i){this.marker=e,this.index=t,this.total=i}}let OC=class{constructor(e,t,i){this._markerService=t,this._configService=i,this._onDidChange=new gi,this.onDidChange=this._onDidChange.event,this._dispoables=new He,this._markers=[],this._nextIdx=-1,sn.isUri(e)?this._resourceFilter=a=>a.toString()===e.toString():e&&(this._resourceFilter=e);const n=this._configService.getValue("problems.sortOrder"),s=(a,c)=>{let h=XL(a.resource.toString(),c.resource.toString());return h===0&&(n==="position"?h=B.compareRangesUsingStarts(a,c)||As.compare(a.severity,c.severity):h=As.compare(a.severity,c.severity)||B.compareRangesUsingStarts(a,c)),h},r=()=>{this._markers=this._markerService.read({resource:sn.isUri(e)?e:void 0,severities:As.Error|As.Warning|As.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(c=>this._resourceFilter(c)))&&(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 NI(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=D_(this._markers,{resource:e.uri},(r,a)=>XL(r.resource.toString(),a.resource.toString())),s<0&&(s=~s));for(let r=s;r<this._markers.length;r++){let a=B.lift(this._markers[r]);if(a.isEmpty()){const c=e.getWordAtPosition(a.getStartPosition());c&&(a=new B(a.startLineNumber,c.startColumn,a.startLineNumber,c.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(B.containsPosition(this._markers[i],t))return new NI(this._markers[i],i+1,this._markers.length)}}};OC=lN([mv(1,b0),mv(2,Sn)],OC);const cN=fl("IMarkerNavigationService");let FC=class{constructor(e,t){this._markerService=e,this._configService=t,this._provider=new FE}getMarkerList(e){for(const t of this._provider){const i=t.getMarkerList(e);if(i)return i}return new OC(e,this._markerService,this._configService)}};FC=lN([mv(0,b0),mv(1,Sn)],FC);pl(cN,FC,1);var HC;(function(o){function e(t){switch(t){case vm.Ignore:return"severity-ignore "+qi.asClassName(Xt.info);case vm.Info:return qi.asClassName(Xt.info);case vm.Warning:return qi.asClassName(Xt.warning);case vm.Error:return qi.asClassName(Xt.error);default:return""}}o.className=e})(HC||(HC={}));var Zj=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},$h=function(o,e){return function(t,i){e(t,i,o)}},WC;class Xj{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 He,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(ol(this._relatedBlock,"click",a=>{a.preventDefault();const c=this._relatedDiagnostics.get(a.target);c&&i(c)})),this._scrollable=new k2(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(){Rs(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=Zb(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 c=this._messageBlock;for(const p of a)c=document.createElement("div"),c.innerText=p,p===""&&(c.style.height=this._messageBlock.style.lineHeight),this._messageBlock.appendChild(c);if(t||s){const p=document.createElement("span");if(p.classList.add("details"),c.appendChild(p),t){const v=document.createElement("span");v.innerText=t,v.classList.add("source"),p.appendChild(v)}if(s)if(typeof s=="string"){const v=document.createElement("span");v.innerText=`(${s})`,v.classList.add("code"),p.appendChild(v)}else{this._codeLink=ht("a.code-link"),this._codeLink.setAttribute("href",`${s.target.toString()}`),this._codeLink.onclick=_=>{this._openerService.open(s.target,{allowCommands:!0}),_.preventDefault(),_.stopPropagation()};const v=st(this._codeLink,ht("span"));v.innerText=s.value,p.appendChild(this._codeLink)}}if(wa(this._relatedBlock),this._editor.applyFontInfo(this._relatedBlock),Co(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 v of n){const _=document.createElement("div"),y=document.createElement("a");y.classList.add("filename"),y.innerText=`${this._labelService.getUriBasenameLabel(v.resource)}(${v.startLineNumber}, ${v.startColumn}): `,y.title=this._labelService.getUriLabel(v.resource),this._relatedDiagnostics.set(y,v);const S=document.createElement("span");S.innerText=v.message,_.appendChild(y),_.appendChild(S),this._lines+=1,p.appendChild(_)}}const h=this._editor.getOption(50),g=Math.ceil(h.typicalFullwidthCharacterWidth*this._longestLineLength*.75),f=h.lineHeight*this._lines;this._scrollable.setScrollDimensions({scrollWidth:g,scrollHeight:f})}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 As.Error:t=w("Error","Error");break;case As.Warning:t=w("Warning","Warning");break;case As.Info:t=w("Info","Info");break;case As.Hint:t=w("Hint","Hint");break}let i=w("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 Nd;let lp=(Nd=class extends K_{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 He,this._onDidSelectRelatedInformation=new gi,this.onDidSelectRelatedInformation=this._onDidSelectRelatedInformation.event,this._severity=As.Warning,this._backgroundColor=wi.white,this._applyTheme(t.getColorTheme()),this._callOnDispose.add(t.onDidColorThemeChange(this._applyTheme.bind(this))),this.create()}_applyTheme(e){this._backgroundColor=e.getColor(eU);let t=BC,i=Yj;this._severity===As.Warning?(t=d_,i=Jj):this._severity===As.Info&&(t=zC,i=Qj);const n=e.getColor(t),s=e.getColor(i);this.style({arrowColor:n,frameColor:n,headerBackgroundColor:s,primaryHeadingColor:e.getColor(IM),secondaryHeadingColor:e.getColor(DM)})}_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(WC.TitleMenu,this._contextKeyService);S0(i,t),this._actionbarWidget.push(t,{label:!1,icon:!0,index:0})}_fillTitleIcon(e){this._icon=st(e,ht(""))}_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 Xj(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=B.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 c=i>1?w("problems","{0} of {1} problems",t,i):w("change","{0} of {1} problem",t,i);this.setTitle(La(a.uri),c)}this._icon.className=`codicon ${HC.className(As.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()}},WC=Nd,Nd.TitleMenu=new et("gotoErrorTitleMenu"),Nd);lp=WC=Zj([$h(1,mr),$h(2,Vr),$h(3,mh),$h(4,ri),$h(5,Fi),$h(6,zf)],lp);const RI=T0(y2,w2),AI=T0(C2,S2),OI=T0(Vy,x2),BC=ut("editorMarkerNavigationError.background",{dark:RI,light:RI,hcDark:sl,hcLight:sl},w("editorMarkerNavigationError","Editor marker navigation widget error color.")),Yj=ut("editorMarkerNavigationError.headerBackground",{dark:ya(BC,.1),light:ya(BC,.1),hcDark:null,hcLight:null},w("editorMarkerNavigationErrorHeaderBackground","Editor marker navigation widget error heading background.")),d_=ut("editorMarkerNavigationWarning.background",{dark:AI,light:AI,hcDark:sl,hcLight:sl},w("editorMarkerNavigationWarning","Editor marker navigation widget warning color.")),Jj=ut("editorMarkerNavigationWarning.headerBackground",{dark:ya(d_,.1),light:ya(d_,.1),hcDark:"#0C141F",hcLight:ya(d_,.2)},w("editorMarkerNavigationWarningBackground","Editor marker navigation widget warning heading background.")),zC=ut("editorMarkerNavigationInfo.background",{dark:OI,light:OI,hcDark:sl,hcLight:sl},w("editorMarkerNavigationInfo","Editor marker navigation widget info color.")),Qj=ut("editorMarkerNavigationInfo.headerBackground",{dark:ya(zC,.1),light:ya(zC,.1),hcDark:null,hcLight:null},w("editorMarkerNavigationInfoHeaderBackground","Editor marker navigation widget info heading background.")),eU=ut("editorMarkerNavigation.background",L2,w("editorMarkerNavigationBackground","Editor marker navigation widget background."));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},Wm=function(o,e){return function(t,i){e(t,i,o)}},af,Rd;let hh=(Rd=class{static get(e){return e.getContribution(af.ID)}constructor(e,t,i,n,s){this._markerNavigationService=t,this._contextKeyService=i,this._editorService=n,this._instantiationService=s,this._sessionDispoables=new He,this._editor=e,this._widgetVisible=dN.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(lp,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)||!B.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:B.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 yt(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=af.get(r))==null||i.close(),(n=af.get(r))==null||n.nagivate(e,t))}else this._widget.showAtMarker(s.selected.marker,s.selected.index,s.selected.total)}}},af=Rd,Rd.ID="editor.contrib.markerController",Rd);hh=af=tU([Wm(1,cN),Wm(2,Fi),Wm(3,Jn),Wm(4,ri)],hh);class Lw extends we{constructor(e,t,i){super(i),this._next=e,this._multiFile=t}async run(e,t){var i;t.hasModel()&&((i=hh.get(t))==null||i.nagivate(this._next,this._multiFile))}}const Vc=class Vc extends Lw{constructor(){super(!0,!1,{id:Vc.ID,label:Vc.LABEL,alias:"Go to Next Problem (Error, Warning, Info)",precondition:void 0,kbOpts:{kbExpr:M.focus,primary:578,weight:100},menuOpts:{menuId:lp.TitleMenu,title:Vc.LABEL,icon:Gn("marker-navigation-next",Xt.arrowDown,w("nextMarkerIcon","Icon for goto next marker.")),group:"navigation",order:1}})}};Vc.ID="editor.action.marker.next",Vc.LABEL=w("markerAction.next.label","Go to Next Problem (Error, Warning, Info)");let _v=Vc;const jc=class jc extends Lw{constructor(){super(!1,!1,{id:jc.ID,label:jc.LABEL,alias:"Go to Previous Problem (Error, Warning, Info)",precondition:void 0,kbOpts:{kbExpr:M.focus,primary:1602,weight:100},menuOpts:{menuId:lp.TitleMenu,title:jc.LABEL,icon:Gn("marker-navigation-previous",Xt.arrowUp,w("previousMarkerIcon","Icon for goto previous marker.")),group:"navigation",order:2}})}};jc.ID="editor.action.marker.prev",jc.LABEL=w("markerAction.previous.label","Go to Previous Problem (Error, Warning, Info)");let VC=jc;class iU extends Lw{constructor(){super(!0,!0,{id:"editor.action.marker.nextInFiles",label:w("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:M.focus,primary:66,weight:100},menuOpts:{menuId:et.MenubarGoMenu,title:w({key:"miGotoNextProblem",comment:["&& denotes a mnemonic"]},"Next &&Problem"),group:"6_problem_nav",order:1}})}}class nU extends Lw{constructor(){super(!1,!0,{id:"editor.action.marker.prevInFiles",label:w("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:M.focus,primary:1090,weight:100},menuOpts:{menuId:et.MenubarGoMenu,title:w({key:"miGotoPreviousProblem",comment:["&& denotes a mnemonic"]},"Previous &&Problem"),group:"6_problem_nav",order:2}})}}_i(hh.ID,hh,4);ie(_v);ie(VC);ie(iU);ie(nU);const dN=new Di("markersNavigationVisible",!1),sU=Xs.bindToContribution(hh.get);Lt(new sU({id:"closeMarkersNavigation",precondition:dN,handler:o=>o.close(),kbOpts:{weight:150,kbExpr:M.focus,primary:9,secondary:[1033]}}));var Lr;(function(o){o.NoAutoFocus="noAutoFocus",o.FocusIfVisible="focusIfVisible",o.AutoFocusImmediately="autoFocusImmediately"})(Lr||(Lr={}));class oU extends we{constructor(){super({id:fM,label:w({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:vt("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:[Lr.NoAutoFocus,Lr.FocusIfVisible,Lr.AutoFocusImmediately],enumDescriptions:[w("showOrFocusHover.focus.noAutoFocus","The hover will not automatically take focus."),w("showOrFocusHover.focus.focusIfVisible","The hover will take focus only if it is already visible."),w("showOrFocusHover.focus.autoFocusImmediately","The hover will automatically take focus when it appears.")],default:Lr.FocusIfVisible}}}}]},alias:"Show or Focus Hover",precondition:void 0,kbOpts:{kbExpr:M.editorTextFocus,primary:ts(2089,2087),weight:100}})}run(e,t,i){if(!t.hasModel())return;const n=Ps.get(t);if(!n)return;const s=i==null?void 0:i.focus;let r=Lr.FocusIfVisible;Object.values(Lr).includes(s)?r=s:typeof s=="boolean"&&s&&(r=Lr.AutoFocusImmediately);const a=h=>{const g=t.getPosition(),f=new B(g.lineNumber,g.column,g.lineNumber,g.column);n.showContentHover(f,1,1,h)},c=t.getOption(2)===2;n.isHoverVisible?r!==Lr.NoAutoFocus?n.focus():a(c):a(c||r===Lr.AutoFocusImmediately)}}class rU extends we{constructor(){super({id:CB,label:w({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:vt("showDefinitionPreviewHoverDescription","Show the definition preview hover in the editor.")}})}run(e,t){const i=Ps.get(t);if(!i)return;const n=t.getPosition();if(!n)return;const s=new B(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 aU extends we{constructor(){super({id:xB,label:w({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:M.hoverFocused,kbOpts:{kbExpr:M.hoverFocused,primary:16,weight:100},metadata:{description:vt("scrollUpHoverDescription","Scroll up the editor hover.")}})}run(e,t){const i=Ps.get(t);i&&i.scrollUp()}}class lU extends we{constructor(){super({id:LB,label:w({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:M.hoverFocused,kbOpts:{kbExpr:M.hoverFocused,primary:18,weight:100},metadata:{description:vt("scrollDownHoverDescription","Scroll down the editor hover.")}})}run(e,t){const i=Ps.get(t);i&&i.scrollDown()}}class cU extends we{constructor(){super({id:kB,label:w({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:M.hoverFocused,kbOpts:{kbExpr:M.hoverFocused,primary:15,weight:100},metadata:{description:vt("scrollLeftHoverDescription","Scroll left the editor hover.")}})}run(e,t){const i=Ps.get(t);i&&i.scrollLeft()}}class dU extends we{constructor(){super({id:IB,label:w({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:M.hoverFocused,kbOpts:{kbExpr:M.hoverFocused,primary:17,weight:100},metadata:{description:vt("scrollRightHoverDescription","Scroll right the editor hover.")}})}run(e,t){const i=Ps.get(t);i&&i.scrollRight()}}class hU extends we{constructor(){super({id:DB,label:w({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:M.hoverFocused,kbOpts:{kbExpr:M.hoverFocused,primary:11,secondary:[528],weight:100},metadata:{description:vt("pageUpHoverDescription","Page up the editor hover.")}})}run(e,t){const i=Ps.get(t);i&&i.pageUp()}}class uU extends we{constructor(){super({id:EB,label:w({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:M.hoverFocused,kbOpts:{kbExpr:M.hoverFocused,primary:12,secondary:[530],weight:100},metadata:{description:vt("pageDownHoverDescription","Page down the editor hover.")}})}run(e,t){const i=Ps.get(t);i&&i.pageDown()}}class gU extends we{constructor(){super({id:PB,label:w({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:M.hoverFocused,kbOpts:{kbExpr:M.hoverFocused,primary:14,secondary:[2064],weight:100},metadata:{description:vt("goToTopHoverDescription","Go to the top of the editor hover.")}})}run(e,t){const i=Ps.get(t);i&&i.goToTop()}}class fU extends we{constructor(){super({id:TB,label:w({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:M.hoverFocused,kbOpts:{kbExpr:M.hoverFocused,primary:13,secondary:[2066],weight:100},metadata:{description:vt("goToBottomHoverDescription","Go to the bottom of the editor hover.")}})}run(e,t){const i=Ps.get(t);i&&i.goToBottom()}}class pU extends we{constructor(){super({id:gw,label:MB,alias:"Increase Hover Verbosity Level",precondition:M.hoverVisible})}run(e,t,i){const n=Ps.get(t);if(!n)return;const s=(i==null?void 0:i.index)!==void 0?i.index:n.focusedHoverPartIndex();n.updateHoverVerbosityLevel(Ho.Increase,s,i==null?void 0:i.focus)}}class mU extends we{constructor(){super({id:fw,label:NB,alias:"Decrease Hover Verbosity Level",precondition:M.hoverVisible})}run(e,t,i){var r;const n=Ps.get(t);if(!n)return;const s=(i==null?void 0:i.index)!==void 0?i.index:n.focusedHoverPartIndex();(r=Ps.get(t))==null||r.updateHoverVerbosityLevel(Ho.Decrease,s,i==null?void 0:i.focus)}}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},xy=function(o,e){return function(t,i){e(t,i,o)}};const Zo=ht;class vU{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 FI={type:1,filter:{include:un.QuickFix},triggerAction:ho.QuickFixHover};let jC=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 c=a.range.startLineNumber===n?a.range.startColumn:1,h=a.range.endLineNumber===n?a.range.endColumn:s,g=this._markerDecorationsService.getMarker(i.uri,a);if(!g)continue;const f=new B(e.range.startLineNumber,c,e.range.startLineNumber,h);r.push(new vU(this,f,g))}return r}renderHoverParts(e,t){if(!t.length)return new lh([]);const i=new He,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)=>As.compare(r.marker.severity,a.marker.severity))[0];return this.renderMarkerStatusbar(e,s,i),new lh(n)}_renderMarkerHover(e){const t=new He,i=Zo("div.hover-row"),n=st(i,Zo("div.marker.hover-contents")),{source:s,message:r,code:a,relatedInformation:c}=e.marker;this._editor.applyFontInfo(n);const h=st(n,Zo("span"));if(h.style.whiteSpace="pre-wrap",h.innerText=r,s||a)if(a&&typeof a!="string"){const f=Zo("span");if(s){const y=st(f,Zo("span"));y.innerText=s}const p=st(f,Zo("a.code-link"));p.setAttribute("href",a.target.toString()),t.add(Oi(p,"click",y=>{this._openerService.open(a.target,{allowCommands:!0}),y.preventDefault(),y.stopPropagation()}));const v=st(p,Zo("span"));v.innerText=a.value;const _=st(n,f);_.style.opacity="0.6",_.style.paddingLeft="6px"}else{const f=st(n,Zo("span"));f.style.opacity="0.6",f.style.paddingLeft="6px",f.innerText=s&&a?`${s}(${a})`:s||`(${a})`}if(Co(c))for(const{message:f,resource:p,startLineNumber:v,startColumn:_}of c){const y=st(n,Zo("div"));y.style.marginTop="8px";const S=st(y,Zo("a"));S.innerText=`${La(p)}(${v}, ${_}): `,S.style.cursor="pointer",t.add(Oi(S,"click",P=>{if(P.stopPropagation(),P.preventDefault(),this._openerService){const N={selection:{startLineNumber:v,startColumn:_}};this._openerService.open(p,{fromUserGesture:!0,editorOptions:N}).catch(cn)}}));const D=st(y,Zo("span"));D.innerText=f,this._editor.applyFontInfo(D)}return{hoverPart:e,hoverElement:i,dispose:()=>t.dispose()}}renderMarkerStatusbar(e,t,i){if(t.marker.severity===As.Error||t.marker.severity===As.Warning||t.marker.severity===As.Info){const n=hh.get(this._editor);n&&e.statusBar.addAction({label:w("view problem","View Problem"),commandId:_v.ID,run:()=>{e.hide(),n.showAtMarker(t.marker),this._editor.focus()}})}if(!this._editor.getOption(92)){const n=e.statusBar.append(Zo("div"));this.recentMarkerCodeActionsInfo&&(YL.makeKey(this.recentMarkerCodeActionsInfo.marker)===YL.makeKey(t.marker)?this.recentMarkerCodeActionsInfo.hasCodeActions||(n.textContent=w("noQuickFixes","No quick fixes available")):this.recentMarkerCodeActionsInfo=void 0);const s=this.recentMarkerCodeActionsInfo&&!this.recentMarkerCodeActionsInfo.hasCodeActions?ze.None:Af(()=>n.textContent=w("checkingForQuickFixes","Checking for quick fixes..."),200,i);n.textContent||(n.textContent=" ");const r=this.getCodeActions(t.marker);i.add(wn(()=>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=w("noQuickFixes","No quick fixes available");return}n.style.display="none";let c=!1;i.add(wn(()=>{c||a.dispose()})),e.statusBar.addAction({label:w("quick fixes","Quick Fix..."),commandId:o1,run:h=>{c=!0;const g=ag.get(this._editor),f=qs(h);e.hide(),g==null||g.showCodeActions(FI,a,{x:f.left,y:f.top,width:f.width,height:f.height})}})},cn)}}getCodeActions(e){return ms(t=>lu(this._languageFeaturesService.codeActionProvider,this._editor.getModel(),new B(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn),FI,Ka.None,t))}};jC=_U([xy(1,I2),xy(2,Vr),xy(3,St)],jC);class bU{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=y_.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)??y_.Center;if(!n&&a!==this._laneOrLine)continue;const c=n?r.options.lineNumberHoverMessage:r.options.glyphMarginHoverMessage;!c||Bf(c)||i.push(...sE(c).map(e))}return i}}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},HI=function(o,e){return function(t,i){e(t,i,o)}},UC;const WI=ht;var Ad;let $C=(Ad=class extends ze{constructor(e,t,i){super(),this._renderDisposeables=this._register(new He),this._editor=e,this._isVisible=!1,this._messages=[],this._hover=this._register(new nE),this._hover.containerDomNode.classList.toggle("hidden",!this._isVisible),this._markdownRenderer=this._register(new Lg({editor:this._editor},t,i)),this._computer=new bU(this._editor),this._hoverOperation=this._register(new vM(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(ol(this._hover.containerDomNode,"mouseleave",n=>{this._onMouseLeave(n)})),this._editor.addOverlayWidget(this)}dispose(){this._editor.removeOverlayWidget(this),super.dispose()}getId(){return UC.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=WI("div.hover-row.markdown-hover"),r=st(s,WI("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,c=t.glyphMarginLeft+t.glyphMarginWidth+(this._computer.lane==="lineNo"?t.lineNumbersWidth:0);this._hover.containerDomNode.style.left=`${c}px`,this._hover.containerDomNode.style.top=`${Math.max(Math.round(a),0)}px`}_onMouseLeave(e){const t=this._editor.getDomNode();(!t||!pw(t,e.x,e.y))&&this.hide()}},UC=Ad,Ad.ID="editor.contrib.modesGlyphHoverWidget",Ad);$C=UC=wU([HI(1,Ur),HI(2,Vr)],$C);var yU=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},SU=function(o,e){return function(t,i){e(t,i,o)}},Hu;let vv=(Hu=class extends ze{constructor(e,t){super(),this._editor=e,this._instantiationService=t,this.shouldKeepOpenOnEditorMouseMoveOrLeave=!1,this._listenersStore=new He,this._hoverState={mouseDown:!1},this._reactToEditorMouseMoveRunner=this._register(new ds(()=>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?pw(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($C,this._editor)),this._glyphWidget}dispose(){var e;super.dispose(),this._unhookListeners(),this._listenersStore.dispose(),(e=this._glyphWidget)==null||e.dispose()}},Hu.ID="editor.contrib.marginHover",Hu);vv=yU([SU(1,ri)],vv);class CU{}class xU{}class LU{}_i(Ps.ID,Ps,2);_i(vv.ID,vv,2);ie(oU);ie(rU);ie(aU);ie(lU);ie(cU);ie(dU);ie(hU);ie(uU);ie(gU);ie(fU);ie(pU);ie(mU);Sh.register(ip);Sh.register(jC);zb((o,e)=>{const t=o.getColor(D2);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)}; }`))});xw.register(new CU);xw.register(new xU);xw.register(new LU);function io(o,e){let t=0;for(let i=0;i<o.length;i++)o.charAt(i)===" "?t+=e:t++;return t}function Lf(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 hN(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 E2(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:c}=o.getOptions(),h=(y,S)=>(S=S||1,Qu.shiftIndent(y,y.length+S,r,a,c)),g=(y,S)=>(S=S||1,Qu.unshiftIndent(y,y.length+S,r,a,c)),f=[],p=o.getLineContent(t);let v=Ss(p),_=v;s.shouldIncrease(t)?(_=h(_),v=h(v)):s.shouldIndentNextLine(t)&&(_=h(_)),t++;for(let y=t;y<=i;y++){if(kU(o,y))continue;const S=o.getLineContent(y),D=Ss(S),P=_;s.shouldDecrease(y,P)&&(_=g(_),v=g(v)),D!==_&&f.push(jn.replaceMove(new jt(y,1,y,D.length+1),P2(_,a,c))),!s.shouldIgnore(y)&&(s.shouldIncrease(y,P)?(v=h(v),_=v):s.shouldIndentNextLine(y,P)?_=h(_):_=v)}return f}function kU(o,e){return o.tokenization.isCheapToTokenize(e)?o.tokenization.getLineTokens(e).getStandardTokenType(0)===2:!1}var IU=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},DU=function(o,e){return function(t,i){e(t,i,o)}};const hb=class hb extends we{constructor(){super({id:hb.ID,label:w("indentationToSpaces","Convert Indentation to Spaces"),alias:"Convert Indentation to Spaces",precondition:M.writable,metadata:{description:vt("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 NU(s,n.tabSize);t.pushUndoStop(),t.executeCommands(this.id,[r]),t.pushUndoStop(),i.updateOptions({insertSpaces:!0})}};hb.ID="editor.action.indentationToSpaces";let qC=hb;const ub=class ub extends we{constructor(){super({id:ub.ID,label:w("indentationToTabs","Convert Indentation to Tabs"),alias:"Convert Indentation to Tabs",precondition:M.writable,metadata:{description:vt("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 RU(s,n.tabSize);t.pushUndoStop(),t.executeCommands(this.id,[r]),t.pushUndoStop(),i.updateOptions({insertSpaces:!1})}};ub.ID="editor.action.indentationToTabs";let KC=ub;class T1 extends we{constructor(e,t,i){super(i),this.insertSpaces=e,this.displaySizeOnly=t}run(e,t){const i=e.get(gl),n=e.get(zs),s=t.getModel();if(!s)return;const r=n.getCreationOptions(s.getLanguageId(),s.uri,s.isForSimpleWidget),a=s.getOptions(),c=[1,2,3,4,5,6,7,8].map(g=>({id:g.toString(),label:g.toString(),description:g===r.tabSize&&g===a.tabSize?w("configuredTabSize","Configured Tab Size"):g===r.tabSize?w("defaultTabSize","Default Tab Size"):g===a.tabSize?w("currentTabSize","Current Tab Size"):void 0})),h=Math.min(s.getOptions().tabSize-1,7);setTimeout(()=>{i.pick(c,{placeHolder:w({key:"selectTabWidth",comment:["Tab corresponds to the tab key"]},"Select Tab Size for Current File"),activeItem:c[h]}).then(g=>{if(g&&s&&!s.isDisposed()){const f=parseInt(g.label,10);this.displaySizeOnly?s.updateOptions({tabSize:f}):s.updateOptions({tabSize:f,indentSize:f,insertSpaces:this.insertSpaces})}})},50)}}const gb=class gb extends T1{constructor(){super(!1,!1,{id:gb.ID,label:w("indentUsingTabs","Indent Using Tabs"),alias:"Indent Using Tabs",precondition:void 0,metadata:{description:vt("indentUsingTabsDescription","Use indentation with tabs.")}})}};gb.ID="editor.action.indentUsingTabs";let GC=gb;const fb=class fb extends T1{constructor(){super(!0,!1,{id:fb.ID,label:w("indentUsingSpaces","Indent Using Spaces"),alias:"Indent Using Spaces",precondition:void 0,metadata:{description:vt("indentUsingSpacesDescription","Use indentation with spaces.")}})}};fb.ID="editor.action.indentUsingSpaces";let ZC=fb;const pb=class pb extends T1{constructor(){super(!0,!0,{id:pb.ID,label:w("changeTabDisplaySize","Change Tab Display Size"),alias:"Change Tab Display Size",precondition:void 0,metadata:{description:vt("changeTabDisplaySizeDescription","Change the space size equivalent of the tab.")}})}};pb.ID="editor.action.changeTabDisplaySize";let XC=pb;const mb=class mb extends we{constructor(){super({id:mb.ID,label:w("detectIndentation","Detect Indentation from Content"),alias:"Detect Indentation from Content",precondition:void 0,metadata:{description:vt("detectIndentationDescription","Detect the indentation from content.")}})}run(e,t){const i=e.get(zs),n=t.getModel();if(!n)return;const s=i.getCreationOptions(n.getLanguageId(),n.uri,n.isForSimpleWidget);n.detectIndentation(s.insertSpaces,s.tabSize)}};mb.ID="editor.action.detectIndentation";let YC=mb;class EU extends we{constructor(){super({id:"editor.action.reindentlines",label:w("editor.reindentlines","Reindent Lines"),alias:"Reindent Lines",precondition:M.writable,metadata:{description:vt("editor.reindentlinesDescription","Reindent the lines of the editor.")}})}run(e,t){const i=e.get(ps),n=t.getModel();if(!n)return;const s=hN(n,i,1,n.getLineCount());s.length>0&&(t.pushUndoStop(),t.executeEdits(this.id,s),t.pushUndoStop())}}class PU extends we{constructor(){super({id:"editor.action.reindentselectedlines",label:w("editor.reindentselectedlines","Reindent Selected Lines"),alias:"Reindent Selected Lines",precondition:M.writable,metadata:{description:vt("editor.reindentselectedlinesDescription","Reindent the selected lines of the editor.")}})}run(e,t){const i=e.get(ps),n=t.getModel();if(!n)return;const s=t.getSelections();if(s===null)return;const r=[];for(const a of s){let c=a.startLineNumber,h=a.endLineNumber;if(c!==h&&a.endColumn===1&&h--,c===1){if(c===h)continue}else c--;const g=hN(n,i,c,h);r.push(...g)}r.length>0&&(t.pushUndoStop(),t.executeEdits(this.id,r),t.pushUndoStop())}}class TU{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(B.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 Wu;let bv=(Wu=class{constructor(e,t){this.editor=e,this._languageConfigurationService=t,this.callOnDispose=new He,this.callOnModel=new He,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)||MU(i,e)||!i.tokenization.isCheapToTokenize(e.getStartPosition().lineNumber))return;const s=this.editor.getOption(12),{tabSize:r,indentSize:a,insertSpaces:c}=i.getOptions(),h=[],g={shiftIndent:_=>Qu.shiftIndent(_,_.length+1,r,a,c),unshiftIndent:_=>Qu.unshiftIndent(_,_.length+1,r,a,c)};let f=e.startLineNumber;for(;f<=e.endLineNumber;){if(this.shouldIgnoreLine(i,f)){f++;continue}break}if(f>e.endLineNumber)return;let p=i.getLineContent(f);if(!/\S/.test(p.substring(0,e.startColumn-1))){const _=mf(s,i,i.getLanguageId(),f,g,this._languageConfigurationService);if(_!==null){const y=Ss(p),S=io(_,r),D=io(y,r);if(S!==D){const P=Lf(S,r,c);h.push({range:new B(f,1,f,y.length+1),text:P}),p=P+p.substring(y.length)}else{const P=GE(i,f,this._languageConfigurationService);if(P===0||P===8)return}}}const v=f;for(;f<e.endLineNumber;){if(!/\S/.test(i.getLineContent(f+1))){f++;continue}break}if(f!==e.endLineNumber){const y=mf(s,{tokenization:{getLineTokens:S=>i.tokenization.getLineTokens(S),getLanguageId:()=>i.getLanguageId(),getLanguageIdAtPosition:(S,D)=>i.getLanguageIdAtPosition(S,D)},getLineContent:S=>S===v?p:i.getLineContent(S)},i.getLanguageId(),f+1,g,this._languageConfigurationService);if(y!==null){const S=io(y,r),D=io(Ss(i.getLineContent(f+1)),r);if(S!==D){const P=S-D;for(let N=f+1;N<=e.endLineNumber;N++){const j=i.getLineContent(N),H=Ss(j),X=io(H,r)+P,pe=Lf(X,r,c);pe!==H&&h.push({range:new B(N,1,N,H.length+1),text:pe})}}}}if(h.length>0){this.editor.pushUndoStop();const _=new TU(h,this.editor.getSelection());this.editor.executeCommand("autoIndentOnPaste",_),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()}},Wu.ID="editor.contrib.autoIndentOnPaste",Wu);bv=IU([DU(1,ps)],bv);function MU(o,e){const t=i=>T2(o,i)===2;return t(e.getStartPosition())||t(e.getEndPosition())}function uN(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 c=o.getLineFirstNonWhitespaceColumn(r);if(c===0&&(c=o.getLineMaxColumn(r)),c===1)continue;const h=new B(r,1,r,c),g=o.getValueInRange(h),f=i?g.replace(/\t/ig,n):g.replace(s," ");e.addEditOperation(h,f)}}class NU{constructor(e,t){this.selection=e,this.tabSize=t,this.selectionId=null}getEditOperations(e,t){this.selectionId=t.trackSelection(this.selection),uN(e,t,this.tabSize,!0)}computeCursorState(e,t){return t.getTrackedSelection(this.selectionId)}}class RU{constructor(e,t){this.selection=e,this.tabSize=t,this.selectionId=null}getEditOperations(e,t){this.selectionId=t.trackSelection(this.selection),uN(e,t,this.tabSize,!1)}computeCursorState(e,t){return t.getTrackedSelection(this.selectionId)}}_i(bv.ID,bv,2);ie(qC);ie(KC);ie(GC);ie(ZC);ie(XC);ie(YC);ie(EU);ie(PU);_i(sp.ID,sp,1);Sh.register(Y_);class AU{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 jt(n.endLineNumber,Math.min(this._originalSelection.positionColumn,n.endColumn),n.endLineNumber,Math.min(this._originalSelection.positionColumn,n.endColumn)):new jt(n.endLineNumber,n.endColumn-this._text.length,n.endLineNumber,n.endColumn)}}var OU=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},FU=function(o,e){return function(t,i){e(t,i,o)}},h_,ac;let mg=(ac=class{static get(e){return e.getContribution(h_.ID)}constructor(e,t){this.editor=e,this.editorWorkerService=t,this.decorations=this.editor.createDecorationsCollection()}dispose(){}run(e,t){var c;(c=this.currentRequest)==null||c.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 KE(this.editor,5),a=n.uri;return this.editorWorkerService.canNavigateValueSet(a)?(this.currentRequest=ms(h=>this.editorWorkerService.navigateValueSet(a,s,t)),this.currentRequest.then(h=>{var _;if(!h||!h.range||!h.value||!r.validate(this.editor))return;const g=B.lift(h.range);let f=h.range;const p=h.value.length-(s.endColumn-s.startColumn);f={startLineNumber:f.startLineNumber,startColumn:f.startColumn,endLineNumber:f.endLineNumber,endColumn:f.startColumn+h.value.length},p>1&&(s=new jt(s.startLineNumber,s.startColumn,s.endLineNumber,s.endColumn+p-1));const v=new AU(g,s,h.value);this.editor.pushUndoStop(),this.editor.executeCommand(e,v),this.editor.pushUndoStop(),this.decorations.set([{range:f,options:h_.DECORATION}]),(_=this.decorationRemover)==null||_.cancel(),this.decorationRemover=Xb(350),this.decorationRemover.then(()=>this.decorations.clear()).catch(cn)}).catch(cn)):Promise.resolve(void 0)}},h_=ac,ac.ID="editor.contrib.inPlaceReplaceController",ac.DECORATION=Ci.register({description:"in-place-replace",className:"valueSetReplacement"}),ac);mg=h_=OU([FU(1,ml)],mg);class HU extends we{constructor(){super({id:"editor.action.inPlaceReplace.up",label:w("InPlaceReplaceAction.previous.label","Replace with Previous Value"),alias:"Replace with Previous Value",precondition:M.writable,kbOpts:{kbExpr:M.editorTextFocus,primary:3159,weight:100}})}run(e,t){const i=mg.get(t);return i?i.run(this.id,!1):Promise.resolve(void 0)}}class WU extends we{constructor(){super({id:"editor.action.inPlaceReplace.down",label:w("InPlaceReplaceAction.next.label","Replace with Next Value"),alias:"Replace with Next Value",precondition:M.writable,kbOpts:{kbExpr:M.editorTextFocus,primary:3161,weight:100}})}run(e,t){const i=mg.get(t);return i?i.run(this.id,!0):Promise.resolve(void 0)}}_i(mg.ID,mg,4);ie(HU);ie(WU);class BU extends we{constructor(){super({id:"expandLineSelection",label:w("expandLineSelection","Expand Line Selection"),alias:"Expand Line Selection",precondition:void 0,kbOpts:{weight:0,kbExpr:M.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,M0.expandLineSelection(n,n.getCursorStates())),n.revealAllCursors(i.source,!0)}}ie(BU);class zU{constructor(e,t,i){this._selection=e,this._cursors=t,this._selectionId=null,this._trimInRegexesAndStrings=i}getEditOperations(e,t){const i=VU(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 VU(o,e,t){e.sort((a,c)=>a.lineNumber===c.lineNumber?a.column-c.column:a.lineNumber-c.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,c=o.getLineCount();a<=c;a++){const h=o.getLineContent(a),g=h.length+1;let f=0;if(s<r&&e[s].lineNumber===a&&(f=e[s].column,s++,f===g)||h.length===0)continue;const p=Jm(h);let v=0;if(p===-1)v=1;else if(p!==h.length-1)v=p+2;else continue;if(!t){if(!o.tokenization.hasAccurateTokensForLine(a))continue;const _=o.tokenization.getLineTokens(a),y=_.getStandardTokenType(_.findTokenIndexAtOffset(v));if(y===2||y===3)continue}v=Math.max(f,v),i[n++]=jn.delete(new B(a,v,a,g))}return i}class gN{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 B(i.endLineNumber,e.getLineMaxColumn(i.endLineNumber),i.endLineNumber+1,1),i.endLineNumber===e.getLineCount()?"":`
49
- `):this._isCopyingDown?t.addEditOperation(new B(i.startLineNumber,1,i.startLineNumber,1),s+`
50
- `):t.addEditOperation(new B(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=jt.createWithDirection(n,s,r,a,this._selectionDirection)}return i}}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},UU=function(o,e){return function(t,i){e(t,i,o)}};let JC=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=(f,p)=>e.getLanguageIdAtPosition(f,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:c,insertSpaces:h}=e.getOptions(),g=this.buildIndentConverter(a,c,h);if(r.startLineNumber===r.endLineNumber&&e.getLineMaxColumn(r.startLineNumber)===1){const f=r.startLineNumber,p=this._isMovingDown?f+1:f-1;e.getLineMaxColumn(p)===1?t.addEditOperation(new B(1,1,1,1),null):(t.addEditOperation(new B(f,1,f,1),e.getLineContent(p)),t.addEditOperation(new B(p,1,p,e.getLineMaxColumn(p)),null)),r=new jt(p,1,p,1)}else{let f,p;if(this._isMovingDown){f=r.endLineNumber+1,p=e.getLineContent(f),t.addEditOperation(new B(f-1,e.getLineMaxColumn(f-1),f,e.getLineMaxColumn(f)),null);let v=p;if(this.shouldAutoIndent(e,r)){const _=this.matchEnterRule(e,g,a,f,r.startLineNumber-1);if(_!==null){const S=Ss(e.getLineContent(f)),D=_+io(S,a);v=Lf(D,a,h)+this.trimStart(p)}else{const S={tokenization:{getLineTokens:P=>P===r.startLineNumber?e.tokenization.getLineTokens(f):e.tokenization.getLineTokens(P),getLanguageId:i,getLanguageIdAtPosition:n},getLineContent:P=>P===r.startLineNumber?e.getLineContent(f):e.getLineContent(P)},D=mf(this._autoIndent,S,e.getLanguageIdAtPosition(f,1),r.startLineNumber,g,this._languageConfigurationService);if(D!==null){const P=Ss(e.getLineContent(f)),N=io(D,a),j=io(P,a);N!==j&&(v=Lf(N,a,h)+this.trimStart(p))}}t.addEditOperation(new B(r.startLineNumber,1,r.startLineNumber,1),v+`
52
- `);const y=this.matchEnterRuleMovingDown(e,g,a,r.startLineNumber,f,v);if(y!==null)y!==0&&this.getIndentEditsOfMovingBlock(e,t,r,a,h,y);else{const S={tokenization:{getLineTokens:P=>P===r.startLineNumber?e.tokenization.getLineTokens(f):P>=r.startLineNumber+1&&P<=r.endLineNumber+1?e.tokenization.getLineTokens(P-1):e.tokenization.getLineTokens(P),getLanguageId:i,getLanguageIdAtPosition:n},getLineContent:P=>P===r.startLineNumber?v:P>=r.startLineNumber+1&&P<=r.endLineNumber+1?e.getLineContent(P-1):e.getLineContent(P)},D=mf(this._autoIndent,S,e.getLanguageIdAtPosition(f,1),r.startLineNumber+1,g,this._languageConfigurationService);if(D!==null){const P=Ss(e.getLineContent(r.startLineNumber)),N=io(D,a),j=io(P,a);if(N!==j){const H=N-j;this.getIndentEditsOfMovingBlock(e,t,r,a,h,H)}}}}else t.addEditOperation(new B(r.startLineNumber,1,r.startLineNumber,1),v+`
53
- `)}else if(f=r.startLineNumber-1,p=e.getLineContent(f),t.addEditOperation(new B(f,1,f+1,1),null),t.addEditOperation(new B(r.endLineNumber,e.getLineMaxColumn(r.endLineNumber),r.endLineNumber,e.getLineMaxColumn(r.endLineNumber)),`
54
- `+p),this.shouldAutoIndent(e,r)){const v={tokenization:{getLineTokens:y=>y===f?e.tokenization.getLineTokens(r.startLineNumber):e.tokenization.getLineTokens(y),getLanguageId:i,getLanguageIdAtPosition:n},getLineContent:y=>y===f?e.getLineContent(r.startLineNumber):e.getLineContent(y)},_=this.matchEnterRule(e,g,a,r.startLineNumber,r.startLineNumber-2);if(_!==null)_!==0&&this.getIndentEditsOfMovingBlock(e,t,r,a,h,_);else{const y=mf(this._autoIndent,v,e.getLanguageIdAtPosition(r.startLineNumber,1),f,g,this._languageConfigurationService);if(y!==null){const S=Ss(e.getLineContent(r.startLineNumber)),D=io(y,a),P=io(S,a);if(D!==P){const N=D-P;this.getIndentEditsOfMovingBlock(e,t,r,a,h,N)}}}}}this._selectionId=t.trackSelection(r)}buildIndentConverter(e,t,i){return{shiftIndent:n=>Qu.shiftIndent(n,n.length+1,e,t,i),unshiftIndent:n=>Qu.unshiftIndent(n,n.length+1,e,t,i)}}parseEnterResult(e,t,i,n,s){if(s){let r=s.indentation;s.indentAction===bm.None||s.indentAction===bm.Indent?r=s.indentation+s.appendText:s.indentAction===bm.IndentOutdent?r=s.indentation:s.indentAction===bm.Outdent&&(r=t.unshiftIndent(s.indentation)+s.appendText);const a=e.getLineContent(n);if(this.trimStart(a).indexOf(this.trimStart(r))>=0){const c=Ss(e.getLineContent(n));let h=Ss(r);const g=GE(e,n,this._languageConfigurationService);g!==null&&g&2&&(h=t.unshiftIndent(h));const f=io(h,i),p=io(c,i);return f-p}}return null}matchEnterRuleMovingDown(e,t,i,n,s,r){if(Jm(r)>=0){const a=e.getLineMaxColumn(s),c=$w(this._autoIndent,e,new B(s,a,s,a),this._languageConfigurationService);return this.parseEnterResult(e,t,i,n,c)}else{let a=n-1;for(;a>=1;){const g=e.getLineContent(a);if(Jm(g)>=0)break;a--}if(a<1||n>e.getLineCount())return null;const c=e.getLineMaxColumn(a),h=$w(this._autoIndent,e,new B(a,c,a,c),this._languageConfigurationService);return this.parseEnterResult(e,t,i,n,h)}}matchEnterRule(e,t,i,n,s,r){let a=s;for(;a>=1;){let g;if(a===s&&r!==void 0?g=r:g=e.getLineContent(a),Jm(g)>=0)break;a--}if(a<1||n>e.getLineCount())return null;const c=e.getLineMaxColumn(a),h=$w(this._autoIndent,e,new B(a,c,a,c),this._languageConfigurationService);return this.parseEnterResult(e,t,i,n,h)}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 c=e.getLineContent(a),h=Ss(c),f=io(h,n)+r,p=Lf(f,n,s);p!==h&&(t.addEditOperation(new B(a,1,a,h.length+1),p),a===i.endLineNumber&&i.endColumn<=h.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}};JC=jU([UU(3,ps)],JC);const vu=class vu{static getCollator(){return vu._COLLATOR||(vu._COLLATOR=new Intl.Collator),vu._COLLATOR}constructor(e,t){this.selection=e,this.descending=t,this.selectionId=null}getEditOperations(e,t){const i=$U(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=fN(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}};vu._COLLATOR=null;let cp=vu;function fN(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(cp.getCollator().compare),t===!0&&(r=r.reverse()),{startLineNumber:i,endLineNumber:n,before:s,after:r}}function $U(o,e,t){const i=fN(o,e,t);return i?jn.replace(new B(i.startLineNumber,1,i.endLineNumber,o.getLineMaxColumn(i.endLineNumber)),i.after.join(`
55
- `)):null}class pN extends we{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)=>B.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 gN(r.selection,this.down,r.ignore));t.pushUndoStop(),t.executeCommands(this.id,s),t.pushUndoStop()}}class qU extends pN{constructor(){super(!1,{id:"editor.action.copyLinesUpAction",label:w("lines.copyUp","Copy Line Up"),alias:"Copy Line Up",precondition:M.writable,kbOpts:{kbExpr:M.editorTextFocus,primary:1552,linux:{primary:3600},weight:100},menuOpts:{menuId:et.MenubarSelectionMenu,group:"2_line",title:w({key:"miCopyLinesUp",comment:["&& denotes a mnemonic"]},"&&Copy Line Up"),order:1}})}}class KU extends pN{constructor(){super(!0,{id:"editor.action.copyLinesDownAction",label:w("lines.copyDown","Copy Line Down"),alias:"Copy Line Down",precondition:M.writable,kbOpts:{kbExpr:M.editorTextFocus,primary:1554,linux:{primary:3602},weight:100},menuOpts:{menuId:et.MenubarSelectionMenu,group:"2_line",title:w({key:"miCopyLinesDown",comment:["&& denotes a mnemonic"]},"Co&&py Line Down"),order:2}})}}class GU extends we{constructor(){super({id:"editor.action.duplicateSelection",label:w("duplicateSelection","Duplicate Selection"),alias:"Duplicate Selection",precondition:M.writable,menuOpts:{menuId:et.MenubarSelectionMenu,group:"2_line",title:w({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 gN(a,!0));else{const c=new jt(a.endLineNumber,a.endColumn,a.endLineNumber,a.endColumn);n.push(new M2(c,r.getValueInRange(a)))}t.pushUndoStop(),t.executeCommands(this.id,n),t.pushUndoStop()}}class mN extends we{constructor(e,t){super(t),this.down=e}run(e,t){const i=e.get(ps),n=[],s=t.getSelections()||[],r=t.getOption(12);for(const a of s)n.push(new JC(a,this.down,r,i));t.pushUndoStop(),t.executeCommands(this.id,n),t.pushUndoStop()}}class ZU extends mN{constructor(){super(!1,{id:"editor.action.moveLinesUpAction",label:w("lines.moveUp","Move Line Up"),alias:"Move Line Up",precondition:M.writable,kbOpts:{kbExpr:M.editorTextFocus,primary:528,linux:{primary:528},weight:100},menuOpts:{menuId:et.MenubarSelectionMenu,group:"2_line",title:w({key:"miMoveLinesUp",comment:["&& denotes a mnemonic"]},"Mo&&ve Line Up"),order:3}})}}class XU extends mN{constructor(){super(!0,{id:"editor.action.moveLinesDownAction",label:w("lines.moveDown","Move Line Down"),alias:"Move Line Down",precondition:M.writable,kbOpts:{kbExpr:M.editorTextFocus,primary:530,linux:{primary:530},weight:100},menuOpts:{menuId:et.MenubarSelectionMenu,group:"2_line",title:w({key:"miMoveLinesDown",comment:["&& denotes a mnemonic"]},"Move &&Line Down"),order:4}})}}class _N extends we{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 jt(1,1,i.getLineCount(),i.getLineMaxColumn(i.getLineCount()))]);for(const r of n)if(!cp.canRun(t.getModel(),r,this.descending))return;const s=[];for(let r=0,a=n.length;r<a;r++)s[r]=new cp(n[r],this.descending);t.pushUndoStop(),t.executeCommands(this.id,s),t.pushUndoStop()}}class YU extends _N{constructor(){super(!1,{id:"editor.action.sortLinesAscending",label:w("lines.sortAscending","Sort Lines Ascending"),alias:"Sort Lines Ascending",precondition:M.writable})}}class JU extends _N{constructor(){super(!0,{id:"editor.action.sortLinesDescending",label:w("lines.sortDescending","Sort Lines Descending"),alias:"Sort Lines Descending",precondition:M.writable})}}class QU extends we{constructor(){super({id:"editor.action.removeDuplicateLines",label:w("lines.deleteDuplicates","Delete Duplicate Lines"),alias:"Delete Duplicate Lines",precondition:M.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,c=t.getSelections();c.length===1&&c[0].isEmpty()&&(c=[new jt(1,1,i.getLineCount(),i.getLineMaxColumn(i.getLineCount()))],a=!1);for(const h of c){const g=new Set,f=[];for(let y=h.startLineNumber;y<=h.endLineNumber;y++){const S=i.getLineContent(y);g.has(S)||(f.push(S),g.add(S))}const p=new jt(h.startLineNumber,1,h.endLineNumber,i.getLineMaxColumn(h.endLineNumber)),v=h.startLineNumber-r,_=new jt(v,1,v+f.length-1,f[f.length-1].length);n.push(jn.replace(p,f.join(`
56
- `))),s.push(_),r+=h.endLineNumber-h.startLineNumber+1-f.length}t.pushUndoStop(),t.executeEdits(this.id,n,a?s:void 0),t.pushUndoStop()}}const _b=class _b extends we{constructor(){super({id:_b.ID,label:w("lines.trimTrailingWhitespace","Trim Trailing Whitespace"),alias:"Trim Trailing Whitespace",precondition:M.writable,kbOpts:{kbExpr:M.editorTextFocus,primary:ts(2089,2102),weight:100}})}run(e,t,i){let n=[];i.reason==="auto-save"&&(n=(t.getSelections()||[]).map(g=>new yt(g.positionLineNumber,g.positionColumn)));const s=t.getSelection();if(s===null)return;const r=e.get(Sn),a=t.getModel(),c=r.getValue("files.trimTrailingWhitespaceInRegexAndStrings",{overrideIdentifier:a==null?void 0:a.getLanguageId(),resource:a==null?void 0:a.uri}),h=new zU(s,n,c);t.pushUndoStop(),t.executeCommands(this.id,[h]),t.pushUndoStop()}};_b.ID="editor.action.trimTrailingWhitespace";let QC=_b;class e$ extends we{constructor(){super({id:"editor.action.deleteLines",label:w("lines.delete","Delete Line"),alias:"Delete Line",precondition:M.writable,kbOpts:{kbExpr:M.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 c=0,h=i.length;c<h;c++){const g=i[c];let f=g.startLineNumber,p=g.endLineNumber,v=1,_=n.getLineMaxColumn(p);p<n.getLineCount()?(p+=1,_=1):f>1&&(f-=1,v=n.getLineMaxColumn(f)),r.push(jn.replace(new jt(f,v,p,_),"")),a.push(new jt(f-s,g.positionColumn,f-s,g.positionColumn)),s+=g.endLineNumber-g.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 t$ extends we{constructor(){super({id:"editor.action.indentLines",label:w("lines.indent","Indent Line"),alias:"Indent Line",precondition:M.writable,kbOpts:{kbExpr:M.editorTextFocus,primary:2142,weight:100}})}run(e,t){const i=t._getViewModel();i&&(t.pushUndoStop(),t.executeCommands(this.id,N2.indent(i.cursorConfig,t.getModel(),t.getSelections())),t.pushUndoStop())}}class i$ extends we{constructor(){super({id:"editor.action.outdentLines",label:w("lines.outdent","Outdent Line"),alias:"Outdent Line",precondition:M.writable,kbOpts:{kbExpr:M.editorTextFocus,primary:2140,weight:100}})}run(e,t){Ym.Outdent.runEditorCommand(e,t,null)}}class n$ extends we{constructor(){super({id:"editor.action.insertLineBefore",label:w("lines.insertBefore","Insert Line Above"),alias:"Insert Line Above",precondition:M.writable,kbOpts:{kbExpr:M.editorTextFocus,primary:3075,weight:100}})}run(e,t){const i=t._getViewModel();i&&(t.pushUndoStop(),t.executeCommands(this.id,ZE.lineInsertBefore(i.cursorConfig,t.getModel(),t.getSelections())))}}class s$ extends we{constructor(){super({id:"editor.action.insertLineAfter",label:w("lines.insertAfter","Insert Line Below"),alias:"Insert Line Below",precondition:M.writable,kbOpts:{kbExpr:M.editorTextFocus,primary:2051,weight:100}})}run(e,t){const i=t._getViewModel();i&&(t.pushUndoStop(),t.executeCommands(this.id,ZE.lineInsertAfter(i.cursorConfig,t.getModel(),t.getSelections())))}}class vN extends we{run(e,t){if(!t.hasModel())return;const i=t.getSelection(),n=this._getRangesToDelete(t),s=[];for(let c=0,h=n.length-1;c<h;c++){const g=n[c],f=n[c+1];B.intersectRanges(g,f)===null?s.push(g):n[c+1]=B.plusRange(g,f)}s.push(n[n.length-1]);const r=this._getEndCursorState(i,s),a=s.map(c=>jn.replace(c,""));t.pushUndoStop(),t.executeEdits(this.id,a,r),t.pushUndoStop()}}class o$ extends vN{constructor(){super({id:"deleteAllLeft",label:w("lines.deleteAllLeft","Delete All Left"),alias:"Delete All Left",precondition:M.writable,kbOpts:{kbExpr:M.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 c=r.startLineNumber-s;a=new jt(c,r.startColumn,c,r.startColumn)}else a=new jt(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(B.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 B(r,a,s.startLineNumber,1)}else return new B(s.startLineNumber,1,s.startLineNumber,s.startColumn);else return new B(s.startLineNumber,1,s.endLineNumber,s.endColumn)}),i)}}class r$ extends vN{constructor(){super({id:"deleteAllRight",label:w("lines.deleteAllRight","Delete All Right"),alias:"Delete All Right",precondition:M.writable,kbOpts:{kbExpr:M.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 c=t[s],h=new jt(c.startLineNumber-a,c.startColumn,c.startLineNumber-a,c.startColumn);c.intersectRanges(e)?i=h:n.push(h)}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 B(s.startLineNumber,s.startColumn,s.startLineNumber+1,1):new B(s.startLineNumber,s.startColumn,s.startLineNumber,r)}return s});return n.sort(B.compareRangesUsingStarts),n}}class a$ extends we{constructor(){super({id:"editor.action.joinLines",label:w("lines.joinLines","Join Lines"),alias:"Join Lines",precondition:M.writable,kbOpts:{kbExpr:M.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(B.compareRangesUsingStarts);const s=[],r=i.reduce((p,v)=>p.isEmpty()?p.endLineNumber===v.startLineNumber?(n.equalsSelection(p)&&(n=v),v):v.startLineNumber>p.endLineNumber+1?(s.push(p),v):new jt(p.startLineNumber,p.startColumn,v.endLineNumber,v.endColumn):v.startLineNumber>p.endLineNumber?(s.push(p),v):new jt(p.startLineNumber,p.startColumn,v.endLineNumber,v.endColumn));s.push(r);const a=t.getModel();if(a===null)return;const c=[],h=[];let g=n,f=0;for(let p=0,v=s.length;p<v;p++){const _=s[p],y=_.startLineNumber,S=1;let D=0,P,N;const j=a.getLineLength(_.endLineNumber)-_.endColumn;if(_.isEmpty()||_.startLineNumber===_.endLineNumber){const X=_.getStartPosition();X.lineNumber<a.getLineCount()?(P=y+1,N=a.getLineMaxColumn(P)):(P=X.lineNumber,N=a.getLineMaxColumn(X.lineNumber))}else P=_.endLineNumber,N=a.getLineMaxColumn(P);let H=a.getLineContent(y);for(let X=y+1;X<=P;X++){const pe=a.getLineContent(X),be=a.getLineFirstNonWhitespaceColumn(X);if(be>=1){let Te=!0;H===""&&(Te=!1),Te&&(H.charAt(H.length-1)===" "||H.charAt(H.length-1)===" ")&&(Te=!1,H=H.replace(/[\s\uFEFF\xA0]+$/g," "));const xe=pe.substr(be-1);H+=(Te?" ":"")+xe,Te?D=xe.length+1:D=xe.length}else D=0}const ee=new B(y,S,P,N);if(!ee.isEmpty()){let X;_.isEmpty()?(c.push(jn.replace(ee,H)),X=new jt(ee.startLineNumber-f,H.length-D+1,y-f,H.length-D+1)):_.startLineNumber===_.endLineNumber?(c.push(jn.replace(ee,H)),X=new jt(_.startLineNumber-f,_.startColumn,_.endLineNumber-f,_.endColumn)):(c.push(jn.replace(ee,H)),X=new jt(_.startLineNumber-f,_.startColumn,_.startLineNumber-f,H.length-j)),B.intersectRanges(ee,n)!==null?g=X:h.push(X)}f+=ee.endLineNumber-ee.startLineNumber}h.unshift(g),t.pushUndoStop(),t.executeEdits(this.id,c,h),t.pushUndoStop()}}class l$ extends we{constructor(){super({id:"editor.action.transpose",label:w("editor.transpose","Transpose Characters around the Cursor"),alias:"Transpose Characters around the Cursor",precondition:M.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 c=i[r];if(!c.isEmpty())continue;const h=c.getStartPosition(),g=n.getLineMaxColumn(h.lineNumber);if(h.column>=g){if(h.lineNumber===n.getLineCount())continue;const f=new B(h.lineNumber,Math.max(1,h.column-1),h.lineNumber+1,1),p=n.getValueInRange(f).split("").reverse().join("");s.push(new Pp(new jt(h.lineNumber,Math.max(1,h.column-1),h.lineNumber+1,1),p))}else{const f=new B(h.lineNumber,Math.max(1,h.column-1),h.lineNumber,h.column+1),p=n.getValueInRange(f).split("").reverse().join("");s.push(new gE(f,p,new jt(h.lineNumber,h.column+1,h.lineNumber,h.column+1)))}}t.pushUndoStop(),t.executeCommands(this.id,s),t.pushUndoStop()}}class Lh extends we{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 c=a.getStartPosition(),h=t.getConfiguredWordAtPosition(c);if(!h)continue;const g=new B(c.lineNumber,h.startColumn,c.lineNumber,h.endColumn),f=n.getValueInRange(g);r.push(jn.replace(g,this._modifyText(f,s)))}else{const c=n.getValueInRange(a);r.push(jn.replace(a,this._modifyText(c,s)))}t.pushUndoStop(),t.executeEdits(this.id,r),t.pushUndoStop()}}class c$ extends Lh{constructor(){super({id:"editor.action.transformToUppercase",label:w("editor.transformToUppercase","Transform to Uppercase"),alias:"Transform to Uppercase",precondition:M.writable})}_modifyText(e,t){return e.toLocaleUpperCase()}}class d$ extends Lh{constructor(){super({id:"editor.action.transformToLowercase",label:w("editor.transformToLowercase","Transform to Lowercase"),alias:"Transform to Lowercase",precondition:M.writable})}_modifyText(e,t){return e.toLocaleLowerCase()}}class il{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 vb=class vb extends Lh{constructor(){super({id:"editor.action.transformToTitlecase",label:w("editor.transformToTitlecase","Transform to Title Case"),alias:"Transform to Title Case",precondition:M.writable})}_modifyText(e,t){const i=vb.titleBoundary.get();return i?e.toLocaleLowerCase().replace(i,n=>n.toLocaleUpperCase()):e}};vb.titleBoundary=new il("(^|[^\\p{L}\\p{N}']|((^|\\P{L})'))\\p{L}","gmu");let wv=vb;const bu=class bu extends Lh{constructor(){super({id:"editor.action.transformToSnakecase",label:w("editor.transformToSnakecase","Transform to Snake Case"),alias:"Transform to Snake Case",precondition:M.writable})}_modifyText(e,t){const i=bu.caseBoundary.get(),n=bu.singleLetters.get();return!i||!n?e:e.replace(i,"$1_$2").replace(n,"$1_$2$3").toLocaleLowerCase()}};bu.caseBoundary=new il("(\\p{Ll})(\\p{Lu})","gmu"),bu.singleLetters=new il("(\\p{Lu}|\\p{N})(\\p{Lu})(\\p{Ll})","gmu");let kf=bu;const bb=class bb extends Lh{constructor(){super({id:"editor.action.transformToCamelcase",label:w("editor.transformToCamelcase","Transform to Camel Case"),alias:"Transform to Camel Case",precondition:M.writable})}_modifyText(e,t){const i=bb.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("")}};bb.wordBoundary=new il("[_\\s-]","gm");let yv=bb;const wu=class wu extends Lh{constructor(){super({id:"editor.action.transformToPascalcase",label:w("editor.transformToPascalcase","Transform to Pascal Case"),alias:"Transform to Pascal Case",precondition:M.writable})}_modifyText(e,t){const i=wu.wordBoundary.get(),n=wu.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("")}};wu.wordBoundary=new il("[_\\s-]","gm"),wu.wordBoundaryToMaintain=new il("(?<=\\.)","gm");let Sv=wu;const Ml=class Ml extends Lh{static isSupported(){return[this.caseBoundary,this.singleLetters,this.underscoreBoundary].every(t=>t.isSupported())}constructor(){super({id:"editor.action.transformToKebabcase",label:w("editor.transformToKebabcase","Transform to Kebab Case"),alias:"Transform to Kebab Case",precondition:M.writable})}_modifyText(e,t){const i=Ml.caseBoundary.get(),n=Ml.singleLetters.get(),s=Ml.underscoreBoundary.get();return!i||!n||!s?e:e.replace(s,"$1-$3").replace(i,"$1-$2").replace(n,"$1-$2").toLocaleLowerCase()}};Ml.caseBoundary=new il("(\\p{Ll})(\\p{Lu})","gmu"),Ml.singleLetters=new il("(\\p{Lu}|\\p{N})(\\p{Lu}\\p{Ll})","gmu"),Ml.underscoreBoundary=new il("(\\S)(_)(\\S)","gm");let Cv=Ml;ie(qU);ie(KU);ie(GU);ie(ZU);ie(XU);ie(YU);ie(JU);ie(QU);ie(QC);ie(e$);ie(t$);ie(i$);ie(n$);ie(s$);ie(o$);ie(r$);ie(a$);ie(l$);ie(c$);ie(d$);kf.caseBoundary.isSupported()&&kf.singleLetters.isSupported()&&ie(kf);yv.wordBoundary.isSupported()&&ie(yv);Sv.wordBoundary.isSupported()&&ie(Sv);wv.titleBoundary.isSupported()&&ie(wv);Cv.isSupported()&&ie(Cv);var h$=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Bm=function(o,e){return function(t,i){e(t,i,o)}},u_;const bN=new Di("LinkedEditingInputVisible",!1),u$="linked-editing-decoration";var lc;let _g=(lc=class extends ze{static get(e){return e.getContribution(u_.ID)}constructor(e,t,i,n,s){super(),this.languageConfigurationService=n,this._syncRangesToken=0,this._localToDispose=this._register(new He),this._editor=e,this._providers=i.linkedEditingRangeProvider,this._enabled=!1,this._visibleContextKey=bN.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 He),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(cs.runAndSubscribe(t.onDidChangeLanguageConfiguration,()=>{this._languageWordPattern=this.languageConfigurationService.getLanguageConfiguration(t.getLanguageId()).getWordDefinition()}));const n=new gc(this._debounceInformation.get(t)),s=()=>{this._rangeUpdateTriggerPromise=n.trigger(()=>this.updateRanges(),this._debounceDuration??this._debounceInformation.get(t))},r=new gc(0),a=c=>{this._rangeSyncTriggerPromise=r.trigger(()=>this._syncRanges(c))};this._localToDispose.add(this._editor.onDidChangeCursorPosition(()=>{s()})),this._localToDispose.add(this._editor.onDidChangeModelContent(c=>{if(!this._ignoreChangeEvent&&this._currentDecorations.length>0){const h=this._currentDecorations.getRange(0);if(h&&c.changes.every(g=>h.intersectRanges(g.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 c=this._currentDecorations.getRange(r);if(c)if(c.startLineNumber!==c.endLineNumber)s.push({range:c,text:n});else{let h=t.getValueInRange(c),g=n,f=c.startColumn,p=c.endColumn;const v=Vp(h,g);f+=v,h=h.substr(v),g=g.substr(v);const _=R2(h,g);p-=_,h=h.substr(0,h.length-_),g=g.substr(0,g.length-_),(f!==p||g.length!==0)&&s.push({range:new B(c.startLineNumber,f,c.endLineNumber,p),text:g})}}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 _s;try{const r=new co(!1),a=await wN(this._providers,i,t,s.token);if(this._debounceInformation.update(i,r.elapsed()),s!==this._currentRequestCts||(this._currentRequestCts=null,n!==i.getVersionId()))return;let c=[];a!=null&&a.ranges&&(c=a.ranges),this._currentWordPattern=(a==null?void 0:a.wordPattern)||this._languageWordPattern;let h=!1;for(let f=0,p=c.length;f<p;f++)if(B.containsPosition(c[f],t)){if(h=!0,f!==0){const v=c[f];c.splice(f,1),c.unshift(v)}break}if(!h){this.clearRanges();return}const g=c.map(f=>({range:f,options:u_.DECORATION}));this._visibleContextKey.set(!0),this._currentDecorations.set(g),this._syncRangesToken++}catch(r){yc(r)||cn(r),(this._currentRequestCts===s||!this._currentRequestCts)&&this.clearRanges()}}},u_=lc,lc.ID="editor.contrib.linkedEditing",lc.DECORATION=Ci.register({description:"linked-editing",stickiness:0,className:u$}),lc);_g=u_=h$([Bm(1,Fi),Bm(2,St),Bm(3,ps),Bm(4,Vo)],_g);class g$ extends we{constructor(){super({id:"editor.action.linkedEditing",label:w("linkedEditing.label","Start Linked Editing"),alias:"Start Linked Editing",precondition:oe.and(M.writable,M.hasRenameProvider),kbOpts:{kbExpr:M.editorTextFocus,primary:3132,weight:100}})}runCommand(e,t){const i=e.get(Jn),[n,s]=Array.isArray(t)&&t||[void 0,void 0];return sn.isUri(n)&&yt.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))))},cn):super.runCommand(e,t)}run(e,t){const i=_g.get(t);return i?Promise.resolve(i.updateRanges(!0)):Promise.resolve()}}const f$=Xs.bindToContribution(_g.get);Lt(new f$({id:"cancelLinkedEditingInput",precondition:bN,handler:o=>o.clearRanges(),kbOpts:{kbExpr:M.editorTextFocus,weight:199,primary:9,secondary:[1033]}}));function wN(o,e,t,i){const n=o.ordered(e);return N0(n.map(s=>async()=>{try{return await s.provideLinkedEditingRanges(e,t,i)}catch(r){Yn(r);return}}),s=>!!s&&Co(s==null?void 0:s.ranges))}ut("editor.linkedEditingBackground",{dark:wi.fromHex("#f00").transparent(.3),light:wi.fromHex("#f00").transparent(.3),hcDark:wi.fromHex("#f00").transparent(.3),hcLight:wi.white},w("editorLinkedEditingBackground","Background color when the editor auto renames on type."));Ys("_executeLinkedEditingProvider",(o,e,t)=>{const{linkedEditingRangeProvider:i}=o.get(St);return wN(i,e,t,fi.None)});_i(_g.ID,_g,1);ie(g$);let p$=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 xv{constructor(e){this._disposables=new He;let t=[];for(const[i,n]of e){const s=i.links.map(r=>new p$(r,n));t=xv._union(t,s),RE(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 c=e[n],h=t[r];if(B.areIntersectingOrTouching(c.range,h.range)){n++;continue}B.compareRangesUsingStarts(c.range,h.range)<0?(i.push(c),n++):(i.push(h),r++)}for(;n<s;n++)i.push(e[n]);for(;r<a;r++)i.push(t[r]);return i}}function yN(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])},Yn));return Promise.all(n).then(()=>{const s=new xv(nl(i));return t.isCancellationRequested?(s.dispose(),new xv([])):s})}fn.registerCommand("_executeLinkProvider",async(o,...e)=>{let[t,i]=e;ji(t instanceof sn),typeof i!="number"&&(i=0);const{linkProvider:n}=o.get(St),s=o.get(zs).getModel(t);if(!s)return[];const r=await yN(n,s,fi.None);if(!r)return[];for(let c=0;c<Math.min(i,r.links.length);c++)await r.links[c].resolve(fi.None);const a=r.links.slice(0);return r.dispose(),a});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},zm=function(o,e){return function(t,i){e(t,i,o)}},ex,Od;let dp=(Od=class extends ze{static get(e){return e.getContribution(ex.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 ds(()=>this.computeLinksNow(),1e3)),this.computePromise=null,this.activeLinksList=null,this.currentOccurrences={},this.activeLinkDecorationId=null;const r=this._register(new mw(e));this._register(r.onMouseMoveOrRelevantKeyDown(([a,c])=>{this._onEditorMouseMove(a,c)})),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=ms(t=>yN(this.providers,e,t));try{const t=new co(!1);if(this.activeLinksList=await this.computePromise,this.debounceInformation.update(e,t.elapsed()),e.isDisposed())return;this.updateDecorations(this.activeLinksList.links)}catch(t){cn(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(xu.decoration(r,t));this.editor.changeDecorations(r=>{const a=r.deltaDecorations(i,s);this.currentOccurrences={},this.activeLinkDecorationId=null;for(let c=0,h=a.length;c<h;c++){const g=new xu(e[c],a[c]);this.currentOccurrences[g.decorationId]=g}})}_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(fi.None).then(s=>{if(typeof s=="string"&&this.editor.hasModel()){const r=this.editor.getModel().uri;if(r.scheme===js.file&&s.startsWith(`${js.file}:`)){const a=sn.parse(s);if(a.scheme===js.file){const c=A2(a);let h=null;c.startsWith("/./")||c.startsWith("\\.\\")?h=`.${c.substr(1)}`:(c.startsWith("//./")||c.startsWith("\\\\.\\"))&&(h=`.${c.substr(2)}`),h&&(s=O2(r,h))}}}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(w("invalid.url","Failed to open this link because it is not well-formed: {0}",n.url.toString())):r==="missing"?this.notificationService.warn(w("missing.url","Failed to open this link because its target is missing.")):cn(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()}},ex=Od,Od.ID="editor.linkDetector",Od);dp=ex=m$([zm(1,Vr),zm(2,Bs),zm(3,St),zm(4,Vo)],dp);const BI={general:Ci.register({description:"detected-link",stickiness:1,collapseOnReplaceEdit:!0,inlineClassName:"detected-link"}),active:Ci.register({description:"detected-link-active",stickiness:1,collapseOnReplaceEdit:!0,inlineClassName:"detected-link-active"})};class xu{static decoration(e,t){return{range:e.range,options:xu._getOptions(e,t,!1)}}static _getOptions(e,t,i){const n={...i?BI.active:BI.general};return n.hoverMessage=_$(e,t),n}constructor(e,t){this.link=e,this.decorationId=t}activate(e,t){e.changeDecorationOptions(this.decorationId,xu._getOptions(this.link,t,!0))}deactivate(e,t){e.changeDecorationOptions(this.decorationId,xu._getOptions(this.link,t,!1))}}function _$(o,e){const t=o.url&&/^command:/i.test(o.url.toString()),i=o.tooltip?o.tooltip:t?w("links.navigate.executeCmd","Execute command"):w("links.navigate.follow","Follow link"),n=e?xa?w("links.navigate.kb.meta.mac","cmd + click"):w("links.navigate.kb.meta","ctrl + click"):xa?w("links.navigate.kb.alt.mac","option + click"):w("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 c=a[1];s=w("tooltip.explanation","Execute command {0}",c)}}return new Ms("",!0).appendLink(o.url.toString(!0).replace(/ /g,"%20"),i,s).appendMarkdown(` (${n})`)}else return new Ms().appendText(`${i} (${n})`)}class v$ extends we{constructor(){super({id:"editor.action.openLink",label:w("label","Open Link"),alias:"Open Link",precondition:void 0})}run(e,t){const i=dp.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)}}}_i(dp.ID,dp,1);ie(v$);const iL=class iL extends ze{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})}))}};iL.ID="editor.contrib.longLinesHelper";let Lv=iL;_i(Lv.ID,Lv,2);const b$=ut("editor.wordHighlightBackground",{dark:"#575757B8",light:"#57575740",hcDark:null,hcLight:null},w("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);ut("editor.wordHighlightStrongBackground",{dark:"#004972B8",light:"#0e639c40",hcDark:null,hcLight:null},w("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);ut("editor.wordHighlightTextBackground",b$,w("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 w$=ut("editor.wordHighlightBorder",{light:null,dark:null,hcDark:Yd,hcLight:Yd},w("wordHighlightBorder","Border color of a symbol during read-access, like reading a variable."));ut("editor.wordHighlightStrongBorder",{light:null,dark:null,hcDark:Yd,hcLight:Yd},w("wordHighlightStrongBorder","Border color of a symbol during write-access, like writing to a variable."));ut("editor.wordHighlightTextBorder",w$,w("wordHighlightTextBorder","Border color of a textual occurrence for a symbol."));const y$=ut("editorOverviewRuler.wordHighlightForeground","#A0A0A0CC",w("overviewRulerWordHighlightForeground","Overview ruler marker color for symbol highlights. The color must not be opaque so as not to hide underlying decorations."),!0),S$=ut("editorOverviewRuler.wordHighlightStrongForeground","#C0A0C0CC",w("overviewRulerWordHighlightStrongForeground","Overview ruler marker color for write-access symbol highlights. The color must not be opaque so as not to hide underlying decorations."),!0),C$=ut("editorOverviewRuler.wordHighlightTextForeground",XE,w("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),x$=Ci.register({description:"word-highlight-strong",stickiness:1,className:"wordHighlightStrong",overviewRuler:{color:as(S$),position:ba.Center},minimap:{color:as(Yb),position:1}}),L$=Ci.register({description:"word-highlight-text",stickiness:1,className:"wordHighlightText",overviewRuler:{color:as(C$),position:ba.Center},minimap:{color:as(Yb),position:1}}),k$=Ci.register({description:"selection-highlight-overview",stickiness:1,className:"selectionHighlight",overviewRuler:{color:as(XE),position:ba.Center},minimap:{color:as(Yb),position:1}}),I$=Ci.register({description:"selection-highlight",stickiness:1,className:"selectionHighlight"}),D$=Ci.register({description:"word-highlight",stickiness:1,className:"wordHighlight",overviewRuler:{color:as(y$),position:ba.Center},minimap:{color:as(Yb),position:1}});function E$(o){return o===P_.Write?x$:o===P_.Text?L$:D$}function P$(o){return o?I$:k$}zb((o,e)=>{const t=o.getColor(F2);t&&e.addRule(`.monaco-editor .selectionHighlight { background-color: ${t.transparent(.5)}; }`)});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},M$=function(o,e){return function(t,i){e(t,i,o)}},tx;function Cc(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?w("cursorAdded","Cursor added: {0}",i):w("cursorsAdded","Cursors added: {0}",i);Ku(n)}}class N$ extends we{constructor(){super({id:"editor.action.insertCursorAbove",label:w("mutlicursor.insertAbove","Add Cursor Above"),alias:"Add Cursor Above",precondition:void 0,kbOpts:{kbExpr:M.editorTextFocus,primary:2576,linux:{primary:1552,secondary:[3088]},weight:100},menuOpts:{menuId:et.MenubarSelectionMenu,group:"3_multi",title:w({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,M0.addCursorUp(s,r,n)),s.revealTopMostCursor(i.source),Cc(r,s.getCursorStates())}}class R$ extends we{constructor(){super({id:"editor.action.insertCursorBelow",label:w("mutlicursor.insertBelow","Add Cursor Below"),alias:"Add Cursor Below",precondition:void 0,kbOpts:{kbExpr:M.editorTextFocus,primary:2578,linux:{primary:1554,secondary:[3090]},weight:100},menuOpts:{menuId:et.MenubarSelectionMenu,group:"3_multi",title:w({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,M0.addCursorDown(s,r,n)),s.revealBottomMostCursor(i.source),Cc(r,s.getCursorStates())}}class A$ extends we{constructor(){super({id:"editor.action.insertCursorAtEndOfEachLineSelected",label:w("mutlicursor.insertAtEndOfEachLineSelected","Add Cursors to Line Ends"),alias:"Add Cursors to Line Ends",precondition:void 0,kbOpts:{kbExpr:M.editorTextFocus,primary:1575,weight:100},menuOpts:{menuId:et.MenubarSelectionMenu,group:"3_multi",title:w({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 jt(n,s,n,s))}e.endColumn>1&&i.push(new jt(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(c=>this.getCursorsForSelection(c,i,a)),a.length>0&&t.setSelections(a),Cc(r,s.getCursorStates())}}class O$ extends we{constructor(){super({id:"editor.action.addCursorsToBottom",label:w("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 c=i[0].startLineNumber;c<=n;c++)s.push(new jt(c,i[0].startColumn,c,i[0].endColumn));const r=t._getViewModel(),a=r.getCursorStates();s.length>0&&t.setSelections(s),Cc(a,r.getCursorStates())}}class F$ extends we{constructor(){super({id:"editor.action.addCursorsToTop",label:w("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 jt(a,i[0].startColumn,a,i[0].endColumn));const s=t._getViewModel(),r=s.getCursorStates();n.length>0&&t.setSelections(n),Cc(r,s.getCursorStates())}}class Vm{constructor(e,t,i){this.selections=e,this.revealRange=t,this.revealScrollType=i}}class hp{static create(e,t){if(!e.hasModel())return null;const i=t.getState();if(!e.hasTextFocus()&&i.isRevealed&&i.searchString.length>0)return new hp(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 c=e.getSelection();let h,g=null;if(c.isEmpty()){const f=e.getConfiguredWordAtPosition(c.getStartPosition());if(!f)return null;h=f.word,g=new jt(c.startLineNumber,f.startColumn,c.startLineNumber,f.endColumn)}else h=e.getModel().getValueInRange(c).replace(/\r\n/g,`
57
- `);return new hp(e,t,n,h,s,r,g)}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 jt(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 jt(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 wb=class wb extends ze{static get(e){return e.getContribution(wb.ID)}constructor(e){super(),this._sessionDispose=this._register(new He),this._editor=e,this._ignoreSelectionChange=!1,this._session=null}dispose(){this._endSession(),super.dispose()}_beginSessionIfNeeded(e){if(!this._session){const t=hp.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 jt(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(!SN(this._editor.getModel(),t,n)){const r=this._editor.getModel(),a=[];for(let c=0,h=t.length;c<h;c++)a[c]=this._expandEmptyToWord(r,t[c]);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 jt(s.range.startLineNumber,s.range.startColumn,s.range.endLineNumber,s.range.endColumn)))}}};wb.ID="editor.contrib.multiCursorController";let vg=wb;class Mg extends we{run(e,t){const i=vg.get(t);if(!i)return;const n=t._getViewModel();if(n){const s=n.getCursorStates(),r=Gs.get(t);if(r)this._run(i,r);else{const a=e.get(ri).createInstance(Gs,t);this._run(i,a),a.dispose()}Cc(s,n.getCursorStates())}}}class H$ extends Mg{constructor(){super({id:"editor.action.addSelectionToNextFindMatch",label:w("addSelectionToNextFindMatch","Add Selection To Next Find Match"),alias:"Add Selection To Next Find Match",precondition:void 0,kbOpts:{kbExpr:M.focus,primary:2082,weight:100},menuOpts:{menuId:et.MenubarSelectionMenu,group:"3_multi",title:w({key:"miAddSelectionToNextFindMatch",comment:["&& denotes a mnemonic"]},"Add &&Next Occurrence"),order:5}})}_run(e,t){e.addSelectionToNextFindMatch(t)}}class W$ extends Mg{constructor(){super({id:"editor.action.addSelectionToPreviousFindMatch",label:w("addSelectionToPreviousFindMatch","Add Selection To Previous Find Match"),alias:"Add Selection To Previous Find Match",precondition:void 0,menuOpts:{menuId:et.MenubarSelectionMenu,group:"3_multi",title:w({key:"miAddSelectionToPreviousFindMatch",comment:["&& denotes a mnemonic"]},"Add P&&revious Occurrence"),order:6}})}_run(e,t){e.addSelectionToPreviousFindMatch(t)}}class B$ extends Mg{constructor(){super({id:"editor.action.moveSelectionToNextFindMatch",label:w("moveSelectionToNextFindMatch","Move Last Selection To Next Find Match"),alias:"Move Last Selection To Next Find Match",precondition:void 0,kbOpts:{kbExpr:M.focus,primary:ts(2089,2082),weight:100}})}_run(e,t){e.moveSelectionToNextFindMatch(t)}}class z$ extends Mg{constructor(){super({id:"editor.action.moveSelectionToPreviousFindMatch",label:w("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 V$ extends Mg{constructor(){super({id:"editor.action.selectHighlights",label:w("selectAllOccurrencesOfFindMatch","Select All Occurrences of Find Match"),alias:"Select All Occurrences of Find Match",precondition:void 0,kbOpts:{kbExpr:M.focus,primary:3114,weight:100},menuOpts:{menuId:et.MenubarSelectionMenu,group:"3_multi",title:w({key:"miSelectHighlights",comment:["&& denotes a mnemonic"]},"Select All &&Occurrences"),order:7}})}_run(e,t){e.selectAll(t)}}class j$ extends Mg{constructor(){super({id:"editor.action.changeAll",label:w("changeAll.label","Change All Occurrences"),alias:"Change All Occurrences",precondition:oe.and(M.writable,M.editorTextFocus),kbOpts:{kbExpr:M.editorTextFocus,primary:2108,weight:100},contextMenuOpts:{group:"1_modification",order:1.2}})}_run(e,t){e.selectAll(t)}}class U${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(B.compareRangesUsingStarts)),this._cachedFindMatches}}var Fd;let kv=(Fd=class extends ze{constructor(e,t){super(),this._languageFeaturesService=t,this.editor=e,this._isEnabled=e.getOption(109),this._decorations=e.createDecorationsCollection(),this.updateSoon=this._register(new ds(()=>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=Gs.get(e);i&&this._register(i.getState().onFindReplaceStateChange(n=>{this._update()})),this.updateSoon.schedule()}_update(){this._setState(tx._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=vg.get(i);if(!s)return null;const r=Gs.get(i);if(!r)return null;let a=s.getSession(r);if(!a){const g=i.getSelections();if(g.length>1){const p=r.getState().matchCase;if(!SN(i.getModel(),g,p))return null}a=hp.create(i,r)}if(!a||a.currentMatch||/^[ \t]+$/.test(a.searchText)||a.searchText.length>200)return null;const c=r.getState(),h=c.matchCase;if(c.isRevealed){let g=c.searchString;h||(g=g.toLowerCase());let f=a.searchText;if(h||(f=f.toLowerCase()),g===f&&a.matchCase===c.matchCase&&a.wholeWord===c.wholeWord&&!c.isRegex)return null}return new U$(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(B.compareRangesUsingStarts);const s=[];for(let h=0,g=0,f=i.length,p=n.length;h<f;){const v=i[h];if(g>=p)s.push(v),h++;else{const _=B.compareRangesUsingStarts(v,n[g]);_<0?((n[g].isEmpty()||!B.areIntersecting(v,n[g]))&&s.push(v),h++):(_>0||h++,g++)}}const r=this.editor.getOption(81)!=="off",a=this._languageFeaturesService.documentHighlightProvider.has(t)&&r,c=s.map(h=>({range:h,options:P$(a)}));this._decorations.set(c)}dispose(){this._setState(null),super.dispose()}},tx=Fd,Fd.ID="editor.contrib.selectionHighlighter",Fd);kv=tx=T$([M$(1,St)],kv);function SN(o,e,t){const i=zI(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=zI(o,r,!t);if(i!==a)return!1}return!0}function zI(o,e,t){const i=o.getValueInRange(e);return t?i.toLowerCase():i}class $$ extends we{constructor(){super({id:"editor.action.focusNextCursor",label:w("mutlicursor.focusNextCursor","Focus Next Cursor"),metadata:{description:w("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),Cc(s,n.getCursorStates()))}}class q$ extends we{constructor(){super({id:"editor.action.focusPreviousCursor",label:w("mutlicursor.focusPreviousCursor","Focus Previous Cursor"),metadata:{description:w("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),Cc(s,n.getCursorStates()))}}_i(vg.ID,vg,4);_i(kv.ID,kv,1);ie(N$);ie(R$);ie(A$);ie(H$);ie(W$);ie(B$);ie(z$);ie(V$);ie(j$);ie(O$);ie(F$);ie($$);ie(q$);const K$="editor.action.inlineEdit.accept",G$="editor.action.inlineEdit.reject",Z$="editor.action.inlineEdit.jumpTo",X$="editor.action.inlineEdit.jumpBack";var Y$=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},J$=function(o,e){return function(t,i){e(t,i,o)}};const Ly="inline-edit";let ix=class extends ze{constructor(e,t,i){super(),this.editor=e,this.model=t,this.languageService=i,this.isDisposed=xo(this,!1),this.currentTextModel=no(this,this.editor.onDidChangeModel,()=>this.editor.getModel()),this.uiState=Xi(this,n=>{var P;if(this.isDisposed.read(n))return;const s=this.currentTextModel.read(n);if(s!==this.model.targetTextModel.read(n))return;const r=this.model.ghostText.read(n);if(!r)return;let a=(P=this.model.range)==null?void 0:P.read(n);a&&a.startLineNumber===a.endLineNumber&&a.startColumn===a.endColumn&&(a=void 0);const c=(a?a.startLineNumber===a.endLineNumber:!0)&&r.parts.length===1&&r.parts[0].lines.length===1,h=r.parts.length===1&&r.parts[0].lines.every(N=>N.length===0),g=[],f=[];function p(N,j){if(f.length>0){const H=f[f.length-1];j&&H.decorations.push(new $f(H.content.length+1,H.content.length+1+N[0].length,j,0)),H.content+=N[0],N=N.slice(1)}for(const H of N)f.push({content:H,decorations:j?[new $f(1,H.length+1,j,0)]:[]})}const v=s.getLineContent(r.lineNumber);let _,y=0;if(!h&&(c||!a)){for(const N of r.parts){let j=N.lines;a&&!c&&(p(j,Ly),j=[]),_===void 0?(g.push({column:N.column,text:j[0],preview:N.preview}),j=j.slice(1)):p([v.substring(y,N.column-1)],void 0),j.length>0&&(p(j,Ly),_===void 0&&N.column<=v.length&&(_=N.column)),y=N.column-1}_!==void 0&&p([v.substring(y)],void 0)}const S=_!==void 0?new nN(_,v.length+1):void 0,D=c||!a?r.lineNumber:a.endLineNumber-1;return{inlineTexts:g,additionalLines:f,hiddenRange:S,lineNumber:D,additionalReservedLineCount:this.model.minReservedLineCount.read(n),targetTextModel:s,range:a,isSingleLine:c,isPureRemove:h}}),this.decorations=Xi(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 c=s.range.endLineNumber-s.range.startLineNumber;for(let h=0;h<c;h++){const g=s.range.startLineNumber+h,f=s.targetTextModel.getLineFirstNonWhitespaceColumn(g),p=s.targetTextModel.getLineLastNonWhitespaceColumn(g),v=new B(g,f,g,p);a.push(v)}}for(const c of a)r.push({range:c,options:R0})}if(s.range&&!s.isSingleLine&&s.isPureRemove){const a=new B(s.range.startLineNumber,1,s.range.endLineNumber-1,1);r.push({range:a,options:A0})}for(const a of s.inlineTexts)r.push({range:B.fromPositions(new yt(s.lineNumber,a.column)),options:{description:Ly,after:{content:a.text,inlineClassName:a.preview?"inline-edit-decoration-preview":"inline-edit-decoration",cursorStops:ou.Left},showIfCollapsed:!0}});return r}),this._register(wn(()=>{this.isDisposed.set(!0,void 0)})),this._register(sN(this.editor,this.decorations))}};ix=Y$([J$(2,Ur)],ix);var M1=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},ca=function(o,e){return function(t,i){e(t,i,o)}},g_;let nx=class extends ze{constructor(e,t,i){super(),this.editor=e,this.model=t,this.instantiationService=i,this.alwaysShowToolbar=no(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(63).showToolbar==="always"),this.sessionPosition=void 0,this.position=Xi(this,n=>{var c,h;const s=(c=this.model.read(n))==null?void 0:c.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 yt(s.lineNumber,Math.min(r,((h=this.sessionPosition)==null?void 0:h.column)??Number.MAX_SAFE_INTEGER));return this.sessionPosition=a,a}),this._register(Fp((n,s)=>{if(!this.model.read(n)||!this.alwaysShowToolbar.read(n))return;const a=s.add(this.instantiationService.createInstance(sx,this.editor,!0,this.position));e.addContentWidget(a),s.add(wn(()=>e.removeContentWidget(a)))}))}};nx=M1([ca(2,ri)],nx);var cc;let sx=(cc=class extends ze{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${g_.id++}`,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this.nodes=rr("div.inlineEditHints",{className:this.withBorder?".withBorder":""},[rr("div@toolBar")]),this.inlineCompletionsActionsMenus=this._register(this._menuService.createMenu(et.InlineEditActions,this._contextKeyService)),this.toolBar=this._register(n.createInstance(ox,this.nodes.toolBar,this.editor,et.InlineEditToolbar,{menuOptions:{renderShortTitle:!0},toolbarOptions:{primaryGroup:a=>a.startsWith("primary")},actionViewItemProvider:(a,c)=>{if(a instanceof Yu)return n.createInstance(Q$,a,void 0)},telemetrySource:"InlineEditToolbar"})),this._register(this.toolBar.onDidChangeDropdownVisibility(a=>{g_._dropDownVisible=a})),this._register(Hn(a=>{this._position.read(a),this.editor.layoutContentWidget(this)})),this._register(Hn(a=>{const c=[];for(const[h,g]of this.inlineCompletionsActionsMenus.getActions())for(const f of g)f instanceof Yu&&c.push(f);c.length>0&&c.unshift(new Wf),this.toolBar.setAdditionalSecondaryActions(c)}))}getId(){return this.id}getDomNode(){return this.nodes.root}getPosition(){return{position:this._position.get(),preference:[1,2],positionAffinity:3}}},g_=cc,cc._dropDownVisible=!1,cc.id=0,cc);sx=g_=M1([ca(3,ri),ca(4,Fi),ca(5,mh)],sx);class Q$ extends QD{updateLabel(){const e=this._keybindingService.lookupKeybinding(this._action.id,this._contextKeyService);if(!e)return super.updateLabel();if(this.label){const t=rr("div.keybinding").root;this._register(new p0(t,m0,{disableTitle:!0,...eE})).set(e),this.label.textContent=this._action.label,this.label.appendChild(t),this.label.classList.add("inlineEditStatusBarItemLabel")}}updateTooltip(){}}let ox=class extends tE{constructor(e,t,i,n,s,r,a,c,h,g){super(e,{resetMenu:i,...n},s,r,a,c,h,g),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,c,h;const e=[],t=[];S0(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,(h=(c=this.options2)==null?void 0:c.toolbarOptions)==null?void 0:h.useSeparatorsInPrimaryActions),t.push(...this.additionalActions),e.unshift(...this.prependedPrimaryActions),this.setActions(e,t)}setAdditionalSecondaryActions(e){Ca(this.additionalActions,e,(t,i)=>t===i)||(this.additionalActions=e,this.updateToolbar())}};ox=M1([ca(4,mh),ca(5,Fi),ca(6,yg),ca(7,is),ca(8,fs),ca(9,jr)],ox);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},f_=function(o,e){return function(t,i){e(t,i,o)}},lf,rx;function*e5(o,e,t=1){e===void 0&&([e,o]=[o,0]);for(let i=o;i<e;i+=t)yield i}function ky(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 Hd;let ax=(Hd=class extends ze{static _createUniqueUri(){return sn.from({scheme:"inline-edit-widget",path:new Date().toString()+String(lf._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=Xi(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 c=this._editor.getModel();if(!c)return null;const h=Array.from(e5(a.range.startLineNumber,a.range.endLineNumber+1)),g=h.map(y=>c.getLineLastNonWhitespaceColumn(y)),f=Math.max(...g),p=h[g.indexOf(f)],v=new yt(p,f);return{top:a.range.startLineNumber,left:v}}),this._text=Xi(this,r=>{const a=this._model.read(r);if(!a)return{text:"",shift:0};const c=ky(a.text.split(`
58
- `));return{text:c.text.join(`
59
- `),shift:c.shift}}),this._originalModel=fc(()=>this._modelService.createModel("",null,lf._createUniqueUri())).keepObserved(this._store),this._modifiedModel=fc(()=>this._modelService.createModel("",null,lf._createUniqueUri())).keepObserved(this._store),this._diff=Xi(this,r=>{var a,c;return(c=(a=this._diffPromise.read(r))==null?void 0:a.promiseResult.read(r))==null?void 0:c.data}),this._diffPromise=Xi(this,r=>{const a=this._model.read(r);if(!a)return;const c=this._editor.getModel();if(!c)return;const h=ky(c.getValueInRange(a.range).split(`
60
- `)).text.join(`
61
- `),g=ky(a.text.split(`
62
- `)).text.join(`
63
- `);this._originalModel.get().setValue(h),this._modifiedModel.get().setValue(g);const f=this._diffProviderFactoryService.createDiffProvider({diffAlgorithm:"advanced"});return YE.fromFn(async()=>{const p=await f.computeDiff(this._originalModel.get(),this._modifiedModel.get(),{computeMoves:!1,ignoreTrimWhitespace:!1,maxComputationTimeMs:1e3},fi.None);if(!p.identical)return p.changes})}),this._register(Fp((r,a)=>{if(!this._model.read(r)||this._position.get()===null)return;const h=a.add(this._instantiationService.createInstance(lx,this._editor,this._position,this._text.map(g=>g.text),this._text.map(g=>g.shift),this._diff));e.addOverlayWidget(h),a.add(wn(()=>e.removeOverlayWidget(h)))}))}},lf=Hd,Hd._modelId=0,Hd);ax=lf=CN([f_(2,ri),f_(3,O0),f_(4,zs)],ax);var Wd;let lx=(Wd=class extends ze{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${rx.id++}`,this.allowEditorOverflow=!1,this._nodes=ht("div.inlineEditSideBySide",void 0),this._scrollChanged=td("editor.onDidScrollChange",this._editor.onDidScrollChange),this._previewEditor=this._register(this._instantiationService.createInstance(pr,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=ha(this._previewEditor),this._editorObs=ha(this._editor),this._previewTextModel=this._register(this._instantiationService.createInstance(Hl,"",((a=this._editor.getModel())==null?void 0:a.getLanguageId())??jf,Hl.DEFAULT_CREATION_OPTIONS,null)),this._setText=Xi(c=>{const h=this._text.read(c);h&&this._previewTextModel.setValue(h)}).recomputeInitiallyAndOnChange(this._store),this._decorations=Xi(this,c=>{this._setText.read(c);const h=this._position.read(c);if(!h)return{org:[],mod:[]};const g=this._diff.read(c);if(!g)return{org:[],mod:[]};const f=[],p=[];if(g.length===1&&g[0].innerChanges[0].modifiedRange.equalsRange(this._previewTextModel.getFullModelRange()))return{org:[],mod:[]};const v=this._shift.get(),_=y=>new B(y.startLineNumber+h.top-1,y.startColumn+v,y.endLineNumber+h.top-1,y.endColumn+v);for(const y of g)if(y.original.isEmpty||f.push({range:_(y.original.toInclusiveRange()),options:A0}),y.modified.isEmpty||p.push({range:y.modified.toInclusiveRange(),options:JE}),y.modified.isEmpty||y.original.isEmpty)y.original.isEmpty||f.push({range:_(y.original.toInclusiveRange()),options:QE}),y.modified.isEmpty||p.push({range:y.modified.toInclusiveRange(),options:eP});else for(const S of y.innerChanges||[])y.original.contains(S.originalRange.startLineNumber)&&f.push({range:_(S.originalRange),options:S.originalRange.isEmpty()?tP:R0}),y.modified.contains(S.modifiedRange.startLineNumber)&&p.push({range:S.modifiedRange,options:S.modifiedRange.isEmpty()?iP:nP});return{org:f,mod:p}}),this._originalDecorations=Xi(this,c=>this._decorations.read(c).org),this._modifiedDecorations=Xi(this,c=>this._decorations.read(c).mod),this._previewEditor.setModel(this._previewTextModel),this._register(this._editorObs.setDecorations(this._originalDecorations)),this._register(this._previewEditorObs.setDecorations(this._modifiedDecorations)),this._register(Hn(c=>{const h=this._previewEditorObs.contentWidth.read(c),g=this._text.read(c).split(`
64
- `).length-1,f=this._editor.getOption(67)*g;h<=0||this._previewEditor.layout({height:f,width:h})})),this._register(Hn(c=>{this._position.read(c),this._editor.layoutOverlayWidget(this)})),this._register(Hn(c=>{this._scrollChanged.read(c),this._position.read(c)&&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 yt(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}}}},rx=Wd,Wd.id=0,Wd);lx=rx=CN([f_(5,ri)],lx);var t5=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Rc=function(o,e){return function(t,i){e(t,i,o)}},cf,Fo;let Os=(Fo=class extends ze{static get(e){return e.getContribution(cf.ID)}constructor(e,t,i,n,s,r,a,c){super(),this.editor=e,this.instantiationService=t,this.contextKeyService=i,this.languageFeaturesService=n,this._commandService=s,this._configurationService=r,this._diffProviderFactoryService=a,this._modelService=c,this._isVisibleContext=cf.inlineEditVisibleContext.bindTo(this.contextKeyService),this._isCursorAtInlineEditContext=cf.cursorAtInlineEditContext.bindTo(this.contextKeyService),this._currentEdit=xo(this,void 0),this._currentWidget=fc(this._currentEdit,_=>{const y=this._currentEdit.read(_);if(!y)return;const S=y.range.endLineNumber,D=y.range.endColumn,P=y.text.endsWith(`
65
- `)&&!(y.range.startLineNumber===y.range.endLineNumber&&y.range.startColumn===y.range.endColumn)?y.text.slice(0,-1):y.text,N=new op(S,[new ov(D,P,!1)]),j=y.range.startLineNumber===y.range.endLineNumber&&N.parts.length===1&&N.parts[0].lines.length===1,H=y.text==="";return!j&&!H?void 0:this.instantiationService.createInstance(ix,this.editor,{ghostText:Ga(N),minReservedLineCount:Ga(0),targetTextModel:Ga(this.editor.getModel()??void 0),range:Ga(y.range)})}),this._isAccepting=xo(this,!1),this._enabled=no(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(63).enabled),this._fontFamily=no(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(63).fontFamily);const h=td("InlineEditController.modelContentChangedSignal",e.onDidChangeModelContent);this._register(Hn(_=>{this._enabled.read(_)&&(h.read(_),!this._isAccepting.read(_)&&this.getInlineEdit(e,!0))}));const g=no(this,e.onDidChangeCursorPosition,()=>e.getPosition());this._register(Hn(_=>{if(!this._enabled.read(_))return;const y=g.read(_);y&&this.checkCursorPosition(y)})),this._register(Hn(_=>{const y=this._currentEdit.read(_);if(this._isCursorAtInlineEditContext.set(!1),!y){this._isVisibleContext.set(!1);return}this._isVisibleContext.set(!0);const S=e.getPosition();S&&this.checkCursorPosition(S)}));const f=td("InlineEditController.editorBlurSignal",e.onDidBlurEditorWidget);this._register(Hn(async _=>{var y;this._enabled.read(_)&&(f.read(_),!(this._configurationService.getValue("editor.experimentalInlineEdit.keepOnBlur")||e.getOption(63).keepOnBlur)&&((y=this._currentRequestCts)==null||y.dispose(!0),this._currentRequestCts=void 0,await this.clear(!1)))}));const p=td("InlineEditController.editorFocusSignal",e.onDidFocusEditorText);this._register(Hn(_=>{this._enabled.read(_)&&(p.read(_),this.getInlineEdit(e,!0))}));const v=this._register(kE());this._register(Hn(_=>{const y=this._fontFamily.read(_);v.setStyle(y===""||y==="default"?"":`
66
- .monaco-editor .inline-edit-decoration,
67
- .monaco-editor .inline-edit-decoration-preview,
68
- .monaco-editor .inline-edit {
69
- font-family: ${y};
70
- }`)})),this._register(new nx(this.editor,this._currentWidget,this.instantiationService)),this._register(new ax(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(B.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 _s;const a=this._currentRequestCts.token,c=t?JL.Automatic:JL.Invoke;if(t&&await i5(50,a),a.isCancellationRequested||i.isDisposed()||i.getVersionId()!==n)return;const g=await r.provideInlineEdit(i,{triggerKind:c},a);if(g&&!(a.isCancellationRequested||i.isDisposed()||i.getVersionId()!==n)&&this.validateInlineEdit(e,g))return g}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",[jn.replace(B.lift(e.range),t)]),e.accepted&&await this._commandService.executeCommand(e.accepted.id,...e.accepted.arguments||[]).then(void 0,Yn),this.freeEdit(e),_h(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=yt.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,Yn),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)}},cf=Fo,Fo.ID="editor.contrib.inlineEditController",Fo.inlineEditVisibleKey="inlineEditVisible",Fo.inlineEditVisibleContext=new Di(Fo.inlineEditVisibleKey,!1),Fo.cursorAtInlineEditKey="cursorAtInlineEdit",Fo.cursorAtInlineEditContext=new Di(Fo.cursorAtInlineEditKey,!1),Fo);Os=cf=t5([Rc(1,ri),Rc(2,Fi),Rc(3,St),Rc(4,fs),Rc(5,Sn),Rc(6,O0),Rc(7,zs)],Os);function i5(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 n5=class extends we{constructor(){super({id:K$,label:"Accept Inline Edit",alias:"Accept Inline Edit",precondition:oe.and(M.writable,Os.inlineEditVisibleContext),kbOpts:[{weight:101,primary:2,kbExpr:oe.and(M.writable,Os.inlineEditVisibleContext,Os.cursorAtInlineEditContext)}],menuOpts:[{menuId:et.InlineEditToolbar,title:"Accept",group:"primary",order:1}]})}async run(e,t){const i=Os.get(t);await(i==null?void 0:i.accept())}};class s5 extends we{constructor(){const e=oe.and(M.writable,oe.not(Os.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=Os.get(t);i==null||i.trigger()}}class o5 extends we{constructor(){const e=oe.and(M.writable,Os.inlineEditVisibleContext,oe.not(Os.cursorAtInlineEditKey));super({id:Z$,label:"Jump to Inline Edit",alias:"Jump to Inline Edit",precondition:e,kbOpts:{weight:101,primary:2646,kbExpr:e},menuOpts:[{menuId:et.InlineEditToolbar,title:"Jump To Edit",group:"primary",order:3,when:e}]})}async run(e,t){const i=Os.get(t);i==null||i.jumpToCurrent()}}class r5 extends we{constructor(){const e=oe.and(M.writable,Os.cursorAtInlineEditContext);super({id:X$,label:"Jump Back from Inline Edit",alias:"Jump Back from Inline Edit",precondition:e,kbOpts:{weight:110,primary:2646,kbExpr:e},menuOpts:[{menuId:et.InlineEditToolbar,title:"Jump Back",group:"primary",order:3,when:e}]})}async run(e,t){const i=Os.get(t);i==null||i.jumpBack()}}class a5 extends we{constructor(){const e=oe.and(M.writable,Os.inlineEditVisibleContext);super({id:G$,label:"Reject Inline Edit",alias:"Reject Inline Edit",precondition:e,kbOpts:{weight:100,primary:9,kbExpr:e},menuOpts:[{menuId:et.InlineEditToolbar,title:"Reject",group:"secondary",order:2}]})}async run(e,t){const i=Os.get(t);await(i==null?void 0:i.clear())}}ie(n5);ie(a5);ie(o5);ie(r5);ie(s5);_i(Os.ID,Os,3);const l5="editor.action.inlineEdits.accept",c5="editor.action.inlineEdits.showPrevious",d5="editor.action.inlineEdits.showNext",bg=new Di("inlineEditsVisible",!1,w("inlineEditsVisible","Whether an inline edit is visible")),h5=new Di("inlineEditsIsPinned",!1,w("isPinned","Whether an inline edit is visible")),nL=class nL extends ze{constructor(e){super(),this._editor=e,this._editorObs=ha(this._editor),this._placeholderText=this._editorObs.getOption(88),this._state=qa({owner:this,equalsFn:sP},t=>{const i=this._placeholderText.read(t);if(i&&this._editorObs.valueIsEmpty.read(t))return{placeholder:i}}),this._shouldViewBeAlive=u5(this,t=>{var i;return((i=this._state.read(t))==null?void 0:i.placeholder)!==void 0}),this._view=iE((t,i)=>{if(!this._shouldViewBeAlive.read(t))return;const n=rr("div.editorPlaceholder");i.add(Hn(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(Hn(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(Hn(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:Ga(0),position:Ga(null),domNode:n.root}))}),this._view.recomputeInitiallyAndOnChange(this._store)}};nL.ID="editor.contrib.placeholderText";let up=nL;function u5(o,e){return jb(o,(t,i)=>i===!0?!0:e(t))}var g5=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},f5=function(o,e){return function(t,i){e(t,i,o)}};class p5{constructor(e,t,i){this.range=e,this.newLines=t,this.changes=i}}let cx=class extends ze{constructor(e,t,i,n){super(),this._editor=e,this._edit=t,this._userPrompt=i,this._instantiationService=n,this._editorObs=ha(this._editor),this._elements=rr("div.inline-edits-widget",{style:{position:"absolute",overflow:"visible",top:"0px",left:"0px"}},[rr("div@editorContainer",{style:{position:"absolute",top:"0px",left:"0px",width:"500px",height:"500px"}},[rr("div.toolbar@toolbar",{style:{position:"absolute",top:"-25px",left:"0px"}}),rr("div.promptEditor@promptEditor",{style:{position:"absolute",top:"-25px",left:"80px",width:"300px",height:"22px"}}),rr("div.preview@editor",{style:{position:"absolute",top:"0px",left:"0px"}})]),Ah("svg",{style:{overflow:"visible",pointerEvents:"none"}},[Ah("defs",[Ah("linearGradient",{id:"Gradient2",x1:"0",y1:"0",x2:"1",y2:"0"},[Ah("stop",{offset:"0%",class:"gradient-stop"}),Ah("stop",{offset:"100%",class:"gradient-stop"})])]),Ah("path@path",{d:"",fill:"url(#Gradient2)"})])]),this._previewTextModel=this._register(this._instantiationService.createInstance(Hl,"",jf,Hl.DEFAULT_CREATION_OPTIONS,null)),this._setText=Xi(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(Hl,"",jf,Hl.DEFAULT_CREATION_OPTIONS,null)),this._promptEditor=this._register(this._instantiationService.createInstance(pr,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:H2},{contributions:W2.getSomeEditorContributions([cr.ID,up.ID,hg.ID]),isSimpleWidget:!0},this._editor)),this._previewEditor=this._register(this._instantiationService.createInstance(pr,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=ha(this._previewEditor),this._decorations=Xi(this,r=>{var g;this._setText.read(r);const a=(g=this._edit.read(r))==null?void 0:g.changes;if(!a)return[];const c=[],h=[];if(a.length===1&&a[0].innerChanges[0].modifiedRange.equalsRange(this._previewTextModel.getFullModelRange()))return[];for(const f of a)if(f.original.isEmpty||c.push({range:f.original.toInclusiveRange(),options:A0}),f.modified.isEmpty||h.push({range:f.modified.toInclusiveRange(),options:JE}),f.modified.isEmpty||f.original.isEmpty)f.original.isEmpty||c.push({range:f.original.toInclusiveRange(),options:QE}),f.modified.isEmpty||h.push({range:f.modified.toInclusiveRange(),options:eP});else for(const p of f.innerChanges||[])f.original.contains(p.originalRange.startLineNumber)&&c.push({range:p.originalRange,options:p.originalRange.isEmpty()?tP:R0}),f.modified.contains(p.modifiedRange.startLineNumber)&&h.push({range:p.modifiedRange,options:p.modifiedRange.isEmpty()?iP:nP});return h}),this._layout1=Xi(this,r=>{const a=this._editor.getModel(),c=this._edit.read(r);if(!c)return null;const h=c.range;let g=0;for(let v=h.startLineNumber;v<h.endLineNumberExclusive;v++){const _=a.getLineMaxColumn(v),y=this._editor.getOffsetForColumn(v,_);g=Math.max(g,y)}return{left:this._editor.getLayoutInfo().contentLeft+g}}),this._layout=Xi(this,r=>{const a=this._edit.read(r);if(!a)return null;const c=a.range,h=this._editorObs.scrollLeft.read(r),g=this._layout1.read(r).left+20-h,f=this._editor.getTopForLineNumber(c.startLineNumber)-this._editorObs.scrollTop.read(r),p=this._editor.getTopForLineNumber(c.endLineNumberExclusive)-this._editorObs.scrollTop.read(r),v=new gu(g,f),_=new gu(g,p),y=p-f,S=50,D=this._editor.getOption(67)*a.newLines.length,P=y-D,N=new gu(g+S,f+P/2),j=new gu(g+S,p-P/2);return{topCode:v,bottomCode:_,codeHeight:y,topEdit:N,bottomEdit:j,editHeight:D}});const s=Xi(this,r=>this._edit.read(r)!==void 0||this._userPrompt.read(r)!==void 0);this._register(B2(this._elements.root,{display:Xi(this,r=>s.read(r)?"block":"none")})),this._register(z2(this._editor.getDomNode(),this._elements.root)),this._register(ha(e).createOverlayWidget({domNode:this._elements.root,position:Ga(null),allowEditorOverflow:!1,minContentWidthInPx:Xi(r=>{var h;const a=(h=this._layout1.read(r))==null?void 0:h.left;if(a===void 0)return 0;const c=this._previewEditorObs.contentWidth.read(r);return a+c})})),this._previewEditor.setModel(this._previewTextModel),this._register(this._previewEditorObs.setDecorations(this._decorations)),this._register(Hn(r=>{const a=this._layout.read(r);if(!a)return;const{topCode:c,bottomCode:h,topEdit:g,bottomEdit:f,editHeight:p}=a,v=10,_=0,y=40,S=new _5().moveTo(c).lineTo(c.deltaX(v)).curveTo(c.deltaX(v+y),g.deltaX(-y-_),g.deltaX(-_)).lineTo(g).lineTo(f).lineTo(f.deltaX(-_)).curveTo(f.deltaX(-y-_),h.deltaX(v+y),h.deltaX(v)).lineTo(h).build();this._elements.path.setAttribute("d",S),this._elements.editorContainer.style.top=`${g.y}px`,this._elements.editorContainer.style.left=`${g.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(v5(m5(this._userPrompt,r=>r??"",r=>r),ha(this._promptEditor).value)),this._register(Hn(r=>{const a=ha(this._promptEditor).isFocused.read(r);this._elements.root.classList.toggle("focused",a)}))}};cx=g5([f5(3,ri)],cx);function m5(o,e,t){return oP(void 0,i=>e(o.read(i)),(i,n)=>o.set(t(i),n))}class gu{constructor(e,t){this.x=e,this.y=t}deltaX(e){return new gu(this.x+e,this.y)}}class _5{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 v5(o,e){const t=new He;return t.add(Hn(i=>{const n=o.read(i);e.set(n,void 0)})),t.add(Hn(i=>{const n=e.read(i);o.set(n,void 0)})),t}var b5=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Iy=function(o,e){return function(t,i){e(t,i,o)}},df,Bd;let dx=(Bd=class extends ze{static _createUniqueUri(){return sn.from({scheme:"inline-edits",path:new Date().toString()+String(df._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=E0(this),this._selectedInlineCompletionId=xo(this,void 0),this._isActive=xo(this,!1),this._originalModel=fc(()=>this._modelService.createModel("",null,df._createUniqueUri())).keepObserved(this._store),this._modifiedModel=fc(()=>this._modelService.createModel("",null,df._createUniqueUri())).keepObserved(this._store),this._pinnedRange=new y5(this.textModel,this._textModelVersionId),this.isPinned=this._pinnedRange.range.map(c=>!!c),this.userPrompt=xo(this,void 0),this.inlineEdit=Xi(this,c=>{var h,g;return(g=(h=this._inlineEdit.read(c))==null?void 0:h.promiseResult.read(c))==null?void 0:g.data}),this._inlineEdit=Xi(this,c=>{const h=this.selectedInlineEdit.read(c);if(!h)return;const g=h.inlineCompletion.range;if(h.inlineCompletion.insertText.trim()==="")return;let f=h.inlineCompletion.insertText.split(/\r\n|\r|\n/);function p(S){var P;const D=((P=S[0].match(/^\s*/))==null?void 0:P[0])??"";return S.map(N=>N.replace(new RegExp("^"+D),""))}f=p(f);let _=this.textModel.getValueInRange(g).split(/\r\n|\r|\n/);_=p(_),this._originalModel.get().setValue(_.join(`
74
- `)),this._modifiedModel.get().setValue(f.join(`
75
- `));const y=this._diffProviderFactoryService.createDiffProvider({diffAlgorithm:"advanced"});return YE.fromFn(async()=>{const S=await y.computeDiff(this._originalModel.get(),this._modifiedModel.get(),{computeMoves:!1,ignoreTrimWhitespace:!1,maxComputationTimeMs:1e3},fi.None);if(!S.identical)return new p5(V2.fromRangeInclusive(g),p(f),S.changes)})}),this._fetchStore=this._register(new He),this._inlineEditsFetchResult=qy(this,void 0),this._inlineEdits=qa({owner:this,equalsFn:sP},c=>{var h;return((h=this._inlineEditsFetchResult.read(c))==null?void 0:h.completions.map(g=>new w5(g)))??[]}),this._fetchInlineEditsPromise=AE({owner:this,createEmptyChangeSummary:()=>({inlineCompletionTriggerKind:Qa.Automatic}),handleChange:(c,h)=>(c.didChange(this._forceUpdateExplicitlySignal)&&(h.inlineCompletionTriggerKind=Qa.Explicit),!0)},async(c,h)=>{this._fetchStore.clear(),this._forceUpdateExplicitlySignal.read(c),this._textModelVersionId.read(c);function g(y,S){return S(y)}const f=this._pinnedRange.range.read(c)??g(this._selection.read(c),y=>y.isEmpty()?void 0:y);if(!f){this._inlineEditsFetchResult.set(void 0,void 0),this.userPrompt.set(void 0,void 0);return}const p={triggerKind:h.inlineCompletionTriggerKind,selectedSuggestionInfo:void 0,userPrompt:this.userPrompt.read(c)},v=Gy(this._fetchStore);await Xb(200,v);const _=await oN(this.languageFeaturesService.inlineCompletionsProvider,f,this.textModel,p,v);v.isCancellationRequested||this._inlineEditsFetchResult.set(_,void 0)}),this._filteredInlineEditItems=qa({owner:this,equalsFn:Ky()},c=>this._inlineEdits.read(c)),this.selectedInlineCompletionIndex=Xi(this,c=>{const h=this._selectedInlineCompletionId.read(c),g=this._filteredInlineEditItems.read(c),f=this._selectedInlineCompletionId===void 0?-1:g.findIndex(p=>p.semanticId===h);return f===-1?(this._selectedInlineCompletionId.set(void 0,void 0),0):f}),this.selectedInlineEdit=Xi(this,c=>{const h=this._filteredInlineEditItems.read(c),g=this.selectedInlineCompletionIndex.read(c);return h[g]}),this._register(OE(this._fetchInlineEditsPromise))}async triggerExplicitly(e){I_(e,t=>{this._isActive.set(!0,t),this._forceUpdateExplicitlySignal.trigger(t)}),await this._fetchInlineEditsPromise.get()}stop(e){I_(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 Ju;const t=this.selectedInlineEdit.get();t&&(e.pushUndoStop(),e.executeEdits("inlineSuggestion.accept",[t.inlineCompletion.toSingleTextEdit().toSingleEditOperation()]),this.stop())}},df=Bd,Bd._modelId=0,Bd);dx=df=b5([Iy(4,St),Iy(5,O0),Iy(6,zs)],dx);class w5{constructor(e){this.inlineCompletion=e,this.semanticId=this.inlineCompletion.hash()}}class y5 extends ze{constructor(e,t){super(),this._textModel=e,this._versionId=t,this._decorations=xo(this,[]),this.range=Xi(this,i=>{this._versionId.read(i);const n=this._decorations.read(i)[0];return n?this._textModel.getDecorationRange(n)??null:null}),this._register(wn(()=>{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 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},Kg=function(o,e){return function(t,i){e(t,i,o)}},hx,zd;let hl=(zd=class extends ze{static get(e){return e.getContribution(hx.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=j2("editor.inlineEdits.enabled",!1,this._configurationService),this._editorObs=ha(this.editor),this._selection=Xi(this,a=>this._editorObs.cursorSelection.read(a)??new jt(1,1,1,1)),this._debounceValue=this._debounceService.for(this._languageFeaturesService.inlineCompletionsProvider,"InlineEditsDebounce",{min:50,max:50}),this.model=fc(this,a=>{if(!this._enabled.read(a)||this._editorObs.isReadonly.read(a))return;const c=this._editorObs.model.read(a);return c?this._instantiationService.createInstance(Zy(dx,a),c,this._editorObs.versionId,this._selection,this._debounceValue):void 0}),this._hadInlineEdit=jb(this,(a,c)=>{var h;return c||((h=this.model.read(a))==null?void 0:h.inlineEdit.read(a))!==void 0}),this._widget=fc(this,a=>{if(this._hadInlineEdit.read(a))return this._instantiationService.createInstance(Zy(cx,a),this.editor,this.model.map((c,h)=>c==null?void 0:c.inlineEdit.read(h)),C5(c=>{var h;return((h=this.model.read(c))==null?void 0:h.userPrompt)??xo("empty","")}))}),this._register(QL(bg,this._contextKeyService,a=>{var c;return!!((c=this.model.read(a))!=null&&c.inlineEdit.read(a))})),this._register(QL(h5,this._contextKeyService,a=>{var c;return!!((c=this.model.read(a))!=null&&c.isPinned.read(a))})),this.model.recomputeInitiallyAndOnChange(this._store),this._widget.recomputeInitiallyAndOnChange(this._store)}},hx=zd,zd.ID="editor.contrib.inlineEditsController",zd);hl=hx=S5([Kg(1,ri),Kg(2,Fi),Kg(3,Vo),Kg(4,St),Kg(5,Sn)],hl);function C5(o){return oP(void 0,e=>o(e).read(e),(e,t)=>{o(void 0).set(e,t)})}function sm(o){return{label:o.value,alias:o.original}}const yb=class yb extends we{constructor(){super({id:yb.ID,...sm(vt("action.inlineEdits.showNext","Show Next Inline Edit")),precondition:oe.and(M.writable,bg),kbOpts:{weight:100,primary:606}})}async run(e,t){var n;const i=hl.get(t);(n=i==null?void 0:i.model.get())==null||n.next()}};yb.ID=d5;let ux=yb;const Sb=class Sb extends we{constructor(){super({id:Sb.ID,...sm(vt("action.inlineEdits.showPrevious","Show Previous Inline Edit")),precondition:oe.and(M.writable,bg),kbOpts:{weight:100,primary:604}})}async run(e,t){var n;const i=hl.get(t);(n=i==null?void 0:i.model.get())==null||n.previous()}};Sb.ID=c5;let gx=Sb;class x5 extends we{constructor(){super({id:"editor.action.inlineEdits.trigger",...sm(vt("action.inlineEdits.trigger","Trigger Inline Edit")),precondition:M.writable})}async run(e,t){const i=hl.get(t);await qE(async n=>{var s;await((s=i==null?void 0:i.model.get())==null?void 0:s.triggerExplicitly(n))})}}class L5 extends we{constructor(){super({id:l5,...sm(vt("action.inlineEdits.accept","Accept Inline Edit")),precondition:bg,menuOpts:{menuId:et.InlineEditsActions,title:w("inlineEditsActions","Accept Inline Edit"),group:"primary",order:1,icon:Xt.check},kbOpts:{primary:2058,weight:2e4,kbExpr:bg}})}async run(e,t){var n;t instanceof pr&&(t=t.getParentEditor());const i=hl.get(t);i&&((n=i.model.get())==null||n.accept(i.editor),i.editor.focus())}}const Cb=class Cb extends we{constructor(){super({id:Cb.ID,...sm(vt("action.inlineEdits.hide","Hide Inline Edit")),precondition:bg,kbOpts:{weight:100,primary:9}})}async run(e,t){const i=hl.get(t);_h(n=>{var s;(s=i==null?void 0:i.model.get())==null||s.stop(n)})}};Cb.ID="editor.action.inlineEdits.hide";let fx=Cb;_i(hl.ID,hl,3);ie(x5);ie(ux);ie(gx);ie(L5);ie(fx);const uh={Visible:new Di("parameterHintsVisible",!1),MultipleSignatures:new Di("parameterHintsMultipleSignatures",!1)};async function xN(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){Yn(a)}}fn.registerCommand("_executeSignatureHelpProvider",async(o,...e)=>{const[t,i,n]=e;ji(sn.isUri(t)),ji(yt.isIPosition(i)),ji(typeof n=="string"||!n);const s=o.get(St),r=await o.get($r).createModelReference(t);try{const a=await xN(s.signatureHelpProvider,r.object.textEditorModel,yt.lift(i),{triggerKind:ql.Invoke,isRetrigger:!1,triggerCharacter:n},fi.None);return a?(setTimeout(()=>a.dispose(),0),a.value):void 0}finally{r.dispose()}});var El;(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})(El||(El={}));const xb=class xb extends ze{constructor(e,t,i=xb.DEFAULT_DELAY){super(),this._onChangedHints=this._register(new gi),this.onChangedHints=this._onChangedHints.event,this.triggerOnType=!1,this._state=El.Default,this._pendingTriggers=[],this._lastSignatureHelpResult=this._register(new ko),this.triggerChars=new L_,this.retriggerChars=new L_,this.triggerId=0,this.editor=e,this.providers=t,this.throttledDelayer=new gc(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=El.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(cn)}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 El.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(k5);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 El.Pending(ms(c=>xN(this.providers,r,a,s,c)),i);try{const c=await this.state.request;return e!==this.triggerId?(c==null||c.dispose(),!1):!c||!c.value.signatures||c.value.signatures.length===0?(c==null||c.dispose(),this._lastSignatureHelpResult.clear(),this.cancel(),!1):(this.state=new El.Active(c.value),this._lastSignatureHelpResult.value=c,this._onChangedHints.fire(this.state.hints),!0)}catch(c){return e===this.triggerId&&(this.state=El.Default),cn(c),!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:ql.TriggerCharacter,triggerCharacter:e.charAt(t)})}onCursorChange(e){e.source==="mouse"?this.cancel():this.isTriggered&&this.trigger({triggerKind:ql.ContentChange})}onModelContentChange(){this.isTriggered&&this.trigger({triggerKind:ql.ContentChange})}onEditorConfigurationChange(){this.triggerOnType=this.editor.getOption(86).enabled,this.triggerOnType||this.cancel()}dispose(){this.cancel(!0),super.dispose()}};xb.DEFAULT_DELAY=120;let px=xb;function k5(o,e){switch(e.triggerKind){case ql.Invoke:return e;case ql.ContentChange:return o;case ql.TriggerCharacter:default:return e}}var I5=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},jm=function(o,e){return function(t,i){e(t,i,o)}},mx;const mo=ht,D5=Gn("parameter-hints-next",Xt.chevronDown,w("parameterHintsNextIcon","Icon for show next parameter hint.")),E5=Gn("parameter-hints-previous",Xt.chevronUp,w("parameterHintsPreviousIcon","Icon for show previous parameter hint."));var Vd;let _x=(Vd=class extends ze{constructor(e,t,i,n,s,r){super(),this.editor=e,this.model=t,this.telemetryService=r,this.renderDisposeables=this._register(new He),this.visible=!1,this.announcedLabel=null,this.allowEditorOverflow=!0,this.markdownRenderer=this._register(new Lg({editor:e},s,n)),this.keyVisible=uh.Visible.bindTo(i),this.keyMultipleSignatures=uh.MultipleSignatures.bindTo(i)}createParameterHintDOMNodes(){const e=mo(".editor-widget.parameter-hints-widget"),t=st(e,mo(".phwrapper"));t.tabIndex=-1;const i=st(t,mo(".controls")),n=st(i,mo(".button"+qi.asCSSSelector(E5))),s=st(i,mo(".overloads")),r=st(i,mo(".button"+qi.asCSSSelector(D5)));this._register(Oi(n,"click",p=>{x_.stop(p),this.previous()})),this._register(Oi(r,"click",p=>{x_.stop(p),this.next()}));const a=mo(".body"),c=new BE(a,{alwaysConsumeMouseWheel:!0});this._register(c),t.appendChild(c.getDomNode());const h=st(a,mo(".signature")),g=st(a,mo(".docs"));e.style.userSelect="text",this.domNodes={element:e,signature:h,overloads:s,docs:g,scrollbar:c},this.editor.addContentWidget(this),this.hide(),this._register(this.editor.onDidChangeCursorSelection(p=>{this.visible&&this.editor.layoutContentWidget(this)}));const f=()=>{if(!this.domNodes)return;const p=this.editor.getOption(50),v=this.domNodes.element;v.style.fontSize=`${p.fontSize}px`,v.style.lineHeight=`${p.lineHeight/p.fontSize}`,v.style.setProperty("--vscode-parameterHintsWidget-editorFontFamily",p.fontFamily),v.style.setProperty("--vscode-parameterHintsWidget-editorFontFamilyDefault",y0.fontFamily)};f(),this._register(cs.chain(this.editor.onDidChangeConfiguration.bind(this.editor),p=>p.filter(v=>v.hasChanged(50)))(f)),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=st(this.domNodes.signature,mo(".code")),s=i.parameters.length>0,r=i.activeParameter??e.activeParameter;if(s)this.renderParameters(n,i,r);else{const h=st(n,mo("span"));h.textContent=i.label}const a=i.parameters[r];if(a!=null&&a.documentation){const h=mo("span.documentation");if(typeof a.documentation=="string")h.textContent=a.documentation;else{const g=this.renderMarkdownDocs(a.documentation);h.appendChild(g.element)}st(this.domNodes.docs,mo("p",{},h))}if(i.documentation!==void 0)if(typeof i.documentation=="string")st(this.domNodes.docs,mo("p",{},i.documentation));else{const h=this.renderMarkdownDocs(i.documentation);st(this.domNodes.docs,h.element)}const c=this.hasDocs(i,a);if(this.domNodes.signature.classList.toggle("has-docs",c),this.domNodes.docs.classList.toggle("empty",!c),this.domNodes.overloads.textContent=String(e.activeSignature+1).padStart(e.signatures.length.toString().length,"0")+"/"+e.signatures.length,a){let h="";const g=i.parameters[r];Array.isArray(g.label)?h=i.label.substring(g.label[0],g.label[1]):h=g.label,g.documentation&&(h+=typeof g.documentation=="string"?`, ${g.documentation}`:`, ${g.documentation.value}`),i.documentation&&(h+=typeof i.documentation=="string"?`, ${i.documentation}`:`, ${i.documentation.value}`),this.announcedLabel!==h&&(gr(w("hint","{0}, hint",h)),this.announcedLabel=h)}this.editor.layoutContentWidget(this),this.domNodes.scrollbar.scanDomNode()}renderMarkdownDocs(e){const t=new co,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"&&ru(t.documentation).length>0||t&&typeof t.documentation=="object"&&ru(t.documentation).value.length>0||e.documentation&&typeof e.documentation=="string"&&ru(e.documentation).length>0||e.documentation&&typeof e.documentation=="object"&&ru(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 c=document.createElement("span");c.textContent=t.label.substring(s),st(e,r,a,c)}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|^)${Hf(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 mx.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)}},mx=Vd,Vd.ID="editor.widget.parameterHintsWidget",Vd);_x=mx=I5([jm(2,Fi),jm(3,Vr),jm(4,Ur),jm(5,jr)],_x);ut("editorHoverWidget.highlightForeground",UE,w("editorHoverWidgetHighlightForeground","Foreground color of the active item in the parameter hint."));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},VI=function(o,e){return function(t,i){e(t,i,o)}},vx,jd;let wg=(jd=class extends ze{static get(e){return e.getContribution(vx.ID)}constructor(e,t,i){super(),this.editor=e,this.model=this._register(new px(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 g0(()=>this._register(t.createInstance(_x,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)}},vx=jd,jd.ID="editor.controller.parameterHints",jd);wg=vx=P5([VI(1,ri),VI(2,St)],wg);class T5 extends we{constructor(){super({id:"editor.action.triggerParameterHints",label:w("parameterHints.trigger.label","Trigger Parameter Hints"),alias:"Trigger Parameter Hints",precondition:M.hasSignatureHelpProvider,kbOpts:{kbExpr:M.editorTextFocus,primary:3082,weight:100}})}run(e,t){const i=wg.get(t);i==null||i.trigger({triggerKind:ql.Invoke})}}_i(wg.ID,wg,2);ie(T5);const N1=175,R1=Xs.bindToContribution(wg.get);Lt(new R1({id:"closeParameterHints",precondition:uh.Visible,handler:o=>o.cancel(),kbOpts:{weight:N1,kbExpr:M.focus,primary:9,secondary:[1033]}}));Lt(new R1({id:"showPrevParameterHint",precondition:oe.and(uh.Visible,uh.MultipleSignatures),handler:o=>o.previous(),kbOpts:{weight:N1,kbExpr:M.focus,primary:16,secondary:[528],mac:{primary:16,secondary:[528,302]}}}));Lt(new R1({id:"showNextParameterHint",precondition:oe.and(uh.Visible,uh.MultipleSignatures),handler:o=>o.next(),kbOpts:{weight:N1,kbExpr:M.focus,primary:18,secondary:[530],mac:{primary:18,secondary:[530,300]}}}));var M5=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},N5=function(o,e){return function(t,i){e(t,i,o)}};class R5{constructor(e){this.instantiationService=e}init(...e){}}function A5(o,e){return class extends e{constructor(){super(...arguments),this._autorun=void 0}init(...i){this._autorun=Fp((n,s)=>{const r=Zy(o(),n);s.add(this.instantiationService.createInstance(r,...i))})}dispose(){var i;(i=this._autorun)==null||i.dispose()}}}function O5(o){return U2()?A5(o,bx):o()}let bx=class extends R5{constructor(e,t){super(t),this.init(e)}};bx=M5([N5(1,ri)],bx);_i(up.ID,O5(()=>up),0);ut("editor.placeholder.foreground",$2,w("placeholderForeground","Foreground color of the placeholder text in the editor."));var F5=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(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)}};const Ng=new Di("renameInputVisible",!1,w("renameInputVisible","Whether the rename input widget is visible"));new Di("renameInputFocused",!1,w("renameInputFocused","Whether the rename input widget is focused"));let wx=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 He,this._visibleContextKey=Ng.bindTo(s),this._isEditingRenameCandidate=!1,this._nRenameSuggestionsInvocations=0,this._hadAutomaticRenameSuggestionsInvocation=!1,this._candidates=new Set,this._beforeFirstInputFieldEditSW=new co,this._inputWithButton=new H5,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 A1(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(q2),i=e.getColor(K2);this._domNode.style.backgroundColor=String(e.getColor(zE)??""),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(G2)??"");const n=e.getColor(Z2);this._inputWithButton.domNode.style.backgroundColor=String(e.getColor(ek)??""),this._inputWithButton.input.style.backgroundColor=String(e.getColor(ek)??""),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;ji(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=Hp(this.getDomNode().ownerDocument.body),t=qs(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}=gp.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=w({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;ji(this._renameCandidateListView),ji(this._nPxAvailableAbove!==void 0),ji(this._nPxAvailableBelow!==void 0);const t=su(this._inputWithButton.domNode),i=su(this._label);let n;e===2?n=this._nPxAvailableBelow:n=this._nPxAvailableAbove,this._renameCandidateListView.layout({height:n-i-t,width:Qo(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 c=new He;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),c.add(Oi(this._inputWithButton.button,"click",()=>this._requestRenameCandidates(t,!0))),c.add(Oi(this._inputWithButton.button,Wn.KEY_DOWN,g=>{const f=new F0(g);(f.equals(3)||f.equals(10))&&(f.stopPropagation(),f.preventDefault(),this._requestRenameCandidates(t,!0))}))),this._isEditingRenameCandidate=!1,this._domNode.classList.toggle("preview",i),this._position=new yt(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(),c.add(wn(()=>{this._renameCts=void 0,s.dispose(!0)})),c.add(wn(()=>{this._renameCandidateProvidersCts!==void 0&&(this._renameCandidateProvidersCts.dispose(!0),this._renameCandidateProvidersCts=void 0)})),c.add(wn(()=>this._candidates.clear()));const h=new Hb;return h.p.finally(()=>{c.dispose(),this._hide()}),this._currentCancelInput=g=>{var f;return this._trace("invoking _currentCancelInput"),this._currentAcceptInput=void 0,this._currentCancelInput=void 0,(f=this._renameCandidateListView)==null||f.clearCandidates(),h.complete(g),!0},this._currentAcceptInput=g=>{this._trace("invoking _currentAcceptInput"),ji(this._renameCandidateListView!==void 0);const f=this._renameCandidateListView.nCandidates;let p,v;const _=this._renameCandidateListView.focusedCandidate;if(_!==void 0?(this._trace("using new name from renameSuggestion"),p=_,v={k:"renameSuggestion"}):(this._trace("using new name from inputField"),p=this._inputWithButton.input.value,v=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(),h.complete({newName:p,wantsPreview:i&&g,stats:{source:v,nRenameSuggestions:f,timeBeforeFirstInputFieldEdit:this._timeBeforeFirstInputFieldEdit,nRenameSuggestionsInvocations:this._nRenameSuggestionsInvocations,hadAutomaticRenameSuggestionsInvocation:this._hadAutomaticRenameSuggestionsInvocation}})},c.add(s.token.onCancellationRequested(()=>this.cancelInput(!0,"cts.token.onCancellationRequested"))),c.add(this._editor.onDidBlurEditorWidget(()=>{var g;return this.cancelInput(!((g=this._domNode)!=null&&g.ownerDocument.hasFocus()),"editor.onDidBlurEditorWidget")})),this._show(),h.p}_requestRenameCandidates(e,t){if(this._requestRenameCandidatesOnce!==void 0&&(this._renameCandidateProvidersCts!==void 0&&this._renameCandidateProvidersCts.dispose(!0),ji(this._renameCts),this._inputWithButton.buttonState!=="stop")){this._renameCandidateProvidersCts=new _s;const i=t?Xy.Invoke:Xy.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){ji(this._editor.hasModel());const i=this._editor.getSelection();let n=0,s=t.length;return!B.isEmpty(i)&&!B.spansMultipleLines(i)&&B.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=(...h)=>this._trace("_updateRenameCandidates",...h);n("start");const s=await Tp(Promise.allSettled(e),i);if(this._inputWithButton.setSparkleButton(),s===void 0){n("returning early - received updateRenameCandidates results - undefined");return}const r=s.flatMap(h=>h.status==="fulfilled"&&Xm(h.value)?h.value:[]);n(`received updateRenameCandidates results - total (unfiltered) ${r.length} candidates.`);const a=qD(r,h=>h.newSymbolName);n(`distinct candidates - ${a.length} candidates.`);const c=a.filter(({newSymbolName:h})=>h.trim().length>0&&h!==this._inputWithButton.input.value&&h!==t&&!this._candidates.has(h));if(n(`valid distinct candidates - ${r.length} candidates.`),c.forEach(h=>this._candidates.add(h.newSymbolName)),c.length<1){n("returning early - no valid distinct candidates");return}n("setting candidates"),this._renameCandidateListView.setCandidates(c),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)}};wx=F5([Um(2,mr),Um(3,is),Um(4,Fi),Um(5,vh)],wx);class A1{constructor(e,t){this._disposables=new He,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=A1._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($E({listInactiveFocusForeground:VE,listInactiveFocusBackground:jE}))}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`,Ku(w("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}=gp.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 gp(r,i)}renderElement(r,a,c){c.populate(r)}disposeTemplate(r){r.dispose()}};return new _0("NewSymbolNameCandidates",e,n,[s],{keyboardSupport:!1,mouseSupport:!0,multipleSelectionSupport:!1})}}class H5{constructor(){this._onDidInputChange=new gi,this.onDidInputChange=this._onDidInputChange.event,this._disposables=new He}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",w("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=w("generateRenameSuggestionsButton","Generate new name suggestions"),this._buttonCancelHoverText=w("cancelRenameSuggestionsButton","Cancel"),this._buttonHover=X2().setupManagedHover(Gb("element"),this._buttonNode,this._buttonGenHoverText),this._disposables.add(this._buttonHover),this._domNode.appendChild(this._buttonNode),this._disposables.add(Oi(this.input,Wn.INPUT,()=>this._onDidInputChange.fire())),this._disposables.add(Oi(this.input,Wn.KEY_DOWN,e=>{const t=new F0(e);(t.keyCode===15||t.keyCode===17)&&this._onDidInputChange.fire()})),this._disposables.add(Oi(this.input,Wn.CLICK,()=>this._onDidInputChange.fire())),this._disposables.add(Oi(this.input,Wn.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(Oi(this.input,Wn.BLUR,()=>{this.domNode.style.outline="none"}))),this._domNode}get input(){return ji(this._inputNode),this._inputNode}get button(){return ji(this._buttonNode),this._buttonNode}get buttonState(){return this._buttonState}setSparkleButton(){var e;this._buttonState="sparkle",this._sparkleIcon??(this._sparkleIcon=Yy(Xt.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=Yy(Xt.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 Rf=class Rf{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=`${Rf._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=Yy(Xt.sparkle),this._icon.style.display="none",i.appendChild(this._icon),this._label=document.createElement("div"),ME(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(Y2.AIGenerated));this._icon.style.display=t?"inherit":"none"}_updateLabel(e){this._label.innerText=e.newSymbolName}static getLayoutInfo({lineHeight:e}){return{totalHeight:e+Rf._PADDING*2}}dispose(){}};Rf._PADDING=2;let gp=Rf;var W5=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},kl=function(o,e){return function(t,i){e(t,i,o)}},yx;class O1{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 B(this.position.lineNumber,i.startColumn,this.position.lineNumber,i.endColumn),text:i.word,rejectReason:t.length>0?t.join(`
76
- `):void 0}:{range:B.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(w("no result","No result.")),n);return r}}async function B5(o,e,t,i){const n=new O1(e,t,o),s=await n.resolveRenameLocation(fi.None);return s!=null&&s.rejectReason?{edits:[],rejectReason:s.rejectReason}:n.provideRenameEdits(i,fi.None)}var Ud;let bc=(Ud=class{static get(e){return e.getContribution(yx.ID)}constructor(e,t,i,n,s,r,a,c,h){this.editor=e,this._instaService=t,this._notificationService=i,this._bulkEditService=n,this._progressService=s,this._logService=r,this._configService=a,this._languageFeaturesService=c,this._telemetryService=h,this._disposableStore=new He,this._cts=new _s,this._renameWidget=this._disposableStore.add(this._instaService.createInstance(wx,this.editor,["acceptRenameInput","acceptRenameInputWithPreview"]))}dispose(){this._disposableStore.dispose(),this._cts.dispose(!0)}async run(){var _,y;const e=this._logService.trace.bind(this._logService,"[rename]");if(this._cts.dispose(!0),this._cts=new _s,!this.editor.hasModel()){e("editor has no model");return}const t=this.editor.getPosition(),i=new O1(this.editor.getModel(),t,this._languageFeaturesService.renameProvider);if(!i.hasProvider()){e("skeleton has no provider");return}const n=new $u(this.editor,5,void 0,this._cts.token);let s;try{e("resolving rename location");const S=i.resolveRenameLocation(n.token);this._progressService.showWhile(S,250),s=await S,e("resolved rename location")}catch(S){S instanceof Wb?e("resolve rename location cancelled",JSON.stringify(S,null," ")):(e("resolve rename location failed",S instanceof Error?S:JSON.stringify(S,null," ")),(typeof S=="string"||Gm(S))&&((_=ro.get(this.editor))==null||_.showMessage(S||w("resolveRenameLocationFailed","An unknown error occurred while resolving rename location"),t)));return}finally{n.dispose()}if(!s){e("returning early - no loc");return}if(s.rejectReason){e(`returning early - rejected with reason: ${s.rejectReason}`,s.rejectReason),(y=ro.get(this.editor))==null||y.showMessage(s.rejectReason,t);return}if(n.token.isCancellationRequested){e("returning early - cts1 cancelled");return}const r=new $u(this.editor,5,s.range,this._cts.token),a=this.editor.getModel(),c=this._languageFeaturesService.newSymbolNamesProvider.all(a),h=await Promise.all(c.map(async S=>[S,await S.supportsAutomaticNewSymbolNamesTriggerKind??!1])),g=(S,D)=>{let P=h.slice();return S===Xy.Automatic&&(P=P.filter(([N,j])=>j)),P.map(([N])=>N.provideNewSymbolNames(a,s.range,S,D))};e("creating rename input field and awaiting its result");const f=this._bulkEditService.hasPreviewHandler()&&this._configService.getValue(this.editor.getModel().uri,"editor.rename.enablePreview"),p=await this._renameWidget.getInput(s.range,s.text,f,c.length>0?g:void 0,r);if(e("received response from rename input field"),c.length>0&&this._reportTelemetry(c.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 v=Tp(i.provideRenameEdits(p.newName,r.token),r.token).then(async S=>{if(!S){e("returning early - no rename edits result");return}if(!this.editor.hasModel()){e("returning early - no model after rename edits are provided");return}if(S.rejectReason){e(`returning early - rejected with reason: ${S.rejectReason}`),this._notificationService.info(S.rejectReason);return}this.editor.setSelection(B.fromPositions(this.editor.getSelection().getPosition())),e("applying edits"),this._bulkEditService.apply(S,{editor:this.editor,showPreview:p.wantsPreview,label:w("label","Renaming '{0}' to '{1}'",s==null?void 0:s.text,p.newName),code:"undoredo.rename",quotableLabel:w("quotableLabel","Renaming {0} to {1}",s==null?void 0:s.text,p.newName),respectAutoSaveConfig:!0}).then(D=>{e("edits applied"),D.ariaSummary&&gr(w("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(w("rename.failedApply","Rename failed to apply edits")),this._logService.error(D)})},S=>{e("error when providing rename edits",JSON.stringify(S,null," ")),this._notificationService.error(w("rename.failed","Rename failed to compute edits")),this._logService.error(S)}).finally(()=>{r.dispose()});return e("returning rename operation"),this._progressService.showWhile(v,250),v}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)}},yx=Ud,Ud.ID="editor.contrib.renameController",Ud);bc=yx=W5([kl(1,ri),kl(2,Bs),kl(3,Ob),kl(4,Np),kl(5,vh),kl(6,J2),kl(7,St),kl(8,jr)],bc);class z5 extends we{constructor(){super({id:"editor.action.rename",label:w("rename.label","Rename Symbol"),alias:"Rename Symbol",precondition:oe.and(M.writable,M.hasRenameProvider),kbOpts:{kbExpr:M.editorTextFocus,primary:60,weight:100},contextMenuOpts:{group:"1_modification",order:1.1}})}runCommand(e,t){const i=e.get(Jn),[n,s]=Array.isArray(t)&&t||[void 0,void 0];return sn.isUri(n)&&yt.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))))},cn):super.runCommand(e,t)}run(e,t){const i=e.get(vh),n=bc.get(t);return n?(i.trace("[RenameAction] got controller, running..."),n.run()):(i.trace("[RenameAction] returning early - controller missing"),Promise.resolve())}}_i(bc.ID,bc,4);ie(z5);const F1=Xs.bindToContribution(bc.get);Lt(new F1({id:"acceptRenameInput",precondition:Ng,handler:o=>o.acceptRenameInput(!1),kbOpts:{weight:199,kbExpr:oe.and(M.focus,oe.not("isComposing")),primary:3}}));Lt(new F1({id:"acceptRenameInputWithPreview",precondition:oe.and(Ng,oe.has("config.editor.rename.enablePreview")),handler:o=>o.acceptRenameInput(!0),kbOpts:{weight:199,kbExpr:oe.and(M.focus,oe.not("isComposing")),primary:2051}}));Lt(new F1({id:"cancelRenameInput",precondition:Ng,handler:o=>o.cancelRenameInput(),kbOpts:{weight:199,kbExpr:M.focus,primary:9,secondary:[1033]}}));Ji(class extends Zs{constructor(){super({id:"focusNextRenameSuggestion",title:{...vt("focusNextRenameSuggestion","Focus Next Rename Suggestion")},precondition:Ng,keybinding:[{primary:18,weight:199}]})}run(e){const t=e.get(Jn).getFocusedCodeEditor();if(!t)return;const i=bc.get(t);i&&i.focusNextRenameSuggestion()}});Ji(class extends Zs{constructor(){super({id:"focusPreviousRenameSuggestion",title:{...vt("focusPreviousRenameSuggestion","Focus Previous Rename Suggestion")},precondition:Ng,keybinding:[{primary:16,weight:199}]})}run(e){const t=e.get(Jn).getFocusedCodeEditor();if(!t)return;const i=bc.get(t);i&&i.focusPreviousRenameSuggestion()}});Ys("_executeDocumentRenameProvider",function(o,e,t,...i){const[n]=i;ji(typeof n=="string");const{renameProvider:s}=o.get(St);return B5(s,e,t,n)});Ys("_executePrepareRename",async function(o,e,t){const{renameProvider:i}=o.get(St),s=await new O1(e,t,i).resolveRenameLocation(fi.None);if(s!=null&&s.rejectReason)throw new Error(s.rejectReason);return s});zr.as(Rp.Configuration).registerConfiguration({id:"editor",properties:{"editor.rename.enablePreview":{scope:5,description:w("enablePreview","Enable/disable the ability to preview changes before renaming"),default:!0,type:"boolean"}}});var V5=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},jI=function(o,e){return function(t,i){e(t,i,o)}},Bu;let Iv=(Bu=class extends ze{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 ds(()=>{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),c=a.findTokenIndexAtOffset(r.startColumn-1),h=a.getStandardTokenType(c);return a.getLanguageId(c)===t.getLanguageId()&&h===1}));const i=Object.values(this.currentOccurrences).map(s=>s.decorationId),n=e.map(s=>j5(s));this.editor.changeDecorations(s=>{const r=s.deltaDecorations(i,n);this.currentOccurrences={};for(let a=0,c=r.length;a<c;a++){const h={sectionHeader:e[a],decorationId:r[a]};this.currentOccurrences[h.decorationId]=h}})}stop(){this.computeSectionHeaders.cancel(),this.computePromise&&(this.computePromise.cancel(),this.computePromise=null)}dispose(){super.dispose(),this.stop(),this.decorations.clear()}},Bu.ID="editor.sectionHeaderDetector",Bu);Iv=V5([jI(1,ps),jI(2,ml)],Iv);function j5(o){return{range:o.range,options:Ci.createDynamic({description:"section-header",stickiness:3,collapseOnReplaceEdit:!0,minimap:{color:void 0,position:1,sectionHeaderStyle:o.hasSeparatorLine?2:1,sectionHeaderText:o.text}})}}_i(Iv.ID,Iv,1);function U5(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 $5(o){const e=new Uint8Array(o.buffer,o.byteOffset,o.length*4);return Q2()||U5(e),eF.wrap(e)}function LN(o){const e=new Uint32Array(q5(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 $5(e)}function q5(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 kw(o){return o&&!!o.data}function kN(o){return o&&Array.isArray(o.edits)}class K5{constructor(e,t,i){this.provider=e,this.tokens=t,this.error=i}}function IN(o,e){return o.has(e)}function G5(o,e){const t=o.orderedGroups(e);return t.length>0?t[0]:[]}async function DN(o,e,t,i,n){const s=G5(o,e),r=await Promise.all(s.map(async a=>{let c,h=null;try{c=await a.provideDocumentSemanticTokens(e,a===t?i:null,n)}catch(g){h=g,c=null}return(!c||!kw(c)&&!kN(c))&&(c=null),new K5(a,c,h)}));for(const a of r){if(a.error)throw a.error;if(a.tokens)return a}return r.length>0?r[0]:null}function Z5(o,e){const t=o.orderedGroups(e);return t.length>0?t[0]:null}class X5{constructor(e,t){this.provider=e,this.tokens=t}}function Y5(o,e){return o.has(e)}function EN(o,e){const t=o.orderedGroups(e);return t.length>0?t[0]:[]}async function H1(o,e,t,i){const n=EN(o,e),s=await Promise.all(n.map(async r=>{let a;try{a=await r.provideDocumentRangeSemanticTokens(e,t,i)}catch(c){Yn(c),a=null}return(!a||!kw(a))&&(a=null),new X5(r,a)}));for(const r of s)if(r.tokens)return r;return s.length>0?s[0]:null}fn.registerCommand("_provideDocumentSemanticTokensLegend",async(o,...e)=>{const[t]=e;ji(t instanceof sn);const i=o.get(zs).getModel(t);if(!i)return;const{documentSemanticTokensProvider:n}=o.get(St),s=Z5(n,i);return s?s[0].getLegend():o.get(fs).executeCommand("_provideDocumentRangeSemanticTokensLegend",t)});fn.registerCommand("_provideDocumentSemanticTokens",async(o,...e)=>{const[t]=e;ji(t instanceof sn);const i=o.get(zs).getModel(t);if(!i)return;const{documentSemanticTokensProvider:n}=o.get(St);if(!IN(n,i))return o.get(fs).executeCommand("_provideDocumentRangeSemanticTokens",t,i.getFullModelRange());const s=await DN(n,i,null,null,fi.None);if(!s)return;const{provider:r,tokens:a}=s;if(!a||!kw(a))return;const c=LN({id:0,type:"full",data:a.data});return a.resultId&&r.releaseDocumentSemanticTokens(a.resultId),c});fn.registerCommand("_provideDocumentRangeSemanticTokensLegend",async(o,...e)=>{const[t,i]=e;ji(t instanceof sn);const n=o.get(zs).getModel(t);if(!n)return;const{documentRangeSemanticTokensProvider:s}=o.get(St),r=EN(s,n);if(r.length===0)return;if(r.length===1)return r[0].getLegend();if(!i||!B.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 H1(s,n,B.lift(i),fi.None);if(a)return a.provider.getLegend()});fn.registerCommand("_provideDocumentRangeSemanticTokens",async(o,...e)=>{const[t,i]=e;ji(t instanceof sn),ji(B.isIRange(i));const n=o.get(zs).getModel(t);if(!n)return;const{documentRangeSemanticTokensProvider:s}=o.get(St),r=await H1(s,n,B.lift(i),fi.None);if(!(!r||!r.tokens))return LN({id:0,type:"full",data:r.tokens.data})});const W1="editor.semanticHighlighting";function p_(o,e,t){var n;const i=(n=t.getValue(W1,{overrideIdentifier:o.getLanguageId(),resource:o.uri}))==null?void 0:n.enabled;return typeof i=="boolean"?i:e.getColorTheme().semanticHighlighting}var PN=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},da=function(o,e){return function(t,i){e(t,i,o)}},Dl;let Sx=class extends ze{constructor(e,t,i,n,s,r){super(),this._watchers=Object.create(null);const a=g=>{this._watchers[g.uri.toString()]=new Cx(g,e,i,s,r)},c=(g,f)=>{f.dispose(),delete this._watchers[g.uri.toString()]},h=()=>{for(const g of t.getModels()){const f=this._watchers[g.uri.toString()];p_(g,i,n)?f||a(g):f&&c(g,f)}};t.getModels().forEach(g=>{p_(g,i,n)&&a(g)}),this._register(t.onModelAdded(g=>{p_(g,i,n)&&a(g)})),this._register(t.onModelRemoved(g=>{const f=this._watchers[g.uri.toString()];f&&c(g,f)})),this._register(n.onDidChangeConfiguration(g=>{g.affectsConfiguration(W1)&&h()})),this._register(i.onDidColorThemeChange(h))}dispose(){for(const e of Object.values(this._watchers))e.dispose();super.dispose()}};Sx=PN([da(0,H0),da(1,zs),da(2,mr),da(3,Sn),da(4,Vo),da(5,St)],Sx);var dc;let Cx=(dc=class extends ze{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:Dl.REQUEST_MIN_DELAY,max:Dl.REQUEST_MAX_DELAY}),this._fetchDocumentSemanticTokens=this._register(new ds(()=>this._fetchDocumentSemanticTokensNow(),Dl.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=()=>{Rs(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),Rs(this._documentProvidersChangeListeners),this._documentProvidersChangeListeners=[],this._setDocumentSemanticTokens(null,null,null,[]),this._isDisposed=!0,super.dispose()}_fetchDocumentSemanticTokensNow(){if(this._currentDocumentRequestCancellationTokenSource)return;if(!IN(this._provider,this._model)){this._currentDocumentResponse&&this._model.tokenization.setSemanticTokens(null,!1);return}if(!this._model.isAttachedToEditor())return;const e=new _s,t=this._currentDocumentResponse?this._currentDocumentResponse.provider:null,i=this._currentDocumentResponse&&this._currentDocumentResponse.resultId||null,n=DN(this._provider,this._model,t,i,e.token);this._currentDocumentRequestCancellationTokenSource=e,this._providersChangedDuringRequest=!1;const s=[],r=this._model.onDidChangeContent(c=>{s.push(c)}),a=new co(!1);n.then(c=>{if(this._debounceInformation.update(this._model,a.elapsed()),this._currentDocumentRequestCancellationTokenSource=null,r.dispose(),!c)this._setDocumentSemanticTokens(null,null,null,s);else{const{provider:h,tokens:g}=c,f=this._semanticTokensStylingService.getStyling(h);this._setDocumentSemanticTokens(h,g||null,f,s)}},c=>{c&&(yc(c)||typeof c.message=="string"&&c.message.indexOf("busy")!==-1)||cn(c),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(kN(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 c=s.data,h=new Uint32Array(c.length+a);let g=c.length,f=h.length;for(let p=t.edits.length-1;p>=0;p--){const v=t.edits[p];if(v.start>c.length){i.warnInvalidEditStart(s.resultId,t.resultId,p,v.start,c.length),this._model.tokenization.setSemanticTokens(null,!0);return}const _=g-(v.start+v.deleteCount);_>0&&(Dl._copy(c,g-_,h,f-_,_),f-=_),v.data&&(Dl._copy(v.data,0,h,f-v.data.length,v.data.length),f-=v.data.length),g=v.start}g>0&&Dl._copy(c,0,h,0,g),t={resultId:t.resultId,data:h}}}if(kw(t)){this._currentDocumentResponse=new J5(e,t.resultId,t.data);const a=rP(t,i,this._model.getLanguageId());if(n.length>0)for(const c of n)for(const h of a)for(const g of c.changes)h.applyEdit(g.range,g.text);this._model.tokenization.setSemanticTokens(a,!0)}else this._model.tokenization.setSemanticTokens(null,!0);r()}},Dl=dc,dc.REQUEST_MIN_DELAY=300,dc.REQUEST_MAX_DELAY=2e3,dc);Cx=Dl=PN([da(1,H0),da(2,mr),da(3,Vo),da(4,St)],Cx);class J5{constructor(e,t,i){this.provider=e,this.resultId=t,this.data=i}dispose(){this.provider.releaseDocumentSemanticTokens(this.resultId)}}xg(Sx);var Q5=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Gg=function(o,e){return function(t,i){e(t,i,o)}},zu;let Dv=(zu=class extends ze{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 ds(()=>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(c=>{this._cancelAll(),a()})),this._register(this._provider.onDidChange(()=>{this._cancelAll(),a()})),this._register(this._configurationService.onDidChangeConfiguration(c=>{c.affectsConfiguration(W1)&&(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(!p_(e,this._themeService,this._configurationService)){e.tokenization.hasSomeSemanticTokens()&&e.tokenization.setSemanticTokens(null,!1);return}if(!Y5(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=ms(r=>Promise.resolve(H1(this._provider,e,t,r))),s=new co(!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:c}=r,h=this._semanticTokensStylingService.getStyling(a);e.tokenization.setPartialSemanticTokens(t,rP(c,h,e.getLanguageId()))}).then(()=>this._removeOutstandingRequest(n),()=>this._removeOutstandingRequest(n)),n}},zu.ID="editor.contrib.viewportSemanticTokens",zu);Dv=Q5([Gg(1,H0),Gg(2,mr),Gg(3,Sn),Gg(4,Vo),Gg(5,St)],Dv);_i(Dv.ID,Dv,1);class e6{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 c=a,h=a,g=0;for(;c>=0;c--){const f=s.charCodeAt(c);if(c!==a&&(f===95||f===45))break;if(tk(f)&&ik(g))break;g=f}for(c+=1;h<s.length;h++){const f=s.charCodeAt(h);if(ik(f)&&tk(g))break;if(f===95||f===45)break;g=f}c<h&&e.push({range:new B(i.lineNumber,r+c,i.lineNumber,r+h)})}_addWordRanges(e,t,i){const n=t.getWordAtPosition(i);n&&e.push({range:new B(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 B(i.lineNumber,1,i.lineNumber,t.getLineMaxColumn(i.lineNumber))})}}var t6=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},i6=function(o,e){return function(t,i){e(t,i,o)}},xx;class B1{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 B1(t,this.ranges);return i.ranges[t].equalsRange(this.ranges[this.index])?i.mov(e):i}}var $d;let fp=($d=class{static get(e){return e.getContribution(xx.ID)}constructor(e,t){this._editor=e,this._languageFeaturesService=t,this._ignoreSelection=!1}dispose(){var e;(e=this._selectionListener)==null||e.dispose()}async run(e){if(!this._editor.hasModel())return;const t=this._editor.getSelections(),i=this._editor.getModel();if(this._state||await MN(this._languageFeaturesService.selectionRangeProvider,i,t.map(s=>s.getPosition()),this._editor.getOption(114),fi.None).then(s=>{var r;if(!(!Co(s)||s.length!==t.length)&&!(!this._editor.hasModel()||!Ca(this._editor.getSelections(),t,(a,c)=>a.equalsSelection(c)))){for(let a=0;a<s.length;a++)s[a]=s[a].filter(c=>c.containsPosition(t[a].getStartPosition())&&c.containsPosition(t[a].getEndPosition())),s[a].unshift(t[a]);this._state=s.map(a=>new B1(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=>jt.fromPositions(s.ranges[s.index].getStartPosition(),s.ranges[s.index].getEndPosition()));this._ignoreSelection=!0;try{this._editor.setSelections(n)}finally{this._ignoreSelection=!1}}},xx=$d,$d.ID="editor.contrib.smartSelectController",$d);fp=xx=t6([i6(1,St)],fp);class TN extends we{constructor(e,t){super(t),this._forward=e}async run(e,t){const i=fp.get(t);i&&await i.run(this._forward)}}class n6 extends TN{constructor(){super(!0,{id:"editor.action.smartSelect.expand",label:w("smartSelect.expand","Expand Selection"),alias:"Expand Selection",precondition:void 0,kbOpts:{kbExpr:M.editorTextFocus,primary:1553,mac:{primary:3345,secondary:[1297]},weight:100},menuOpts:{menuId:et.MenubarSelectionMenu,group:"1_basic",title:w({key:"miSmartSelectGrow",comment:["&& denotes a mnemonic"]},"&&Expand Selection"),order:2}})}}fn.registerCommandAlias("editor.action.smartSelect.grow","editor.action.smartSelect.expand");class s6 extends TN{constructor(){super(!1,{id:"editor.action.smartSelect.shrink",label:w("smartSelect.shrink","Shrink Selection"),alias:"Shrink Selection",precondition:void 0,kbOpts:{kbExpr:M.editorTextFocus,primary:1551,mac:{primary:3343,secondary:[1295]},weight:100},menuOpts:{menuId:et.MenubarSelectionMenu,group:"1_basic",title:w({key:"miSmartSelectShrink",comment:["&& denotes a mnemonic"]},"&&Shrink Selection"),order:3}})}}_i(fp.ID,fp,4);ie(n6);ie(s6);async function MN(o,e,t,i,n){const s=o.all(e).concat(new e6(i.selectSubwords));s.length===1&&s.unshift(new uv);const r=[],a=[];for(const c of s)r.push(Promise.resolve(c.provideSelectionRanges(e,t,n)).then(h=>{if(Co(h)&&h.length===t.length)for(let g=0;g<t.length;g++){a[g]||(a[g]=[]);for(const f of h[g])B.isIRange(f.range)&&B.containsPosition(f.range,t[g])&&a[g].push(B.lift(f.range))}},Yn));return await Promise.all(r),a.map(c=>{if(c.length===0)return[];c.sort((p,v)=>yt.isBefore(p.getStartPosition(),v.getStartPosition())?1:yt.isBefore(v.getStartPosition(),p.getStartPosition())||yt.isBefore(p.getEndPosition(),v.getEndPosition())?-1:yt.isBefore(v.getEndPosition(),p.getEndPosition())?1:0);const h=[];let g;for(const p of c)(!g||B.containsRange(p,g)&&!B.equalsRange(p,g))&&(h.push(p),g=p);if(!i.selectLeadingAndTrailingWhitespace)return h;const f=[h[0]];for(let p=1;p<h.length;p++){const v=h[p-1],_=h[p];if(_.startLineNumber!==v.startLineNumber||_.endLineNumber!==v.endLineNumber){const y=new B(v.startLineNumber,e.getLineFirstNonWhitespaceColumn(v.startLineNumber),v.endLineNumber,e.getLineLastNonWhitespaceColumn(v.endLineNumber));y.containsRange(v)&&!y.equalsRange(v)&&_.containsRange(y)&&!_.equalsRange(y)&&f.push(y);const S=new B(v.startLineNumber,1,v.endLineNumber,e.getLineMaxColumn(v.endLineNumber));S.containsRange(v)&&!S.equalsRange(y)&&_.containsRange(S)&&!_.equalsRange(S)&&f.push(S)}f.push(_)}return f})}fn.registerCommand("_executeSelectionRangeProvider",async function(o,...e){const[t,i]=e;ji(sn.isUri(t));const n=o.get(St).selectionRangeProvider,s=await o.get($r).createModelReference(t);try{return MN(n,s.object.textEditorModel,i,{selectLeadingAndTrailingWhitespace:!0,selectSubwords:!0},fi.None)}finally{s.dispose()}});const o6=Object.freeze({View:vt("view","View"),Help:vt("help","Help"),Test:vt("test","Test"),File:vt("file","File"),Preferences:vt("preferences","Preferences"),Developer:vt({key:"developer",comment:["A developer on Code itself or someone diagnosing issues in Code"]},"Developer")});class If{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&&Ca(this.startLineNumbers,e.startLineNumbers)&&Ca(this.endLineNumbers,e.endLineNumbers)}static get Empty(){return new If([],[],0)}}const UI=DE("stickyScrollViewLayer",{createHTML:o=>o}),Dy="data-sticky-line-index",$I="data-sticky-is-line",r6="data-sticky-is-line-number",qI="data-sticky-is-folding-icon";class a6 extends ze{constructor(e){super(),this._editor=e,this._foldingIconStore=new He,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 pr),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,c]of s.entries()){const h=this._renderChildNode(a+i,c,t,n);h&&(this._linesDomNode.appendChild(h.lineDomNode),this._lineNumbersDomNode.appendChild(h.lineNumberDomNode),this._renderedStickyLines.push(h))}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(Oi(this._lineNumbersDomNode,Wn.MOUSE_ENTER,()=>{this._isOnGlyphMargin=!0,this._setFoldingIconsVisibility(!0)})),this._foldingIconStore.add(Oi(this._lineNumbersDomNode,Wn.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 yt(t,1)).lineNumber,a=s.getViewLineRenderingData(r),c=this._editor.getOption(68);let h;try{h=$f.filter(a.inlineDecorations,r,a.minColumn,a.maxColumn)}catch{h=[]}const g=new TE(!0,!0,a.content,a.continuesWithWrappedLine,a.isBasicASCII,a.containsRTL,0,a.tokens,h,a.tabSize,a.startVisibleColumn,1,1,1,500,"none",!0,!0,null),f=new EE(2e3),p=PE(g,f);let v;UI?v=UI.createHTML(f.build()):v=f.build();const _=document.createElement("span");_.setAttribute(Dy,String(e)),_.setAttribute($I,""),_.setAttribute("role","listitem"),_.tabIndex=0,_.className="sticky-line-content",_.classList.add(`stickyLine${t}`),_.style.lineHeight=`${this._lineHeight}px`,_.innerHTML=v;const y=document.createElement("span");y.setAttribute(Dy,String(e)),y.setAttribute(r6,""),y.className="sticky-line-number",y.style.lineHeight=`${this._lineHeight}px`;const S=n.contentLeft;y.style.width=`${S}px`;const D=document.createElement("span");c.renderType===1||c.renderType===3&&t%10===0?D.innerText=t.toString():c.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`,y.appendChild(D);const P=this._renderFoldingIconForLine(i,t);P&&y.appendChild(P.domNode),this._editor.applyFontInfo(_),this._editor.applyFontInfo(D),y.style.lineHeight=`${this._lineHeight}px`,_.style.lineHeight=`${this._lineHeight}px`,y.style.height=`${this._lineHeight}px`,_.style.height=`${this._lineHeight}px`;const N=new l6(e,t,_,y,P,p.characterMapping,_.scrollWidth);return this._updateTopAndZIndexOfStickyLine(N)}_updateTopAndZIndexOfStickyLine(e){var g;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 c=`${t*this._lineHeight+this._lastLineRelativePosition+((g=e.foldingIcon)!=null&&g.isCollapsed?1:0)}px`,h=`${t*this._lineHeight}px`;return i.style.top=s?c:h,n.style.top=s?c:h,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 c=n.isCollapsed(s),h=new c6(c,r,n.getEndLineNumber(s),this._lineHeight);return h.setVisible(this._isOnGlyphMargin?!0:c||i==="always"),h.domNode.setAttribute(qI,""),h}getId(){return"editor.contrib.stickyScrollWidget"}getDomNode(){return this._rootDomNode}getPosition(){return{preference:2,stackOridinal:10}}getMinContentWidthInPx(){return this._minContentWidthInPx}focusLineWithIndex(e){0<=e&&e<this._renderedStickyLines.length&&this._renderedStickyLines[e].lineDomNode.focus()}getEditorPositionFromNode(e){if(!e||e.children.length>0)return null;const t=this._getRenderedStickyLineFromChildDomNode(e);if(!t)return null;const i=tF(t.characterMapping,e,0);return new yt(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,Dy);return t?parseInt(t,10):null}isInStickyLine(e){return this._getAttributeValue(e,$I)!==void 0}isInFoldingIconDomNode(e){return this._getAttributeValue(e,qI)!==void 0}_getAttributeValue(e,t){for(;e&&e!==this._rootDomNode;){const i=e.getAttribute(t);if(i!==null)return i;e=e.parentElement}}}class l6{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 c6{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=qi.asClassName(e?tv:ev)}setVisible(e){this.domNode.style.cursor=e?"pointer":"default",this.domNode.style.opacity=e?"1":"0"}}class Df{constructor(e,t){this.startLineNumber=e,this.endLineNumber=t}}class Ev{constructor(e,t,i){this.range=e,this.children=t,this.parent=i}}class NN{constructor(e,t,i,n){this.uri=e,this.version=t,this.element=i,this.outlineProviderId=n}}var Iw=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},pp=function(o,e){return function(t,i){e(t,i,o)}},Ef;(function(o){o.OUTLINE_MODEL="outlineModel",o.FOLDING_PROVIDER_MODEL="foldingProviderModel",o.INDENTATION_MODEL="indentationModel"})(Ef||(Ef={}));var jl;(function(o){o[o.VALID=0]="VALID",o[o.INVALID=1]="INVALID",o[o.CANCELED=2]="CANCELED"})(jl||(jl={}));let Lx=class extends ze{constructor(e,t,i,n){switch(super(),this._editor=e,this._modelProviders=[],this._modelPromise=null,this._updateScheduler=this._register(new gc(300)),this._updateOperation=this._register(new He),this._editor.getOption(116).defaultModel){case Ef.OUTLINE_MODEL:this._modelProviders.push(new kx(this._editor,n));case Ef.FOLDING_PROVIDER_MODEL:this._modelProviders.push(new Dx(this._editor,t,n));case Ef.INDENTATION_MODEL:this._modelProviders.push(new Ix(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 jl.CANCELED:return this._updateOperation.clear(),null;case jl.VALID:return t.stickyModel}}return null}).catch(t=>(cn(t),null))}};Lx=Iw([pp(2,ri),pp(3,St)],Lx);class RN extends ze{constructor(e){super(),this._editor=e,this._stickyModel=null}get stickyModel(){return this._stickyModel}_invalid(){return this._stickyModel=null,jl.INVALID}computeStickyModel(e){if(e.isCancellationRequested||!this.isProviderValid())return{statusPromise:this._invalid(),modelPromise:null};const t=ms(i=>this.createModelFromProvider(i));return{statusPromise:t.then(i=>this.isModelValid(i)?e.isCancellationRequested?jl.CANCELED:(this._stickyModel=this.createStickyModel(e,i),jl.VALID):this._invalid()).then(void 0,i=>(cn(i),jl.CANCELED)),modelPromise:t}}isModelValid(e){return!0}isProviderValid(){return!0}}let kx=class extends RN{constructor(e,t){super(e),this._languageFeaturesService=t}createModelFromProvider(e){return za.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 NN(s.uri,s.getVersionId(),i,n)}isModelValid(e){return e&&e.children.size>0}_stickyModelFromOutlineModel(e,t){let i;if(Ya.first(e.children.values())instanceof tN){const a=Ya.find(e.children.values(),c=>c.id===t);if(a)i=a.children;else{let c="",h=-1,g;for(const[f,p]of e.children.entries()){const v=this._findSumOfRangesOfGroup(p);v>h&&(g=p,h=v,c=p.id)}t=c,i=g.children}}else i=e.children;const n=[],s=Array.from(i.values()).sort((a,c)=>{const h=new Df(a.symbol.range.startLineNumber,a.symbol.range.endLineNumber),g=new Df(c.symbol.range.startLineNumber,c.symbol.range.endLineNumber);return this._comparator(h,g)});for(const a of s)n.push(this._stickyModelFromOutlineElement(a,a.symbol.selectionRange.startLineNumber));return{stickyOutlineElement:new Ev(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 Df(e.symbol.selectionRange.startLineNumber,e.symbol.range.endLineNumber);return new Ev(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 pC?t+e.symbol.range.endLineNumber-e.symbol.selectionRange.startLineNumber:t}};kx=Iw([pp(1,St)],kx);class AN extends RN{constructor(e){super(e),this._foldingLimitReporter=new JM(e)}createStickyModel(e,t){const i=this._fromFoldingRegions(t),n=this._editor.getModel();return new NN(n.uri,n.getVersionId(),i,void 0)}isModelValid(e){return e!==null}_fromFoldingRegions(e){const t=e.length,i=[],n=new Ev(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 c=new Ev(new Df(e.getStartLineNumber(s),e.getEndLineNumber(s)+1),[],a);a.children.push(c),i.push(c)}return n}}let Ix=class extends AN{constructor(e,t){super(e),this._languageConfigurationService=t,this.provider=this._register(new L1(e.getModel(),this._languageConfigurationService,this._foldingLimitReporter))}async createModelFromProvider(e){return this.provider.compute(e)}};Ix=Iw([pp(1,ps)],Ix);let Dx=class extends AN{constructor(e,t,i){super(e),this._languageFeaturesService=i;const n=vc.getFoldingRangeProviders(this._languageFeaturesService,e.getModel());n.length>0&&(this.provider=this._register(new k1(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}};Dx=Iw([pp(2,St)],Dx);var d6=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},KI=function(o,e){return function(t,i){e(t,i,o)}};class h6{constructor(e,t,i){this.startLineNumber=e,this.endLineNumber=t,this.nestingDepth=i}}let Ex=class extends ze{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 He),this._updateSoon=this._register(new ds(()=>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(wn(()=>{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 Lx(e,()=>this._updateSoon.schedule(),this._languageConfigurationService,this._languageFeaturesService))}async update(){var e;(e=this._cts)==null||e.dispose(!0),this._cts=new _s,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 g=0;g<t.children.length;g++){const f=t.children[g];f.range&&a.push(f.range.startLineNumber)}const c=this.updateIndex(D_(a,e.startLineNumber,(g,f)=>g-f)),h=this.updateIndex(D_(a,e.startLineNumber+n,(g,f)=>g-f));for(let g=c;g<=h;g++){const f=t.children[g];if(!f)return;if(f.range){const p=f.range.startLineNumber,v=f.range.endLineNumber;e.startLineNumber<=v+1&&p-1<=e.endLineNumber&&p!==r&&(r=p,i.push(new h6(p,v-1,n+1)),this.getCandidateStickyLinesIntersectingFromStickyModel(e,f,i,n+1,p))}else this.getCandidateStickyLinesIntersectingFromStickyModel(e,f,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}};Ex=d6([KI(1,St),KI(2,ps)],Ex);var u6=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(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)}},Px,qd;let ul=(qd=class extends ze{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 He,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 a6(this._editor),this._stickyLineCandidateProvider=new Ex(this._editor,i,s),this._register(this._stickyScrollWidget),this._register(this._stickyLineCandidateProvider),this._widgetState=If.Empty,this._onDidResize(),this._readConfiguration();const c=this._stickyScrollWidget.getDomNode();this._register(this._editor.onDidChangeConfiguration(g=>{this._readConfigurationChange(g)})),this._register(Oi(c,Wn.CONTEXT_MENU,async g=>{this._onContextMenu(ed(c),g)})),this._stickyScrollFocusedContextKey=M.stickyScrollFocused.bindTo(this._contextKeyService),this._stickyScrollVisibleContextKey=M.stickyScrollVisible.bindTo(this._contextKeyService);const h=this._register(qu(c));this._register(h.onDidBlur(g=>{this._positionRevealed===!1&&c.clientHeight===0?(this._focusedStickyElementIndex=-1,this.focus()):this._disposeFocusStickyScrollStore()})),this._register(h.onDidFocus(g=>{this.focus()})),this._registerMouseListeners(),this._register(Oi(c,Wn.MOUSE_DOWN,g=>{this._onMouseDown=!0}))}static get(e){return e.getContribution(Px.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 He,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(B.fromPositions(e)),this._editor.focus()}_registerMouseListeners(){const e=this._register(new He),t=this._register(new mw(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 B(a.lineNumber,a.column,a.lineNumber,a.column+r.innerText.length),textElement:r}:null},n=this._stickyScrollWidget.getDomNode();this._register(ol(n,Wn.CLICK,s=>{if(s.ctrlKey||s.altKey||s.metaKey||!s.leftButton)return;if(s.shiftKey){const h=this._stickyScrollWidget.getLineIndexFromChildDomNode(s.target);if(h===null)return;const g=new yt(this._endLineNumbers[h],1);this._revealLineInCenterIfOutsideViewport(g);return}if(this._stickyScrollWidget.isInFoldingIconDomNode(s.target)){const h=this._stickyScrollWidget.getLineNumberFromChildDomNode(s.target);this._toggleFoldingRegionForLine(h);return}if(!this._stickyScrollWidget.isInStickyLine(s.target))return;let c=this._stickyScrollWidget.getEditorPositionFromNode(s.target);if(!c){const h=this._stickyScrollWidget.getLineNumberFromChildDomNode(s.target);if(h===null)return;c=new yt(h,1)}this._revealPosition(c)})),this._register(ol(n,Wn.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(Oi(n,Wn.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:c,textElement:h}=a;if(!c.equalsRange(this._stickyRangeProjectedOnEditor))this._stickyRangeProjectedOnEditor=c,e.clear();else if(h.style.textDecoration==="underline")return;const g=new _s;e.add(wn(()=>g.dispose(!0)));let f;em(this._languageFeaturesService.definitionProvider,this._editor.getModel(),new yt(c.startLineNumber,c.startColumn+1),!1,g.token).then((p=>{if(!g.token.isCancellationRequested)if(p.length!==0){this._candidateDefinitionsLength=p.length;const v=h;f!==v?(e.clear(),f=v,f.style.textDecoration="underline",e.add(wn(()=>{f.style.textDecoration="none"}))):f||(f=v,f.style.textDecoration="underline",e.add(wn(()=>{f.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(AM,s,this._editor,{uri:this._editor.getModel().uri,range:this._stickyRangeProjectedOnEditor})))}))}_onContextMenu(e,t){const i=new iF(e,t);this._contextMenuService.showContextMenu({menuId:et.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;S1(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=vc.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=If.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 c=new Df(a[0].startLineNumber,a[a.length-1].endLineNumber),h=this._stickyLineCandidateProvider.getCandidateStickyLinesIntersecting(c);for(const g of h){const f=g.startLineNumber,p=g.endLineNumber,v=g.nestingDepth;if(p-f>0){const _=(v-1)*e,y=v*e,S=this._editor.getBottomForLineNumber(f)-i,D=this._editor.getTopForLineNumber(p)-i,P=this._editor.getBottomForLineNumber(p)-i;if(_>D&&_<=P){s.push(f),r.push(p+1),n=P-y;break}else y>S&&y<=P&&(s.push(f),r.push(p+1));if(s.length===t)break}}}return this._endLineNumbers=r,new If(s,r,n,this._showEndForLine)}dispose(){super.dispose(),this._sessionStore.dispose()}},Px=qd,qd.ID="store.contrib.stickyScrollController",qd);ul=Px=u6([qh(1,yg),qh(2,St),qh(3,ri),qh(4,ps),qh(5,Vo),qh(6,Fi)],ul);class g6 extends Zs{constructor(){super({id:"editor.action.toggleStickyScroll",title:{...vt("toggleEditorStickyScroll","Toggle Editor Sticky Scroll"),mnemonicTitle:w({key:"mitoggleStickyScroll",comment:["&& denotes a mnemonic"]},"&&Toggle Editor Sticky Scroll")},metadata:{description:vt("toggleEditorStickyScroll.description","Toggle/enable the editor sticky scroll which shows the nested scopes at the top of the viewport")},category:o6.View,toggled:{condition:oe.equals("config.editor.stickyScroll.enabled",!0),title:w("stickyScroll","Sticky Scroll"),mnemonicTitle:w({key:"miStickyScroll",comment:["&& denotes a mnemonic"]},"&&Sticky Scroll")},menu:[{id:et.CommandPalette},{id:et.MenubarAppearanceMenu,group:"4_editor",order:3},{id:et.StickyScrollContext}]})}async run(e){const t=e.get(Sn),i=!t.getValue("editor.stickyScroll.enabled");return t.updateValue("editor.stickyScroll.enabled",i)}}const Dw=100;class f6 extends Br{constructor(){super({id:"editor.action.focusStickyScroll",title:{...vt("focusStickyScroll","Focus on the editor sticky scroll"),mnemonicTitle:w({key:"mifocusStickyScroll",comment:["&& denotes a mnemonic"]},"&&Focus Sticky Scroll")},precondition:oe.and(oe.has("config.editor.stickyScroll.enabled"),M.stickyScrollVisible),menu:[{id:et.CommandPalette}]})}runEditorCommand(e,t){var i;(i=ul.get(t))==null||i.focus()}}class p6 extends Br{constructor(){super({id:"editor.action.selectNextStickyScrollLine",title:vt("selectNextStickyScrollLine.title","Select the next editor sticky scroll line"),precondition:M.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:Dw,primary:18}})}runEditorCommand(e,t){var i;(i=ul.get(t))==null||i.focusNext()}}class m6 extends Br{constructor(){super({id:"editor.action.selectPreviousStickyScrollLine",title:vt("selectPreviousStickyScrollLine.title","Select the previous sticky scroll line"),precondition:M.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:Dw,primary:16}})}runEditorCommand(e,t){var i;(i=ul.get(t))==null||i.focusPrevious()}}class _6 extends Br{constructor(){super({id:"editor.action.goToFocusedStickyScrollLine",title:vt("goToFocusedStickyScrollLine.title","Go to the focused sticky scroll line"),precondition:M.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:Dw,primary:3}})}runEditorCommand(e,t){var i;(i=ul.get(t))==null||i.goToFocused()}}class v6 extends Br{constructor(){super({id:"editor.action.selectEditor",title:vt("selectEditor.title","Select Editor"),precondition:M.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:Dw,primary:9}})}runEditorCommand(e,t){var i;(i=ul.get(t))==null||i.selectEditor()}}_i(ul.ID,ul,1);Ji(g6);Ji(f6);Ji(m6);Ji(p6);Ji(_6);Ji(v6);var ON=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},hf=function(o,e){return function(t,i){e(t,i,o)}};class b6{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 Tx=class extends nF{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=Ya.slice(t,i),s=Ya.slice(t,0,i);let r=5;for(const a of Ya.concat(n,s)){if(a.score===Vf.Default)continue;const c=new B(a.editStart.lineNumber,a.editStart.column,a.editInsertEnd.lineNumber,a.editInsertEnd.column+this.completionModel.lineContext.characterCountDelta),h=a.completion.insertTextRules&&a.completion.insertTextRules&4?{snippet:a.completion.insertText}:a.completion.insertText;e.push(new b6(c,h,a.filterTextLow??a.labelLow,a.completion.additionalTextEdits,a.completion.command,a)),r-->=0&&a.resolve(fi.None)}return e}};Tx=ON([hf(5,Cw)],Tx);let Mx=class extends ze{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 v;if(i.selectedSuggestionInfo)return;let s;for(const _ of this._editorService.listCodeEditors())if(_.getModel()===e){s=_;break}if(!s)return;const r=s.getOption(90);if(uu.isAllOff(r))return;e.tokenization.tokenizeIfCheap(t.lineNumber);const a=e.tokenization.getLineTokens(t.lineNumber),c=a.getStandardTokenType(a.findTokenIndexAtOffset(Math.max(t.column-1-1,0)));if(uu.valueFor(r,c)!=="inline")return;let h=e.getWordAtPosition(t),g;if(h!=null&&h.word||(g=this._getTriggerCharacterInfo(e,t)),!(h!=null&&h.word)&&!g||(h||(h=e.getWordUntilPosition(t)),h.endColumn!==t.column))return;let f;const p=e.getValueInRange(new B(t.lineNumber,1,t.lineNumber,t.column));if(!g&&((v=this._lastResult)!=null&&v.canBeReused(e,t.lineNumber,h))){const _=new MI(p,t.column-this._lastResult.word.endColumn);this._lastResult.completionModel.lineContext=_,this._lastResult.acquire(),f=this._lastResult}else{const _=await I1(this._languageFeatureService.completionProvider,e,t,new rp(void 0,fv.createSuggestFilter(s).itemKind,g==null?void 0:g.providers),g&&{triggerKind:1,triggerCharacter:g.ch},n);let y;_.needsClipboard&&(y=await this._clipboardService.readText());const S=new Nl(_.items,t.column,new MI(p,0),gv.None,s.getOption(119),s.getOption(113),{boostFullMatch:!1,firstMatchCanBeWeak:!1},y);f=new Tx(e,t.lineNumber,h,S,_,this._suggestMemoryService)}return this._lastResult=f,f}handleItemDidShow(e,t){t.completion.resolve(fi.None)}freeInlineCompletions(e){e.release()}_getTriggerCharacterInfo(e,t){var s;const i=e.getValueInRange(B.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}}};Mx=ON([hf(0,St),hf(1,Sg),hf(2,Cw),hf(3,Jn)],Mx);xg(Mx);class w6 extends we{constructor(){super({id:"editor.action.forceRetokenize",label:w("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 co;i.tokenization.forceTokenization(i.getLineCount()),n.stop(),console.log(`tokenization took ${n.elapsed()}`)}}ie(w6);const Lb=class Lb extends Zs{constructor(){super({id:Lb.ID,title:vt({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:vt("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=!nk.getTabFocusMode();nk.setTabFocusMode(t),t?gr(w("toggle.tabMovesFocus.on","Pressing Tab will now move focus to the next focusable element")):gr(w("toggle.tabMovesFocus.off","Pressing Tab will now insert the tab character"))}};Lb.ID="editor.action.toggleTabFocusMode";let Nx=Lb;Ji(Nx);var y6=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},GI=function(o,e){return function(t,i){e(t,i,o)}};let Rx=class extends ze{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=st(e,ht("a.monaco-link",{tabIndex:t.tabIndex??0,href:t.href},t.label)),this.hoverDelegate=i.hoverDelegate??Gb("mouse"),this.setTooltip(t.title),this.el.setAttribute("role","button");const r=this._register(new qw(this.el,"click")),a=this._register(new qw(this.el,"keypress")),c=cs.chain(a.event,f=>f.map(p=>new F0(p)).filter(p=>p.keyCode===3)),h=this._register(new qw(this.el,sF.Tap)).event;this._register(ZD.addTarget(this.el));const g=cs.any(r.event,c,h);this._register(g(f=>{this.enabled&&(x_.stop(f,!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)}};Rx=y6([GI(3,Wp),GI(4,Vr)],Rx);var FN=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},HN=function(o,e){return function(t,i){e(t,i,o)}};const S6=26;let Ax=class extends ze{constructor(e,t){super(),this._editor=e,this.instantiationService=t,this.banner=this._register(this.instantiationService.createInstance(Ox))}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,S6)}};Ax=FN([HN(1,ri)],Ax);let Ox=class extends ze{constructor(e){super(),this.instantiationService=e,this.markdownRenderer=this.instantiationService.createInstance(Lg,{}),this.element=ht("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=ht("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=st(this.element,ht("div.icon-container"));i.setAttribute("aria-hidden","true"),e.icon&&i.appendChild(ht(`div${qi.asCSSSelector(e.icon)}`));const n=st(this.element,ht("div.message-container"));if(n.setAttribute("aria-hidden","true"),n.appendChild(this.getBannerMessage(e.message)),this.messageActionsContainer=st(this.element,ht("div.message-actions-container")),e.actions)for(const r of e.actions)this._register(this.instantiationService.createInstance(Rx,this.messageActionsContainer,{...r,tabIndex:-1},{}));const s=st(this.element,ht("div.action-container"));this.actionBar=this._register(new Of(s)),this.actionBar.push(this._register(new Xu("banner.close","Close Banner",qi.asClassName(_E),!0,()=>{typeof e.onClose=="function"&&e.onClose()})),{icon:!0,label:!1}),this.actionBar.setFocusable(!1)}};Ox=FN([HN(0,ri)],Ox);var z1=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Lu=function(o,e){return function(t,i){e(t,i,o)}};const C6=Gn("extensions-warning-message",Xt.warning,w("warningIcon","Icon shown with a warning message in the extensions editor."));var Vu;let mp=(Vu=class extends ze{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:w("unicodeHighlighting.thisDocumentHasManyNonBasicAsciiUnicodeCharacters","This document contains many non-basic ASCII unicode characters"),command:new vp};else if(s.ambiguousCharacterCount>=r)a={message:w("unicodeHighlighting.thisDocumentHasManyAmbiguousUnicodeCharacters","This document contains many ambiguous unicode characters"),command:new gh};else if(s.invisibleCharacterCount>=r)a={message:w("unicodeHighlighting.thisDocumentHasManyInvisibleUnicodeCharacters","This document contains many invisible unicode characters"),command:new _p};else throw new Error("Unreachable");this._bannerController.show({id:"unicodeHighlightBanner",message:a.message,icon:C6,actions:[{label:a.command.shortLabel,href:`command:${a.command.id}`}],onClose:()=>{this._bannerClosed=!0}})}else this._bannerController.hide()},this._bannerController=this._register(n.createInstance(Ax,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=x6(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"?oF:i)};this._editorWorkerService.canComputeUnicodeHighlights(this._editor.getModel().uri)?this._highlighter=new Fx(this._editor,t,this._updateState,this._editorWorkerService):this._highlighter=new L6(this._editor,t,this._updateState)}getDecorationInfo(e){return this._highlighter?this._highlighter.getDecorationInfo(e):null}},Vu.ID="editor.contrib.unicodeHighlighter",Vu);mp=z1([Lu(1,ml),Lu(2,rF),Lu(3,ri)],mp);function x6(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 Fx=class extends ze{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 ds(()=>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:Pv.instance.getDecorationFromOptions(this._options)});this._decorations.set(i)})}getDecorationInfo(e){if(!this._decorations.has(e))return null;const t=this._editor.getModel();if(!aP(t,e))return null;const i=t.getValueInRange(e.range);return{reason:BN(i,this._options),inComment:cP(t,e),inString:lP(t,e)}}};Fx=z1([Lu(3,ml)],Fx);class L6 extends ze{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 ds(()=>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=dP.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:Pv.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 aP(t,e)?{reason:BN(i,this._options),inComment:cP(t,e),inString:lP(t,e)}:null}}const WN=w("unicodeHighlight.configureUnicodeHighlightOptions","Configure Unicode Highlight Options");let Hx=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(mp.ID);if(!n)return[];const s=[],r=new Set;let a=300;for(const c of t){const h=n.getDecorationInfo(c);if(!h)continue;const f=i.getValueInRange(c.range).codePointAt(0),p=Ey(f);let v;switch(h.reason.kind){case 0:{NE(h.reason.confusableWith)?v=w("unicodeHighlight.characterIsAmbiguousASCII","The character {0} could be confused with the ASCII character {1}, which is more common in source code.",p,Ey(h.reason.confusableWith.codePointAt(0))):v=w("unicodeHighlight.characterIsAmbiguous","The character {0} could be confused with the character {1}, which is more common in source code.",p,Ey(h.reason.confusableWith.codePointAt(0)));break}case 1:v=w("unicodeHighlight.characterIsInvisible","The character {0} is invisible.",p);break;case 2:v=w("unicodeHighlight.characterIsNonBasicAscii","The character {0} is not a basic ASCII character.",p);break}if(r.has(v))continue;r.add(v);const _={codePoint:f,reason:h.reason,inComment:h.inComment,inString:h.inString},y=w("unicodeHighlight.adjustSettings","Adjust settings"),S=`command:${Tv.ID}?${encodeURIComponent(JSON.stringify(_))}`,D=new Ms("",!0).appendMarkdown(v).appendText(" ").appendLink(S,y,WN);s.push(new lr(this,c.range,[D],!1,a++))}return s}renderHoverParts(e,t){return ez(e,t,this._editor,this._languageService,this._openerService)}};Hx=z1([Lu(1,Ur),Lu(2,Vr)],Hx);function Wx(o){return`U+${o.toString(16).padStart(4,"0")}`}function Ey(o){let e=`\`${Wx(o)}\``;return hP.isInvisibleCharacter(o)||(e+=` "${`${k6(o)}`}"`),e}function k6(o){return o===96?"`` ` ``":"`"+String.fromCodePoint(o)+"`"}function BN(o,e){return dP.computeUnicodeHighlightReason(o,e)}const kb=class kb{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=Ci.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}};kb.instance=new kb;let Pv=kb;class I6 extends we{constructor(){super({id:gh.ID,label:w("action.unicodeHighlight.disableHighlightingInComments","Disable highlighting of characters in comments"),alias:"Disable highlighting of characters in comments",precondition:void 0}),this.shortLabel=w("unicodeHighlight.disableHighlightingInComments.shortLabel","Disable Highlight In Comments")}async run(e,t,i){const n=e==null?void 0:e.get(Sn);n&&this.runAction(n)}async runAction(e){await e.updateValue(al.includeComments,!1,2)}}class D6 extends we{constructor(){super({id:gh.ID,label:w("action.unicodeHighlight.disableHighlightingInStrings","Disable highlighting of characters in strings"),alias:"Disable highlighting of characters in strings",precondition:void 0}),this.shortLabel=w("unicodeHighlight.disableHighlightingInStrings.shortLabel","Disable Highlight In Strings")}async run(e,t,i){const n=e==null?void 0:e.get(Sn);n&&this.runAction(n)}async runAction(e){await e.updateValue(al.includeStrings,!1,2)}}const Ib=class Ib extends we{constructor(){super({id:Ib.ID,label:w("action.unicodeHighlight.disableHighlightingOfAmbiguousCharacters","Disable highlighting of ambiguous characters"),alias:"Disable highlighting of ambiguous characters",precondition:void 0}),this.shortLabel=w("unicodeHighlight.disableHighlightingOfAmbiguousCharacters.shortLabel","Disable Ambiguous Highlight")}async run(e,t,i){const n=e==null?void 0:e.get(Sn);n&&this.runAction(n)}async runAction(e){await e.updateValue(al.ambiguousCharacters,!1,2)}};Ib.ID="editor.action.unicodeHighlight.disableHighlightingOfAmbiguousCharacters";let gh=Ib;const Db=class Db extends we{constructor(){super({id:Db.ID,label:w("action.unicodeHighlight.disableHighlightingOfInvisibleCharacters","Disable highlighting of invisible characters"),alias:"Disable highlighting of invisible characters",precondition:void 0}),this.shortLabel=w("unicodeHighlight.disableHighlightingOfInvisibleCharacters.shortLabel","Disable Invisible Highlight")}async run(e,t,i){const n=e==null?void 0:e.get(Sn);n&&this.runAction(n)}async runAction(e){await e.updateValue(al.invisibleCharacters,!1,2)}};Db.ID="editor.action.unicodeHighlight.disableHighlightingOfInvisibleCharacters";let _p=Db;const Eb=class Eb extends we{constructor(){super({id:Eb.ID,label:w("action.unicodeHighlight.disableHighlightingOfNonBasicAsciiCharacters","Disable highlighting of non basic ASCII characters"),alias:"Disable highlighting of non basic ASCII characters",precondition:void 0}),this.shortLabel=w("unicodeHighlight.disableHighlightingOfNonBasicAsciiCharacters.shortLabel","Disable Non ASCII Highlight")}async run(e,t,i){const n=e==null?void 0:e.get(Sn);n&&this.runAction(n)}async runAction(e){await e.updateValue(al.nonBasicASCII,!1,2)}};Eb.ID="editor.action.unicodeHighlight.disableHighlightingOfNonBasicAsciiCharacters";let vp=Eb;const Pb=class Pb extends we{constructor(){super({id:Pb.ID,label:w("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,c=String.fromCodePoint(n),h=e.get(gl),g=e.get(Sn);function f(_){return hP.isInvisibleCharacter(_)?w("unicodeHighlight.excludeInvisibleCharFromBeingHighlighted","Exclude {0} (invisible character) from being highlighted",Wx(_)):w("unicodeHighlight.excludeCharFromBeingHighlighted","Exclude {0} from being highlighted",`${Wx(_)} "${c}"`)}const p=[];if(s.kind===0)for(const _ of s.notAmbiguousInLocales)p.push({label:w("unicodeHighlight.allowCommonCharactersInLanguage",'Allow unicode characters that are more common in the language "{0}".',_),run:async()=>{P6(g,[_])}});if(p.push({label:f(n),run:()=>E6(g,[n])}),a){const _=new I6;p.push({label:_.label,run:async()=>_.runAction(g)})}else if(r){const _=new D6;p.push({label:_.label,run:async()=>_.runAction(g)})}if(s.kind===0){const _=new gh;p.push({label:_.label,run:async()=>_.runAction(g)})}else if(s.kind===1){const _=new _p;p.push({label:_.label,run:async()=>_.runAction(g)})}else if(s.kind===2){const _=new vp;p.push({label:_.label,run:async()=>_.runAction(g)})}else T6(s);const v=await h.pick(p,{title:WN});v&&await v.run()}};Pb.ID="editor.action.unicodeHighlight.showExcludeOptions";let Tv=Pb;async function E6(o,e){const t=o.getValue(al.allowedCharacters);let i;typeof t=="object"&&t?i=t:i={};for(const n of e)i[String.fromCodePoint(n)]=!0;await o.updateValue(al.allowedCharacters,i,2)}async function P6(o,e){var n;const t=(n=o.inspect(al.allowedLocales).user)==null?void 0:n.value;let i;typeof t=="object"&&t?i=Object.assign({},t):i={};for(const s of e)i[s]=!0;await o.updateValue(al.allowedLocales,i,2)}function T6(o){throw new Error(`Unexpected value: ${o}`)}ie(gh);ie(_p);ie(vp);ie(Tv);_i(mp.ID,mp,1);Sh.register(Hx);var M6=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},ZI=function(o,e){return function(t,i){e(t,i,o)}};const zN="ignoreUnusualLineTerminators";function N6(o,e,t){o.setModelProperty(e.uri,zN,t)}function R6(o,e){return o.getModelProperty(e.uri,zN)}var ju;let Mv=(ju=class extends ze{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()||R6(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:w("unusualLineTerminators.title","Unusual Line Terminators"),message:w("unusualLineTerminators.message","Detected unusual line terminators"),detail:w("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`.",La(e.uri)),primaryButton:w({key:"unusualLineTerminators.fix",comment:["&& denotes a mnemonic"]},"&&Remove Unusual Line Terminators"),cancelButton:w("unusualLineTerminators.ignore","Ignore")})}finally{this._isPresentingDialog=!1}if(!i.confirmed){N6(this._codeEditorService,e,!0);return}e.removeUnusualLineTerminators(this._editor.getSelections())}},ju.ID="editor.contrib.unusualLineTerminatorsDetector",ju);Mv=M6([ZI(1,W0),ZI(2,Jn)],Mv);_i(Mv.ID,Mv,1);var A6=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},O6=function(o,e){return function(t,i){e(t,i,o)}};class XI{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,sk,!1).map(a=>({range:a.range,kind:P_.Text})):Promise.resolve(n)}provideMultiDocumentHighlights(e,t,i,n){const s=new uc,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 h=a.findMatches(r.word,!0,!1,!0,sk,!1).map(g=>({range:g.range,kind:P_.Text}));h&&s.set(a.uri,h)}return s}}let Bx=class extends ze{constructor(e){super(),this._register(e.documentHighlightProvider.register("*",new XI)),this._register(e.multiDocumentHighlightProvider.register("*",new XI))}};Bx=A6([O6(0,St)],Bx);var VN=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(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)}},qn,zx;const V1=new Di("hasWordHighlights",!1);function jN(o,e,t,i){const n=o.ordered(e);return N0(n.map(s=>()=>Promise.resolve(s.provideDocumentHighlights(e,t,i)).then(void 0,Yn)),s=>s!=null).then(s=>{if(s){const r=new uc;return r.set(e.uri,s),r}return new uc})}function F6(o,e,t,i,n,s){const r=o.ordered(e);return N0(r.map(a=>()=>{const c=s.filter(h=>lF(h)).filter(h=>cF(a.selector,h.uri,h.getLanguageId(),!0,void 0,void 0)>0);return Promise.resolve(a.provideMultiDocumentHighlights(e,t,c,n)).then(void 0,Yn)}),a=>a!=null)}class UN{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=ms(e=>this._compute(this._model,this._selection,this._wordSeparators,e))),this._result}_getCurrentWordRange(e,t){const i=e.getWordAtPosition(t.getPosition());return i?new B(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 c=!!(this._wordRange&&this._wordRange.equalsRange(a));for(let h=0,g=i.length;!c&&h<g;h++){const f=i.getRange(h);f&&f.startLineNumber===n&&f.startColumn<=s&&f.endColumn>=r&&(c=!0)}return c}cancel(){this.result.cancel()}}class H6 extends UN{constructor(e,t,i,n){super(e,t,i),this._providers=n}_compute(e,t,i,n){return jN(this._providers,e,t.getPosition(),n).then(s=>s||new uc)}}class W6 extends UN{constructor(e,t,i,n,s){super(e,t,i),this._providers=n,this._otherModels=s}_compute(e,t,i,n){return F6(this._providers,e,t.getPosition(),i,n,this._otherModels).then(s=>s||new uc)}}function B6(o,e,t,i,n){return new H6(e,t,n,o)}function z6(o,e,t,i,n,s){return new W6(e,t,n,o,s)}Ys("_executeDocumentHighlights",async(o,e,t)=>{const i=o.get(St),n=await jN(i.documentHighlightProvider,e,t,fi.None);return n==null?void 0:n.get(e.uri)});var hc;let Vx=(hc=class{constructor(e,t,i,n,s){this.toUnhook=new He,this.workerRequestTokenId=0,this.workerRequestCompleted=!1,this.workerRequestValue=new uc,this.lastCursorPositionChangeTime=0,this.renderDecorationsTimer=-1,this.runDelayer=this.toUnhook.add(new gc(50)),this.editor=e,this.providers=t,this.multiDocumentProviders=i,this.codeEditorService=s,this._hasWordHighlights=V1.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=>{aF(this.model.uri,"output")||this._stopAll()})),this.toUnhook.add(e.onDidChangeModel(r=>{!r.newModelUrl&&r.oldModelUrl?this._stopSingular():qn.query&&this._run()})),this.toUnhook.add(e.onDidChangeConfiguration(r=>{var c,h;const a=this.editor.getOption(81);if(this.occurrencesHighlight!==a)switch(this.occurrencesHighlight=a,a){case"off":this._stopAll();break;case"singleFile":this._stopAll((h=(c=qn.query)==null?void 0:c.modelInfo)==null?void 0:h.model);break;case"multiFile":qn.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,qn.query&&this._run()}hasDecorations(){return this.decorations.length>0}restore(){this.occurrencesHighlight!=="off"&&(this.runDelayer.cancel(),this._run())}_getSortedHighlights(){return this.decorations.getRanges().sort(B.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);gr(`${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);gr(`${r}, ${i+1} of ${e.length} for '${s.word}'`)}}finally{this._ignorePositionChangeEvent=!1}}_removeSingleDecorations(){if(!this.editor.hasModel())return;const e=qn.storedDecorationIDs.get(this.editor.getModel().uri);e&&(this.editor.removeDecorations(e),qn.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()||S_(n.getModel().uri,e==null?void 0:e.uri))continue;const s=qn.storedDecorationIDs.get(n.getModel().uri);if(!s)continue;n.removeDecorations(s),i.push(n.getModel().uri);const r=wc.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)qn.storedDecorationIDs.delete(n)}_stopSingular(){var e,t,i,n;this._removeSingleDecorations(),this.editor.hasTextFocus()&&(((e=this.editor.getModel())==null?void 0:e.uri.scheme)!==js.vscodeNotebookCell&&((i=(t=qn.query)==null?void 0:t.modelInfo)==null?void 0:i.model.uri.scheme)!==js.vscodeNotebookCell?(qn.query=null,this._run()):(n=qn.query)!=null&&n.modelInfo&&(qn.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)!==js.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===js.vscodeNotebookCell){const s=[],r=this.codeEditorService.listCodeEditors();for(const a of r){const c=a.getModel();c&&c!==e&&c.uri.scheme===js.vscodeNotebookCell&&s.push(c)}return s}const i=[],n=this.codeEditorService.listCodeEditors();for(const s of n){if(!uP(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){qn.query=null,this._stopAll();return}const a=r.startColumn,c=r.endColumn,h=this._getWord();if(!h||h.startColumn>a||h.endColumn<c){qn.query=null,this._stopAll();return}t=this.workerRequest&&this.workerRequest.isValid(this.model,r,this.decorations),qn.query={modelInfo:{model:this.model,selection:r},word:h}}else if(!qn.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(S_(this.editor.getModel().uri,(n=qn.query.modelInfo)==null?void 0:n.model.uri)){if(!e){const c=this.decorations.getRanges();for(const h of c)if(h.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(!qn.query||!qn.query.modelInfo||qn.query.modelInfo.model.isDisposed())return;this.workerRequest=this.computeWithModel(qn.query.modelInfo.model,qn.query.modelInfo.selection,qn.query.word,a),(s=this.workerRequest)==null||s.result.then(c=>{r===this.workerRequestTokenId&&(this.workerRequestCompleted=!0,this.workerRequestValue=c||[],this._beginRenderDecorations())},cn)}}computeWithModel(e,t,i,n){return n.length?z6(this.multiDocumentProviders,e,t,i,this.editor.getOption(132),n):B6(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=wc.get(s);if(!r)continue;const a=[],c=(t=s.getModel())==null?void 0:t.uri;if(c&&this.workerRequestValue.has(c)){const h=qn.storedDecorationIDs.get(c),g=this.workerRequestValue.get(c);if(g)for(const p of g)p.range&&a.push({range:p.range,options:E$(p.kind)});let f=[];s.changeDecorations(p=>{f=p.deltaDecorations(h??[],a)}),qn.storedDecorationIDs=qn.storedDecorationIDs.set(c,f),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()}},qn=hc,hc.storedDecorationIDs=new uc,hc.query=null,hc);Vx=qn=VN([m_(4,Jn)],Vx);var Kd;let wc=(Kd=class extends ze{static get(e){return e.getContribution(zx.ID)}constructor(e,t,i,n){super(),this._wordHighlighter=null;const s=()=>{e.hasModel()&&!e.getModel().isTooLargeForTokenization()&&(this._wordHighlighter=new Vx(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()}},zx=Kd,Kd.ID="editor.contrib.wordHighlighter",Kd);wc=zx=VN([m_(1,Fi),m_(2,St),m_(3,Jn)],wc);class $N extends we{constructor(e,t){super(t),this._isNext=e}run(e,t){const i=wc.get(t);i&&(this._isNext?i.moveNext():i.moveBack())}}class V6 extends $N{constructor(){super(!0,{id:"editor.action.wordHighlight.next",label:w("wordHighlight.next.label","Go to Next Symbol Highlight"),alias:"Go to Next Symbol Highlight",precondition:V1,kbOpts:{kbExpr:M.editorTextFocus,primary:65,weight:100}})}}class j6 extends $N{constructor(){super(!1,{id:"editor.action.wordHighlight.prev",label:w("wordHighlight.previous.label","Go to Previous Symbol Highlight"),alias:"Go to Previous Symbol Highlight",precondition:V1,kbOpts:{kbExpr:M.editorTextFocus,primary:1089,weight:100}})}}class U6 extends we{constructor(){super({id:"editor.action.wordHighlight.trigger",label:w("wordHighlight.trigger.label","Trigger Symbol Highlight"),alias:"Trigger Symbol Highlight",precondition:void 0,kbOpts:{kbExpr:M.editorTextFocus,primary:0,weight:100}})}run(e,t,i){const n=wc.get(t);n&&n.restoreViewState(!0)}}_i(wc.ID,wc,0);ie(V6);ie(j6);ie(U6);xg(Bx);class Ew extends Xs{constructor(e){super(e),this._inSelectionMode=e.inSelectionMode,this._wordNavigationType=e.wordNavigationType}runEditorCommand(e,t,i){if(!t.hasModel())return;const n=bh(t.getOption(132),t.getOption(131)),s=t.getModel(),r=t.getSelections(),a=r.length>1,c=r.map(h=>{const g=new yt(h.positionLineNumber,h.positionColumn),f=this._move(n,s,g,this._wordNavigationType,a);return this._moveTo(h,f,this._inSelectionMode)});if(s.pushStackElement(),t._getViewModel().setCursorStates("moveWordCommand",3,c.map(h=>dF.fromModelSelection(h))),c.length===1){const h=new yt(c[0].positionLineNumber,c[0].positionColumn);t.revealPosition(h,0)}}_moveTo(e,t,i){return i?new jt(e.selectionStartLineNumber,e.selectionStartColumn,t.lineNumber,t.column):new jt(t.lineNumber,t.column,t.lineNumber,t.column)}}class xc extends Ew{_move(e,t,i,n,s){return Up.moveWordLeft(e,t,i,n,s)}}class Lc extends Ew{_move(e,t,i,n,s){return Up.moveWordRight(e,t,i,n)}}class $6 extends xc{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordStartLeft",precondition:void 0})}}class q6 extends xc{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordEndLeft",precondition:void 0})}}class K6 extends xc{constructor(){var e;super({inSelectionMode:!1,wordNavigationType:1,id:"cursorWordLeft",precondition:void 0,kbOpts:{kbExpr:oe.and(M.textInputFocus,(e=oe.and(Jb,Qb))==null?void 0:e.negate()),primary:2063,mac:{primary:527},weight:100}})}}class G6 extends xc{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordStartLeftSelect",precondition:void 0})}}class Z6 extends xc{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordEndLeftSelect",precondition:void 0})}}class X6 extends xc{constructor(){var e;super({inSelectionMode:!0,wordNavigationType:1,id:"cursorWordLeftSelect",precondition:void 0,kbOpts:{kbExpr:oe.and(M.textInputFocus,(e=oe.and(Jb,Qb))==null?void 0:e.negate()),primary:3087,mac:{primary:1551},weight:100}})}}class Y6 extends xc{constructor(){super({inSelectionMode:!1,wordNavigationType:3,id:"cursorWordAccessibilityLeft",precondition:void 0})}_move(e,t,i,n,s){return super._move(bh(ew.wordSeparators.defaultValue,e.intlSegmenterLocales),t,i,n,s)}}class J6 extends xc{constructor(){super({inSelectionMode:!0,wordNavigationType:3,id:"cursorWordAccessibilityLeftSelect",precondition:void 0})}_move(e,t,i,n,s){return super._move(bh(ew.wordSeparators.defaultValue,e.intlSegmenterLocales),t,i,n,s)}}class Q6 extends Lc{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordStartRight",precondition:void 0})}}class e7 extends Lc{constructor(){var e;super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordEndRight",precondition:void 0,kbOpts:{kbExpr:oe.and(M.textInputFocus,(e=oe.and(Jb,Qb))==null?void 0:e.negate()),primary:2065,mac:{primary:529},weight:100}})}}class t7 extends Lc{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordRight",precondition:void 0})}}class i7 extends Lc{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordStartRightSelect",precondition:void 0})}}class n7 extends Lc{constructor(){var e;super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordEndRightSelect",precondition:void 0,kbOpts:{kbExpr:oe.and(M.textInputFocus,(e=oe.and(Jb,Qb))==null?void 0:e.negate()),primary:3089,mac:{primary:1553},weight:100}})}}class s7 extends Lc{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordRightSelect",precondition:void 0})}}class o7 extends Lc{constructor(){super({inSelectionMode:!1,wordNavigationType:3,id:"cursorWordAccessibilityRight",precondition:void 0})}_move(e,t,i,n,s){return super._move(bh(ew.wordSeparators.defaultValue,e.intlSegmenterLocales),t,i,n,s)}}class r7 extends Lc{constructor(){super({inSelectionMode:!0,wordNavigationType:3,id:"cursorWordAccessibilityRightSelect",precondition:void 0})}_move(e,t,i,n,s){return super._move(bh(ew.wordSeparators.defaultValue,e.intlSegmenterLocales),t,i,n,s)}}class Pw extends Xs{constructor(e){super(e),this._whitespaceHeuristics=e.whitespaceHeuristics,this._wordNavigationType=e.wordNavigationType}runEditorCommand(e,t,i){const n=e.get(ps);if(!t.hasModel())return;const s=bh(t.getOption(132),t.getOption(131)),r=t.getModel(),a=t.getSelections(),c=t.getOption(6),h=t.getOption(11),g=n.getLanguageConfiguration(r.getLanguageId()).getAutoClosingPairs(),f=t._getViewModel(),p=a.map(v=>{const _=this._delete({wordSeparators:s,model:r,selection:v,whitespaceHeuristics:this._whitespaceHeuristics,autoClosingDelete:t.getOption(9),autoClosingBrackets:c,autoClosingQuotes:h,autoClosingPairs:g,autoClosedCharacters:f.getCursorAutoClosedCharacters()},this._wordNavigationType);return new Pp(_,"")});t.pushUndoStop(),t.executeCommands(this.id,p),t.pushUndoStop()}}class j1 extends Pw{_delete(e,t){const i=Up.deleteWordLeft(e,t);return i||new B(1,1,1,1)}}class U1 extends Pw{_delete(e,t){const i=Up.deleteWordRight(e,t);if(i)return i;const n=e.model.getLineCount(),s=e.model.getLineMaxColumn(n);return new B(n,s,n,s)}}class a7 extends j1{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:0,id:"deleteWordStartLeft",precondition:M.writable})}}class l7 extends j1{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:2,id:"deleteWordEndLeft",precondition:M.writable})}}class c7 extends j1{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:0,id:"deleteWordLeft",precondition:M.writable,kbOpts:{kbExpr:M.textInputFocus,primary:2049,mac:{primary:513},weight:100}})}}class d7 extends U1{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:0,id:"deleteWordStartRight",precondition:M.writable})}}class h7 extends U1{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:2,id:"deleteWordEndRight",precondition:M.writable})}}class u7 extends U1{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:2,id:"deleteWordRight",precondition:M.writable,kbOpts:{kbExpr:M.textInputFocus,primary:2068,mac:{primary:532},weight:100}})}}class g7 extends we{constructor(){super({id:"deleteInsideWord",precondition:M.writable,label:w("deleteInsideWord","Delete Word"),alias:"Delete Word"})}run(e,t,i){if(!t.hasModel())return;const n=bh(t.getOption(132),t.getOption(131)),s=t.getModel(),a=t.getSelections().map(c=>{const h=Up.deleteInsideWord(n,s,c);return new Pp(h,"")});t.pushUndoStop(),t.executeCommands(this.id,a),t.pushUndoStop()}}Lt(new $6);Lt(new q6);Lt(new K6);Lt(new G6);Lt(new Z6);Lt(new X6);Lt(new Q6);Lt(new e7);Lt(new t7);Lt(new i7);Lt(new n7);Lt(new s7);Lt(new Y6);Lt(new J6);Lt(new o7);Lt(new r7);Lt(new a7);Lt(new l7);Lt(new c7);Lt(new d7);Lt(new h7);Lt(new u7);ie(g7);class f7 extends Pw{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:0,id:"deleteWordPartLeft",precondition:M.writable,kbOpts:{kbExpr:M.textInputFocus,primary:0,mac:{primary:769},weight:100}})}_delete(e,t){const i=tw.deleteWordPartLeft(e);return i||new B(1,1,1,1)}}class p7 extends Pw{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:2,id:"deleteWordPartRight",precondition:M.writable,kbOpts:{kbExpr:M.textInputFocus,primary:0,mac:{primary:788},weight:100}})}_delete(e,t){const i=tw.deleteWordPartRight(e);if(i)return i;const n=e.model.getLineCount(),s=e.model.getLineMaxColumn(n);return new B(n,s,n,s)}}class qN extends Ew{_move(e,t,i,n,s){return tw.moveWordPartLeft(e,t,i,s)}}class m7 extends qN{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordPartLeft",precondition:void 0,kbOpts:{kbExpr:M.textInputFocus,primary:0,mac:{primary:783},weight:100}})}}fn.registerCommandAlias("cursorWordPartStartLeft","cursorWordPartLeft");class _7 extends qN{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordPartLeftSelect",precondition:void 0,kbOpts:{kbExpr:M.textInputFocus,primary:0,mac:{primary:1807},weight:100}})}}fn.registerCommandAlias("cursorWordPartStartLeftSelect","cursorWordPartLeftSelect");class KN extends Ew{_move(e,t,i,n,s){return tw.moveWordPartRight(e,t,i)}}class v7 extends KN{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordPartRight",precondition:void 0,kbOpts:{kbExpr:M.textInputFocus,primary:0,mac:{primary:785},weight:100}})}}class b7 extends KN{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordPartRightSelect",precondition:void 0,kbOpts:{kbExpr:M.textInputFocus,primary:0,mac:{primary:1809},weight:100}})}}Lt(new f7);Lt(new p7);Lt(new m7);Lt(new _7);Lt(new v7);Lt(new b7);const sL=class sL extends ze{constructor(e){super(),this.editor=e,this._register(this.editor.onDidAttemptReadOnlyEdit(()=>this._onDidAttemptReadOnlyEdit()))}_onDidAttemptReadOnlyEdit(){const e=ro.get(this.editor);if(e&&this.editor.hasModel()){let t=this.editor.getOptions().get(93);t||(this.editor.isSimpleWidget?t=new Ms(w("editor.simple.readonly","Cannot edit in read-only input")):t=new Ms(w("editor.readonly","Cannot edit in read-only editor"))),e.showMessage(t,this.editor.getPosition())}}};sL.ID="editor.contrib.readOnlyMessageController";let Nv=sL;_i(Nv.ID,Nv,2);var w7=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},YI=function(o,e){return function(t,i){e(t,i,o)}};let jx=class extends ze{constructor(e,t,i){super(),this._textModel=e,this._languageFeaturesService=t,this._outlineModelService=i,this._currentModel=xo(this,void 0);const n=td("documentSymbolProvider.onDidChange",this._languageFeaturesService.documentSymbolProvider.onDidChange),s=td("_textModel.onDidChangeContent",cs.debounce(r=>this._textModel.onDidChangeContent(r),()=>{},100));this._register(Fp(async(r,a)=>{n.read(r),s.read(r);const c=a.add(new gF),h=await this._outlineModelService.getOrCreate(this._textModel,c.token);a.isDisposed||this._currentModel.set(h,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(uF(Bp(s=>s.range.endLineNumber-s.range.startLineNumber,$b))),n.map(s=>({name:s.name,kind:s.kind,startLineNumber:s.range.startLineNumber}))}};jx=w7([YI(1,St),YI(2,nm)],jx);hF.setBreadcrumbsSourceFactory((o,e)=>e.createInstance(jx,o));const oL=class oL extends ze{constructor(e){super(),this.editor=e,this.widget=null,Uy&&(this._register(e.onDidChangeConfiguration(()=>this.update())),this.update())}update(){const e=!this.editor.getOption(92);!this.widget&&e?this.widget=new Ux(this.editor):this.widget&&!e&&(this.widget.dispose(),this.widget=null)}dispose(){super.dispose(),this.widget&&(this.widget.dispose(),this.widget=null)}};oL.ID="editor.contrib.iPadShowKeyboard";let Rv=oL;const Tb=class Tb extends ze{constructor(e){super(),this.editor=e,this._domNode=document.createElement("textarea"),this._domNode.className="iPadShowKeyboard",this._register(Oi(this._domNode,"touchstart",t=>{this.editor.focus()})),this._register(Oi(this._domNode,"focus",t=>{this.editor.focus()})),this.editor.addOverlayWidget(this)}dispose(){this.editor.removeOverlayWidget(this),super.dispose()}getId(){return Tb.ID}getDomNode(){return this._domNode}getPosition(){return{preference:1}}};Tb.ID="editor.contrib.ShowKeyboardWidget";let Ux=Tb;_i(Rv.ID,Rv,3);var y7=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},JI=function(o,e){return function(t,i){e(t,i,o)}},$x,Gd;let bp=(Gd=class extends ze{static get(e){return e.getContribution($x.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(Kb.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 qx(this._editor,this._languageService))}stop(){this._widget&&(this._widget.dispose(),this._widget=null)}},$x=Gd,Gd.ID="editor.contrib.inspectTokens",Gd);bp=$x=y7([JI(1,gP),JI(2,Ur)],bp);class S7 extends we{constructor(){super({id:"editor.action.inspectTokens",label:_F.inspectTokensAction,alias:"Developer: Inspect Tokens",precondition:void 0})}run(e,t){const i=bp.get(t);i==null||i.launch()}}function C7(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 x7(o,e){const t=Kb.get(e);if(t)return t;const i=o.encodeLanguageId(e);return{getInitialState:()=>fF,tokenize:(n,s,r)=>mF(e,r),tokenizeEncoded:(n,s,r)=>pF(i,r)}}const Mb=class Mb extends ze{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=x7(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 Mb._ID}_compute(e){const t=this._getTokensAtLine(e.lineNumber);let i=0;for(let c=t.tokens1.length-1;c>=0;c--){const h=t.tokens1[c];if(e.column-1>=h.offset){i=c;break}}let n=0;for(let c=t.tokens2.length>>>1;c>=0;c--)if(e.column-1>=t.tokens2[c<<1]){n=c;break}const s=this._model.getLineContent(e.lineNumber);let r="";if(i<t.tokens1.length){const c=t.tokens1[i].offset,h=i+1<t.tokens1.length?t.tokens1[i+1].offset:s.length;r=s.substring(c,h)}C_(this._domNode,ht("h2.tm-token",void 0,C7(r),ht("span.tm-token-length",void 0,`${r.length} ${r.length===1?"char":"chars"}`))),st(this._domNode,ht("hr.tokens-inspect-separator",{style:"clear:both"}));const a=(n<<1)+1<t.tokens2.length?this._decodeMetadata(t.tokens2[(n<<1)+1]):null;st(this._domNode,ht("table.tm-metadata-table",void 0,ht("tbody",void 0,ht("tr",void 0,ht("td.tm-metadata-key",void 0,"language"),ht("td.tm-metadata-value",void 0,`${a?a.languageId:"-?-"}`)),ht("tr",void 0,ht("td.tm-metadata-key",void 0,"token type"),ht("td.tm-metadata-value",void 0,`${a?this._tokenTypeToString(a.tokenType):"-?-"}`)),ht("tr",void 0,ht("td.tm-metadata-key",void 0,"font style"),ht("td.tm-metadata-value",void 0,`${a?this._fontStyleToString(a.fontStyle):"-?-"}`)),ht("tr",void 0,ht("td.tm-metadata-key",void 0,"foreground"),ht("td.tm-metadata-value",void 0,`${a?wi.Format.CSS.formatHex(a.foreground):"-?-"}`)),ht("tr",void 0,ht("td.tm-metadata-key",void 0,"background"),ht("td.tm-metadata-value",void 0,`${a?wi.Format.CSS.formatHex(a.background):"-?-"}`))))),st(this._domNode,ht("hr.tokens-inspect-separator")),i<t.tokens1.length&&st(this._domNode,ht("span.tm-token-type",void 0,t.tokens1[i].type)),this._editor.layoutContentWidget(this)}_decodeMetadata(e){const t=Kb.getColorMap(),i=zg.getLanguageId(e),n=zg.getTokenType(e),s=zg.getFontStyle(e),r=zg.getForeground(e),a=zg.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]}}};Mb._ID="editor.contrib.inspectTokensWidget";let qx=Mb;_i(bp.ID,bp,4);ie(S7);var L7=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},QI=function(o,e){return function(t,i){e(t,i,o)}},uf,Zd;let Kx=(Zd=class{constructor(e,t){this.quickInputService=e,this.keybindingService=t,this.registry=zr.as($p.Quickaccess)}provide(e){const t=new He;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(uf.PREFIX.length));n&&n.prefix&&n.prefix!==uf.PREFIX&&this.quickInputService.quickAccess.show(n.prefix,{preserveValue:!0})})),e.items=this.getQuickAccessProviders().filter(i=>i.prefix!==uf.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:w("helpPickAriaLabel","{0}, {1}",n,t.description),description:t.description}})}},uf=Zd,Zd.PREFIX="?",Zd);Kx=uf=L7([QI(0,gl),QI(1,is)],Kx);zr.as($p.Quickaccess).registerQuickAccessProvider({ctor:Kx,prefix:"",helpEntries:[{description:vF.helpQuickAccessActionLabel}]});class GN{constructor(e){this.options=e,this.rangeHighlightDecorationId=void 0}provide(e,t,i){var r;const n=new He;e.canAcceptInBackground=!!((r=this.options)!=null&&r.canAcceptInBackground),e.matchOnLabel=e.matchOnDescription=e.matchOnDetail=e.sortByLabel=!1;const s=n.add(new ko);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 He,s=this.activeTextEditorControl;if(s&&this.canProvideWithTextEditor(s)){const r={editor:s},a=fP(s);if(a){let c=s.saveViewState()??void 0;n.add(a.onDidChangeCursorPosition(()=>{c=s.saveViewState()??void 0})),r.restoreViewState=()=>{c&&s===this.activeTextEditorControl&&s.restoreViewState(c)},n.add(pP(t.onCancellationRequested)(()=>{var h;return(h=r.restoreViewState)==null?void 0:h.call(r)}))}n.add(wn(()=>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&&Ku(`${i.getLineContent(t.range.startLineNumber)}`)}getModel(e){var t;return uP(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:as(wE),position:ba.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 Nb=class Nb extends GN{constructor(){super({canAcceptInBackground:!0})}provideWithoutTextEditor(e){const t=w("cannotRunGotoLine","Open a text editor first to go to a line.");return e.items=[{label:t}],e.ariaLabel=t,ze.None}provideWithTextEditor(e,t,i){const n=e.editor,s=new He;s.add(t.onDidAccept(c=>{const[h]=t.selectedItems;if(h){if(!this.isValidLineNumber(n,h.lineNumber))return;this.gotoLocation(e,{range:this.toRange(h.lineNumber,h.column),keyMods:t.keyMods,preserveFocus:c.inBackground}),c.inBackground||t.hide()}}));const r=()=>{const c=this.parsePosition(n,t.value.trim().substr(Nb.PREFIX.length)),h=this.getPickLabel(n,c.lineNumber,c.column);if(t.items=[{lineNumber:c.lineNumber,column:c.column,label:h}],t.ariaLabel=h,!this.isValidLineNumber(n,c.lineNumber)){this.clearDecorations(n);return}const g=this.toRange(c.lineNumber,c.column);n.revealRangeInCenter(g,0),this.addDecorations(n,g)};r(),s.add(t.onDidChangeValue(()=>r()));const a=fP(n);return a&&a.getOptions().get(68).renderType===2&&(a.updateOptions({lineNumbers:"on"}),s.add(wn(()=>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)?w("gotoLineColumnLabel","Go to line {0} and character {1}.",t,i):w("gotoLineLabel","Go to line {0}.",t);const n=e.getPosition()||{lineNumber:1,column:1},s=this.lineCount(e);return s>1?w("gotoLineLabelEmptyWithLimit","Current Line: {0}, Character: {1}. Type a line number between 1 and {2} to navigate to.",n.lineNumber,n.column,s):w("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}};Nb.PREFIX=":";let Gx=Nb;var k7=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},I7=function(o,e){return function(t,i){e(t,i,o)}};let wp=class extends Gx{constructor(e){super(),this.editorService=e,this.onDidActiveTextEditorControlChange=cs.None}get activeTextEditorControl(){return this.editorService.getFocusedCodeEditor()??void 0}};wp=k7([I7(0,Jn)],wp);var Xd;let ZN=(Xd=class extends we{constructor(){super({id:Xd.ID,label:mP.gotoLineActionLabel,alias:"Go to Line/Column...",precondition:void 0,kbOpts:{kbExpr:M.focus,primary:2085,mac:{primary:293},weight:100}})}run(e){e.get(gl).quickAccess.show(wp.PREFIX)}},Xd.ID="editor.action.gotoLine",Xd);ie(ZN);zr.as($p.Quickaccess).registerQuickAccessProvider({ctor:wp,prefix:wp.PREFIX,helpEntries:[{description:mP.gotoLineActionLabel,commandId:ZN.ID}]});const XN=[void 0,[]];function Py(o,e,t=0,i=0){const n=e;return n.values&&n.values.length>1?D7(o,n.values,t,i):YN(o,e,t,i)}function D7(o,e,t,i){let n=0;const s=[];for(const r of e){const[a,c]=YN(o,r,t,i);if(typeof a!="number")return XN;n+=a,s.push(...c)}return[n,E7(s)]}function YN(o,e,t,i){const n=WE(e.original,e.originalLowercase,t,o,o.toLowerCase(),i,{firstMatchCanBeWeak:!0,boostFullMatch:!0});return n?[n[0],qb(n)]:XN}function E7(o){const e=o.sort((n,s)=>n.start-s.start),t=[];let i;for(const n of e)!i||!P7(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 P7(o,e){return!(o.end<e.start||e.end<o.start)}function eD(o){return o.startsWith('"')&&o.endsWith('"')}const JN=" ";function Zx(o){typeof o!="string"&&(o="");const e=o.toLowerCase(),{pathNormalized:t,normalized:i,normalizedLowercase:n}=tD(o),s=t.indexOf(Jy)>=0,r=eD(o);let a;const c=o.split(JN);if(c.length>1)for(const h of c){const g=eD(h),{pathNormalized:f,normalized:p,normalizedLowercase:v}=tD(h);p&&(a||(a=[]),a.push({original:h,originalLowercase:h.toLowerCase(),pathNormalized:f,normalized:p,normalizedLowercase:v,expectContiguousMatch:g}))}return{original:o,originalLowercase:e,pathNormalized:t,normalized:i,normalizedLowercase:n,values:a,containsPathSeparator:s,expectContiguousMatch:r}}function tD(o){let e;Fb?e=o.replace(/\//g,Jy):e=o.replace(/\\/g,Jy);const t=bF(e).replace(/\s|"/g,"");return{pathNormalized:e,normalized:t,normalizedLowercase:t.toLowerCase()}}function iD(o){return Array.isArray(o)?Zx(o.map(e=>e.original).join(JN)):Zx(o.original)}var T7=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},nD=function(o,e){return function(t,i){e(t,i,o)}},__,Nr;let cd=(Nr=class extends GN{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,w("cannotRunGotoSymbolWithoutEditor","To go to a symbol, first open a text editor with symbol information.")),ze.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):ze.None}doProvideWithoutEditorSymbols(e,t,i,n){const s=new He;return this.provideLabelPick(i,w("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 Hb,n=t.add(this._languageFeaturesService.documentSymbolProvider.onDidChange(()=>{this._languageFeaturesService.documentSymbolProvider.has(e)&&(n.dispose(),i.complete(!0))}));return t.add(wn(()=>i.complete(!1))),i.p}doProvideWithEditorSymbols(e,t,i,n,s){var f;const r=e.editor,a=new He;a.add(i.onDidAccept(p=>{var _;const[v]=i.selectedItems;v&&v.range&&(this.gotoLocation(e,{range:v.range.selection,keyMods:i.keyMods,preserveFocus:p.inBackground}),(_=s==null?void 0:s.handleAccept)==null||_.call(s,v),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 c=this.getDocumentSymbols(t,n);let h;const g=async p=>{h==null||h.dispose(!0),i.busy=!1,h=new _s(n),i.busy=!0;try{const v=Zx(i.value.substr(__.PREFIX.length).trim()),_=await this.doGetSymbolPicks(c,v,void 0,h.token,t);if(n.isCancellationRequested)return;if(_.length>0){if(i.items=_,p&&v.original.length===0){const y=CF(_,S=>!!(S.type!=="separator"&&S.range&&B.containsPosition(S.range.decoration,p)));y&&(i.activeItems=[y])}}else v.original.length>0?this.provideLabelPick(i,w("noMatchingSymbolResults","No matching editor symbols")):this.provideLabelPick(i,w("noSymbolResults","No editor symbols"))}finally{n.isCancellationRequested||(i.busy=!1)}};return a.add(i.onDidChangeValue(()=>g(void 0))),g((f=r.getSelection())==null?void 0:f.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 S,D;const r=await e;if(n.isCancellationRequested)return[];const a=t.original.indexOf(__.SCOPE_PREFIX)===0,c=a?1:0;let h,g;t.values&&t.values.length>1?(h=iD(t.values[0]),g=iD(t.values.slice(1))):h=t;let f;const p=(D=(S=this.options)==null?void 0:S.openSideBySideDirection)==null?void 0:D.call(S);p&&(f=[{iconClass:p==="right"?qi.asClassName(Xt.splitHorizontal):qi.asClassName(Xt.splitVertical),tooltip:p==="right"?w("openToSide","Open to the Side"):w("openToBottom","Open to the Bottom")}]);const v=[];for(let P=0;P<r.length;P++){const N=r[P],j=wF(N.name),H=`$(${yF.toIcon(N.kind).id}) ${j}`,ee=H.length-j.length;let X=N.containerName;i!=null&&i.extraContainerLabel&&(X?X=`${i.extraContainerLabel} • ${X}`:X=i.extraContainerLabel);let pe,be,Te,xe;if(t.original.length>c){let Pt=!1;if(h!==t&&([pe,be]=Py(H,{...t,values:void 0},c,ee),typeof pe=="number"&&(Pt=!0)),typeof pe!="number"&&([pe,be]=Py(H,h,c,ee),typeof pe!="number"))continue;if(!Pt&&g){if(X&&g.original.length>0&&([Te,xe]=Py(X,g)),typeof Te!="number")continue;typeof pe=="number"&&(pe+=Te)}}const ct=N.tags&&N.tags.indexOf(1)>=0;v.push({index:P,kind:N.kind,score:pe,label:H,ariaLabel:SF(N.name,N.kind),description:X,highlights:ct?void 0:{label:be,description:xe},range:{selection:B.collapseToStart(N.selectionRange),decoration:N.range},uri:s.uri,symbolName:j,strikethrough:ct,buttons:f})}const _=v.sort((P,N)=>a?this.compareByKindAndScore(P,N):this.compareByScore(P,N));let y=[];if(a){let H=function(){N&&typeof P=="number"&&j>0&&(N.label=D0(My[P]||Ty,j))},P,N,j=0;for(const ee of _)P!==ee.kind?(H(),P=ee.kind,j=1,N={type:"separator"},y.push(N)):j++,y.push(ee);H()}else _.length>0&&(y=[{label:w("symbols","symbols ({0})",v.length),type:"separator"},..._]);return y}compareByScore(e,t){if(typeof e.score!="number"&&typeof t.score=="number")return 1;if(typeof e.score=="number"&&typeof t.score!="number")return-1;if(typeof e.score=="number"&&typeof t.score=="number"){if(e.score>t.score)return-1;if(e.score<t.score)return 1}return e.index<t.index?-1:e.index>t.index?1:0}compareByKindAndScore(e,t){const i=My[e.kind]||Ty,n=My[t.kind]||Ty,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()}},__=Nr,Nr.PREFIX="@",Nr.SCOPE_PREFIX=":",Nr.PREFIX_BY_CATEGORY=`${Nr.PREFIX}${Nr.SCOPE_PREFIX}`,Nr);cd=__=T7([nD(0,St),nD(1,nm)],cd);const Ty=w("property","properties ({0})"),My={5:w("method","methods ({0})"),11:w("function","functions ({0})"),8:w("_constructor","constructors ({0})"),12:w("variable","variables ({0})"),4:w("class","classes ({0})"),22:w("struct","structs ({0})"),23:w("event","events ({0})"),24:w("operator","operators ({0})"),10:w("interface","interfaces ({0})"),2:w("namespace","namespaces ({0})"),3:w("package","packages ({0})"),25:w("typeParameter","type parameters ({0})"),1:w("modules","modules ({0})"),6:w("property","properties ({0})"),9:w("enum","enumerations ({0})"),21:w("enumMember","enumeration members ({0})"),14:w("string","strings ({0})"),0:w("file","files ({0})"),17:w("array","arrays ({0})"),15:w("number","numbers ({0})"),16:w("boolean","booleans ({0})"),18:w("object","objects ({0})"),19:w("key","keys ({0})"),7:w("field","fields ({0})"),13:w("constant","constants ({0})")};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},Ny=function(o,e){return function(t,i){e(t,i,o)}};let Xx=class extends cd{constructor(e,t,i){super(t,i),this.editorService=e,this.onDidActiveTextEditorControlChange=cs.None}get activeTextEditorControl(){return this.editorService.getFocusedCodeEditor()??void 0}};Xx=M7([Ny(0,Jn),Ny(1,St),Ny(2,nm)],Xx);const Rb=class Rb extends we{constructor(){super({id:Rb.ID,label:Qy.quickOutlineActionLabel,alias:"Go to Symbol...",precondition:M.hasDocumentSymbolProvider,kbOpts:{kbExpr:M.focus,primary:3117,weight:100},contextMenuOpts:{group:"navigation",order:3}})}run(e){e.get(gl).quickAccess.show(cd.PREFIX,{itemActivation:xF.NONE})}};Rb.ID="editor.action.quickOutline";let Av=Rb;ie(Av);zr.as($p.Quickaccess).registerQuickAccessProvider({ctor:Xx,prefix:cd.PREFIX,helpEntries:[{description:Qy.quickOutlineActionLabel,prefix:cd.PREFIX,commandId:Av.ID},{description:Qy.quickOutlineByCategoryActionLabel,prefix:cd.PREFIX_BY_CATEGORY}]});function N7(o){const e=new Map;for(const t of o)e.set(t,(e.get(t)??0)+1);return e}class Pf{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 c of a.chunks){const h=this.computeSimilarityScore(c,i,n);h>0&&s.push({key:r,score:h})}}return s}static termFrequencies(e){return N7(Pf.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=Pf.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 c=i.get(s);typeof c!="number"&&(c=this.computeIdf(s),i.set(s,c));const h=a*c;n+=h*r}return n}computeEmbedding(e){const t=Pf.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 R7(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 fu;(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"})(fu||(fu={}));function Ry(o){return Array.isArray(o.items)}function sD(o){const e=o;return!!e.picks&&e.additionalPicks instanceof Promise}class A7 extends ze{constructor(e,t){super(),this.prefix=e,this.options=t}provide(e,t,i){var h;const n=new He;e.canAcceptInBackground=!!((h=this.options)!=null&&h.canAcceptInBackground),e.matchOnLabel=e.matchOnDescription=e.matchOnDetail=e.sortByLabel=!1;let s;const r=n.add(new ko),a=async()=>{var S;const g=r.value=new He;s==null||s.dispose(!0),e.busy=!1,s=new _s(t);const f=s.token;let p=e.value.substring(this.prefix.length);(S=this.options)!=null&&S.shouldSkipTrimPickFilter||(p=p.trim());const v=this._getPicks(p,g,f,i),_=(D,P)=>{var H;let N,j;if(Ry(D)?(N=D.items,j=D.active):N=D,N.length===0){if(P)return!1;(p.length>0||e.hideInput)&&((H=this.options)!=null&&H.noResultsPick)&&(LF(this.options.noResultsPick)?N=[this.options.noResultsPick(p)]:N=[this.options.noResultsPick])}return e.items=N,j&&(e.activeItems=[j]),!0},y=async D=>{let P=!1,N=!1;await Promise.all([(async()=>{typeof D.mergeDelay=="number"&&(await Xb(D.mergeDelay),f.isCancellationRequested)||N||(P=_(D.picks,!0))})(),(async()=>{e.busy=!0;try{const j=await D.additionalPicks;if(f.isCancellationRequested)return;let H,ee;Ry(D.picks)?(H=D.picks.items,ee=D.picks.active):H=D.picks;let X,pe;if(Ry(j)?(X=j.items,pe=j.active):X=j,X.length>0||!P){let be;if(!ee&&!pe){const Te=e.activeItems[0];Te&&H.indexOf(Te)!==-1&&(be=Te)}_({items:[...H,...X],active:ee||pe||be})}}finally{f.isCancellationRequested||(e.busy=!1),N=!0}})()])};if(v!==null)if(sD(v))await y(v);else if(!(v instanceof Promise))_(v);else{e.busy=!0;try{const D=await v;if(f.isCancellationRequested)return;sD(D)?await y(D):_(D)}finally{f.isCancellationRequested||(e.busy=!1)}}};n.add(e.onDidChangeValue(()=>a())),a(),n.add(e.onDidAccept(g=>{var p;if(i!=null&&i.handleAccept){g.inBackground||e.hide(),(p=i.handleAccept)==null||p.call(i,e.activeItems[0]);return}const[f]=e.selectedItems;typeof(f==null?void 0:f.accept)=="function"&&(g.inBackground||e.hide(),f.accept(e.keyMods,g))}));const c=async(g,f)=>{var v;if(typeof f.trigger!="function")return;const p=((v=f.buttons)==null?void 0:v.indexOf(g))??-1;if(p>=0){const _=f.trigger(p,e.keyMods),y=typeof _=="number"?_:await _;if(t.isCancellationRequested)return;switch(y){case fu.NO_ACTION:break;case fu.CLOSE_PICKER:e.hide();break;case fu.REFRESH_PICKER:a();break;case fu.REMOVE_ITEM:{const S=e.items.indexOf(f);if(S!==-1){const D=e.items.slice(),P=D.splice(S,1),N=e.activeItems.filter(H=>H!==P[0]),j=e.keepScrollPosition;e.keepScrollPosition=!0,e.items=D,N&&(e.activeItems=N),e.keepScrollPosition=j}break}}}};return n.add(e.onDidTriggerItemButton(({button:g,item:f})=>c(g,f))),n.add(e.onDidTriggerSeparatorButton(({button:g,separator:f})=>c(g,f))),n}}var QN=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Rl=function(o,e){return function(t,i){e(t,i,o)}},Hc,Qn,pa;let Yx=(pa=class extends A7{constructor(e,t,i,n,s,r){super(Hc.PREFIX,e),this.instantiationService=t,this.keybindingService=i,this.commandService=n,this.telemetryService=s,this.dialogService=r,this.commandsHistory=this._register(this.instantiationService.createInstance(Jx)),this.options=e}async _getPicks(e,t,i,n){var v,_;const s=await this.getCommandPicks(i);if(i.isCancellationRequested)return[];const r=pP(()=>{const y=new Pf;y.updateDocuments(s.map(D=>({key:D.commandId,textChunks:[this.getTfIdfChunk(D)]})));const S=y.calculateScores(e,i);return R7(S).filter(D=>D.score>Hc.TFIDF_THRESHOLD).slice(0,Hc.TFIDF_MAX_RESULTS)}),a=[];for(const y of s){const S=Hc.WORD_FILTER(e,y.label)??void 0,D=y.commandAlias?Hc.WORD_FILTER(e,y.commandAlias)??void 0:void 0;if(S||D)y.highlights={label:S,detail:this.options.showAlias?D:void 0},a.push(y);else if(e===y.commandId)a.push(y);else if(e.length>=3){const P=r();if(i.isCancellationRequested)return[];const N=P.find(j=>j.key===y.commandId);N&&(y.tfIdfScore=N.score,a.push(y))}}const c=new Map;for(const y of a){const S=c.get(y.label);S?(y.description=y.commandId,S.description=S.commandId):c.set(y.label,y)}a.sort((y,S)=>{if(y.tfIdfScore&&S.tfIdfScore)return y.tfIdfScore===S.tfIdfScore?y.label.localeCompare(S.label):S.tfIdfScore-y.tfIdfScore;if(y.tfIdfScore)return 1;if(S.tfIdfScore)return-1;const D=this.commandsHistory.peek(y.commandId),P=this.commandsHistory.peek(S.commandId);if(D&&P)return D>P?-1:1;if(D)return-1;if(P)return 1;if(this.options.suggestedCommandIds){const N=this.options.suggestedCommandIds.has(y.commandId),j=this.options.suggestedCommandIds.has(S.commandId);if(N&&j)return 0;if(N)return-1;if(j)return 1}return y.label.localeCompare(S.label)});const h=[];let g=!1,f=!0,p=!!this.options.suggestedCommandIds;for(let y=0;y<a.length;y++){const S=a[y];y===0&&this.commandsHistory.peek(S.commandId)&&(h.push({type:"separator",label:w("recentlyUsed","recently used")}),g=!0),f&&S.tfIdfScore!==void 0&&(h.push({type:"separator",label:w("suggested","similar commands")}),f=!1),p&&S.tfIdfScore===void 0&&!this.commandsHistory.peek(S.commandId)&&((v=this.options.suggestedCommandIds)!=null&&v.has(S.commandId))&&(h.push({type:"separator",label:w("commonlyUsed","commonly used")}),g=!0,p=!1),g&&S.tfIdfScore===void 0&&!this.commandsHistory.peek(S.commandId)&&!((_=this.options.suggestedCommandIds)!=null&&_.has(S.commandId))&&(h.push({type:"separator",label:w("morecCommands","other commands")}),g=!1),h.push(this.toCommandPick(S,n))}return this.hasAdditionalCommandPicks(e,i)?{picks:h,additionalPicks:(async()=>{var D;const y=await this.getAdditionalCommandPicks(s,a,e,i);if(i.isCancellationRequested)return[];const S=y.map(P=>this.toCommandPick(P,n));return f&&((D=S[0])==null?void 0:D.type)!=="separator"&&S.unshift({type:"separator",label:w("suggested","similar commands")}),S})()}:h}toCommandPick(e,t){if(e.type==="separator")return e;const i=this.keybindingService.lookupKeybinding(e.commandId),n=i?w("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){yc(r)||this.dialogService.error(w("canNotRun","Command '{0}' resulted in an error",e.label),z_(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}},Hc=pa,pa.PREFIX=">",pa.TFIDF_THRESHOLD=.5,pa.TFIDF_MAX_RESULTS=5,pa.WORD_FILTER=kF(EF,DF,IF),pa);Yx=Hc=QN([Rl(1,ri),Rl(2,is),Rl(3,fs),Rl(4,jr),Rl(5,W0)],Yx);var Rr;let Jx=(Rr=class extends ze{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===w0.SHUTDOWN&&this.saveState()}))}updateConfiguration(e){e&&!e.affectsConfiguration("workbench.commandPalette.history")||(this.configuredCommandsHistoryLength=Qn.getConfiguredCommandHistoryLength(this.configurationService),Qn.cache&&Qn.cache.limit!==this.configuredCommandsHistoryLength&&(Qn.cache.limit=this.configuredCommandsHistoryLength,Qn.hasChanges=!0))}load(){const e=this.storageService.get(Qn.PREF_KEY_CACHE,0);let t;if(e)try{t=JSON.parse(e)}catch(n){this.logService.error(`[CommandsHistory] invalid data: ${n}`)}const i=Qn.cache=new Ap(this.configuredCommandsHistoryLength,1);if(t){let n;t.usesLRU?n=t.entries:n=t.entries.sort((s,r)=>s.value-r.value),n.forEach(s=>i.set(s.key,s.value))}Qn.counter=this.storageService.getNumber(Qn.PREF_KEY_COUNTER,0,Qn.counter)}push(e){Qn.cache&&(Qn.cache.set(e,Qn.counter++),Qn.hasChanges=!0)}peek(e){var t;return(t=Qn.cache)==null?void 0:t.peek(e)}saveState(){if(!Qn.cache||!Qn.hasChanges)return;const e={usesLRU:!0,entries:[]};Qn.cache.forEach((t,i)=>e.entries.push({key:i,value:t})),this.storageService.store(Qn.PREF_KEY_CACHE,JSON.stringify(e),0,0),this.storageService.store(Qn.PREF_KEY_COUNTER,Qn.counter,0,0),Qn.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:Qn.DEFAULT_COMMANDS_HISTORY_LENGTH}},Qn=Rr,Rr.DEFAULT_COMMANDS_HISTORY_LENGTH=50,Rr.PREF_KEY_CACHE="commandPalette.mru.cache",Rr.PREF_KEY_COUNTER="commandPalette.mru.counter",Rr.counter=1,Rr.hasChanges=!1,Rr);Jx=Qn=QN([Rl(0,Sc),Rl(1,Sn),Rl(2,vh)],Jx);class O7 extends Yx{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&&(PF(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:TF(n.label)||n.id})}return t}}var F7=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Kh=function(o,e){return function(t,i){e(t,i,o)}};let yp=class extends O7{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[]}};yp=F7([Kh(0,ri),Kh(1,Jn),Kh(2,is),Kh(3,fs),Kh(4,jr),Kh(5,W0)],yp);const Ab=class Ab extends we{constructor(){super({id:Ab.ID,label:_P.quickCommandActionLabel,alias:"Command Palette",precondition:void 0,kbOpts:{kbExpr:M.focus,primary:59,weight:100},contextMenuOpts:{group:"z_commands",order:1}})}run(e){e.get(gl).quickAccess.show(yp.PREFIX)}};Ab.ID="editor.action.quickCommand";let Ov=Ab;ie(Ov);zr.as($p.Quickaccess).registerQuickAccessProvider({ctor:yp,prefix:yp.PREFIX,helpEntries:[{description:_P.quickCommandHelp,commandId:Ov.ID}]});var H7=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(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 Qx=class extends ch{constructor(e,t,i,n,s,r,a){super(!0,e,t,i,n,s,r,a)}};Qx=H7([Gh(1,Fi),Gh(2,Jn),Gh(3,Bs),Gh(4,ri),Gh(5,Sc),Gh(6,Sn)],Qx);_i(ch.ID,Qx,4);class W7 extends we{constructor(){super({id:"editor.action.toggleHighContrast",label:MF.toggleHighContrast,alias:"Toggle High Contrast Theme",precondition:void 0}),this._originalThemeName=null}run(e,t){const i=e.get(gP),n=i.getColorTheme();Ff(n.type)?(i.setTheme(this._originalThemeName||(ok(n.type)?NF:RF)),this._originalThemeName=null):(i.setTheme(ok(n.type)?AF:OF),this._originalThemeName=n.themeName)}}ie(W7);let e0=null;function B7(o){e0=o}function z7(o={}){return{"Content-Type":"application/json",...o}}async function xi(o,e,t){const i=await fetch(e,{method:o,headers:z7(),body:t!==void 0?JSON.stringify(t):void 0});if(i.status===401)throw e0&&e0(),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 V7(){return await(await fetch("/she/auth/mode")).json()}async function j7(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 U7(){await fetch("/she/auth/logout",{method:"POST"})}async function $7(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 q7(){return xi("GET","/she/scripts/tree")}function oD(o){return xi("GET",`/she/scripts/${o}`)}function Ac(o,e){return xi("PUT",`/she/scripts/${o}`,{content:e})}function $m(o){return xi("DELETE",`/she/scripts/${o}`)}function rD(o,e){return xi("POST",`/she/scripts/${o}/rename`,{newPath:e})}function K7(o){return xi("POST","/she/scripts/mkdir",{path:o})}function G7(){return xi("GET","/she/git/status")}function v_(){return xi("GET","/she/status")}function Z7(){return xi("POST","/she/restart")}function X7(){return xi("POST","/she/update")}function Y7(){return xi("POST","/she/check-update")}function J7(o,e){return xi("POST","/she/git/commit",{path:o,message:e})}function Q7(o){return xi("POST","/she/git/push",{remote:o})}function eR(){return xi("GET","/she/config")}function e8(o){return xi("PUT","/she/config",o)}function tR(){return xi("GET","/she/db/docs")}function t8(o){return xi("GET",`/she/db/docs/${o}`)}function aD(o,e){return xi("PUT",`/she/db/docs/${o}`,e)}function i8(o){return xi("DELETE",`/she/db/docs/${o}`)}function iR(){return xi("GET","/she/db/views")}function n8(o){return xi("GET",`/she/db/views/${o}`)}function lD(o,e){return xi("PUT",`/she/db/views/${o}`,e)}function s8(o){return xi("DELETE",`/she/db/views/${o}`)}function o8(){return xi("GET","/she/deps")}function r8(o){return xi("GET",`/she/deps/search?q=${encodeURIComponent(o)}`)}function a8(o,e){return xi("POST","/she/deps/install",{name:o,version:null})}function l8(o){return xi("POST","/she/deps/remove",{name:o})}function c8(o){return xi("POST","/she/deps/update",{name:o})}function d8(){return xi("GET","/she/deps/outdated")}function h8(){return xi("POST","/she/deps/check-outdated")}function u8(){return xi("GET","/she/ai/conversations")}function cD(o){return xi("GET",`/she/ai/conversations/${encodeURIComponent(o)}`)}function g8(o,e,t){return xi("PUT",`/she/ai/conversations/${encodeURIComponent(o)}`,{title:e,messages:t})}function f8(o){return xi("DELETE",`/she/ai/conversations/${encodeURIComponent(o)}`)}function Ay(o){return xi("GET",`/she/db/views/${o}/result`)}function nR(){return xi("GET","/she/matter/devices")}function b_(o){return xi("GET",`/she/matter/devices/${o}`)}function p8(o){return xi("POST","/she/matter/commission",o)}function m8(o){return xi("DELETE",`/she/matter/devices/${o}`)}function _8(o,e,t,i,n){return xi("POST",`/she/matter/devices/${o}/command`,{endpointId:e,clusterName:t,command:i,args:n})}function sR(){return xi("GET","/she/mqtt/state")}function dD(o,e,t=!1,i=0){return xi("POST","/she/mqtt/publish",{topic:o,payload:e,retain:t,qos:i})}function oR(){return xi("GET","/she/ai/config")}function rR(){return xi("GET","/she/ai/models")}function aR(o){return xi("GET",`/she/ai/model-info?model=${encodeURIComponent(o)}`)}function lR(o){return xi("POST","/she/ai/prompt",o)}async function cR(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 h=await s.json().catch(()=>({error:s.statusText}));throw new Error(h.error??s.statusText)}const r=s.body.getReader(),a=new TextDecoder;let c="";try{for(;;){const{done:h,value:g}=await r.read();if(h)break;c+=a.decode(g,{stream:!0});const f=c.split(`
79
- `);c=f.pop()??"";for(const p of f){if(!p.startsWith("data: "))continue;const v=p.slice(6).trim();if(v==="[DONE]")return;try{const _=JSON.parse(v);if(_.error)throw new Error(_.error);if(_.type==="tool_call"||_.type==="tool_result"){i==null||i({type:_.type,name:_.name??"",args:_.args,content:_.content});continue}_.token&&e(_.token)}catch(_){if(_ instanceof SyntaxError)continue;throw _}}}}finally{r.releaseLock()}}const v8=2e3,w_=[];function b8(){return w_.slice()}let Ul=null;const Fv=new Set,pu=new Map;let t0=null;function Sp(){let o=Fv.size;for(const e of pu.values())o+=e.size;return o}function w8(){return`${location.protocol==="https:"?"wss:":"ws:"}//${location.host}/she/ws`}function $1(){if(Ul)return;const o=w8(),e=new WebSocket(o);Ul=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};w_.length>=v8&&w_.shift(),w_.push(s),Fv.forEach(r=>r(s))}const n=pu.get(i.type);n&&n.forEach(s=>s(i))}catch{}},e.onclose=()=>{Ul===e&&(Ul=null),Sp()>0&&(t0=setTimeout($1,3e3))},e.onerror=()=>{e.close()}}function dR(){t0&&clearTimeout(t0),Ul==null||Ul.close(),Ul=null}function hR(o){return Fv.add(o),Sp()===1&&$1(),()=>{Fv.delete(o),Sp()===0&&dR()}}function $l(o,e){return pu.has(o)||pu.set(o,new Set),pu.get(o).add(e),Sp()===1&&$1(),()=>{var t;(t=pu.get(o))==null||t.delete(e),Sp()===0&&dR()}}var y8=R('<button class="cancel svelte-1eh8v5n">Cancel</button>'),S8=R('<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 om(o,e){Do(e,!0);let t=U(!1),i=U(""),n=U("Confirm"),s=U(!1),r=U(!1),a=null;function c(y,S){return I(i,y,!0),I(n,(S==null?void 0:S.confirm)??(S!=null&&S.alert?"OK":"Confirm"),!0),I(s,(S==null?void 0:S.danger)??!1,!0),I(r,(S==null?void 0:S.alert)??!1,!0),I(t,!0),new Promise(D=>a=D)}function h(y){I(t,!1),a==null||a(y),a=null}function g(y){u(t)&&(y.key==="Escape"&&h(!1),y.key==="Enter"&&h(!0))}var f={show:c},p=Es();es("keydown",sd,g);var v=wt(p);{var _=y=>{var S=S8(),D=wt(S),P=x(D,2),N=C(P),j=C(N),H=x(N,2),ee=C(H);{var X=xe=>{var ct=y8();ne("click",ct,()=>h(!1)),T(xe,ct)};q(ee,xe=>{u(r)||xe(X)})}var pe=x(ee,2);let be;var Te=C(pe);Z(()=>{K(j,u(i)),be=Vt(pe,1,"svelte-1eh8v5n",null,be,{danger:u(s)}),K(Te,u(n))}),ne("click",D,()=>h(!1)),ne("click",pe,()=>h(!0)),T(y,S)};q(v,y=>{u(t)&&y(_)})}return T(o,p),Eo(f)}_r(["click"]);var C8=R('<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 x8(o,e){Do(e,!0);let t=U(!1),i=U(""),n=U(""),s=U("OK"),r=U(""),a=null,c=U(void 0);function h(D,P){return I(i,D,!0),I(n,(P==null?void 0:P.placeholder)??"",!0),I(s,(P==null?void 0:P.confirm)??"OK",!0),I(r,(P==null?void 0:P.initial)??"",!0),I(t,!0),setTimeout(()=>{if(u(c)){u(c).focus();const N=u(c).value.length;u(c).setSelectionRange(N,N)}},0),new Promise(N=>a=N)}function g(){const D=u(r).trim();D&&(I(t,!1),a==null||a(D),a=null,I(r,""))}function f(){I(t,!1),a==null||a(null),a=null,I(r,"")}function p(D){u(t)&&D.key==="Escape"&&(D.stopPropagation(),f())}var v={show:h},_=Es();es("keydown",sd,p);var y=wt(_);{var S=D=>{var P=C8(),N=wt(P),j=x(N,2),H=C(j),ee=C(H),X=x(H,2);xs(X,ct=>I(c,ct),()=>u(c));var pe=x(X,2),be=C(pe),Te=x(be,2),xe=C(Te);Z(ct=>{K(ee,u(i)),Fn(X,"placeholder",u(n)),Te.disabled=ct,K(xe,u(s))},[()=>!u(r).trim()]),ne("click",N,f),ne("keydown",X,ct=>{ct.key==="Enter"&&(ct.preventDefault(),g())}),Ii(X,()=>u(r),ct=>I(r,ct)),ne("click",be,f),ne("click",Te,g),T(D,P)};q(y,D=>{u(t)&&D(S)})}return T(o,_),Eo(v)}_r(["click","keydown"]);function uR(o){return o&&o.__esModule&&Object.prototype.hasOwnProperty.call(o,"default")?o.default:o}var Oy,hD;function L8(){if(hD)return Oy;hD=1;function o(F){return F instanceof Map?F.clear=F.delete=F.set=function(){throw new Error("map is read-only")}:F instanceof Set&&(F.add=F.clear=F.delete=function(){throw new Error("set is read-only")}),Object.freeze(F),Object.getOwnPropertyNames(F).forEach(O=>{const Q=F[O],Ce=typeof Q;(Ce==="object"||Ce==="function")&&!Object.isFrozen(Q)&&o(Q)}),F}class e{constructor(O){O.data===void 0&&(O.data={}),this.data=O.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}}function t(F){return F.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#x27;")}function i(F,...O){const Q=Object.create(null);for(const Ce in F)Q[Ce]=F[Ce];return O.forEach(function(Ce){for(const Qe in Ce)Q[Qe]=Ce[Qe]}),Q}const n="</span>",s=F=>!!F.scope,r=(F,{prefix:O})=>{if(F.startsWith("language:"))return F.replace("language:","language-");if(F.includes(".")){const Q=F.split(".");return[`${O}${Q.shift()}`,...Q.map((Ce,Qe)=>`${Ce}${"_".repeat(Qe+1)}`)].join(" ")}return`${O}${F}`};class a{constructor(O,Q){this.buffer="",this.classPrefix=Q.classPrefix,O.walk(this)}addText(O){this.buffer+=t(O)}openNode(O){if(!s(O))return;const Q=r(O.scope,{prefix:this.classPrefix});this.span(Q)}closeNode(O){s(O)&&(this.buffer+=n)}value(){return this.buffer}span(O){this.buffer+=`<span class="${O}">`}}const c=(F={})=>{const O={children:[]};return Object.assign(O,F),O};class h{constructor(){this.rootNode=c(),this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(O){this.top.children.push(O)}openNode(O){const Q=c({scope:O});this.add(Q),this.stack.push(Q)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(O){return this.constructor._walk(O,this.rootNode)}static _walk(O,Q){return typeof Q=="string"?O.addText(Q):Q.children&&(O.openNode(Q),Q.children.forEach(Ce=>this._walk(O,Ce)),O.closeNode(Q)),O}static _collapse(O){typeof O!="string"&&O.children&&(O.children.every(Q=>typeof Q=="string")?O.children=[O.children.join("")]:O.children.forEach(Q=>{h._collapse(Q)}))}}class g extends h{constructor(O){super(),this.options=O}addText(O){O!==""&&this.add(O)}startScope(O){this.openNode(O)}endScope(){this.closeNode()}__addSublanguage(O,Q){const Ce=O.root;Q&&(Ce.scope=`language:${Q}`),this.add(Ce)}toHTML(){return new a(this,this.options).value()}finalize(){return this.closeAllNodes(),!0}}function f(F){return F?typeof F=="string"?F:F.source:null}function p(F){return y("(?=",F,")")}function v(F){return y("(?:",F,")*")}function _(F){return y("(?:",F,")?")}function y(...F){return F.map(Q=>f(Q)).join("")}function S(F){const O=F[F.length-1];return typeof O=="object"&&O.constructor===Object?(F.splice(F.length-1,1),O):{}}function D(...F){return"("+(S(F).capture?"":"?:")+F.map(Ce=>f(Ce)).join("|")+")"}function P(F){return new RegExp(F.toString()+"|").exec("").length-1}function N(F,O){const Q=F&&F.exec(O);return Q&&Q.index===0}const j=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;function H(F,{joinWith:O}){let Q=0;return F.map(Ce=>{Q+=1;const Qe=Q;let Nt=f(Ce),ke="";for(;Nt.length>0;){const Ie=j.exec(Nt);if(!Ie){ke+=Nt;break}ke+=Nt.substring(0,Ie.index),Nt=Nt.substring(Ie.index+Ie[0].length),Ie[0][0]==="\\"&&Ie[1]?ke+="\\"+String(Number(Ie[1])+Qe):(ke+=Ie[0],Ie[0]==="("&&Q++)}return ke}).map(Ce=>`(${Ce})`).join(O)}const ee=/\b\B/,X="[a-zA-Z]\\w*",pe="[a-zA-Z_]\\w*",be="\\b\\d+(\\.\\d+)?",Te="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",xe="\\b(0b[01]+)",ct="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",Pt=(F={})=>{const O=/^#![ ]*\//;return F.binary&&(F.begin=y(O,/.*\b/,F.binary,/\b.*/)),i({scope:"meta",begin:O,end:/$/,relevance:0,"on:begin":(Q,Ce)=>{Q.index!==0&&Ce.ignoreMatch()}},F)},dt={begin:"\\\\[\\s\\S]",relevance:0},ai={scope:"string",begin:"'",end:"'",illegal:"\\n",contains:[dt]},Mt={scope:"string",begin:'"',end:'"',illegal:"\\n",contains:[dt]},Jt={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/},ge=function(F,O,Q={}){const Ce=i({scope:"comment",begin:F,end:O,contains:[]},Q);Ce.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 Qe=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 Ce.contains.push({begin:y(/[ ]+/,"(",Qe,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),Ce},rt=ge("//","$"),Ae=ge("/\\*","\\*/"),Ze=ge("#","$"),pt={scope:"number",begin:be,relevance:0},di={scope:"number",begin:Te,relevance:0},Gt={scope:"number",begin:xe,relevance:0},Ct={scope:"regexp",begin:/\/(?=[^/\n]*\/)/,end:/\/[gimuy]*/,contains:[dt,{begin:/\[/,end:/\]/,relevance:0,contains:[dt]}]},kt={scope:"title",begin:X,relevance:0},yi={scope:"title",begin:pe,relevance:0},Hi={begin:"\\.\\s*"+pe,relevance:0};var Qi=Object.freeze({__proto__:null,APOS_STRING_MODE:ai,BACKSLASH_ESCAPE:dt,BINARY_NUMBER_MODE:Gt,BINARY_NUMBER_RE:xe,COMMENT:ge,C_BLOCK_COMMENT_MODE:Ae,C_LINE_COMMENT_MODE:rt,C_NUMBER_MODE:di,C_NUMBER_RE:Te,END_SAME_AS_BEGIN:function(F){return Object.assign(F,{"on:begin":(O,Q)=>{Q.data._beginMatch=O[1]},"on:end":(O,Q)=>{Q.data._beginMatch!==O[1]&&Q.ignoreMatch()}})},HASH_COMMENT_MODE:Ze,IDENT_RE:X,MATCH_NOTHING_RE:ee,METHOD_GUARD:Hi,NUMBER_MODE:pt,NUMBER_RE:be,PHRASAL_WORDS_MODE:Jt,QUOTE_STRING_MODE:Mt,REGEXP_MODE:Ct,RE_STARTERS_RE:ct,SHEBANG:Pt,TITLE_MODE:kt,UNDERSCORE_IDENT_RE:pe,UNDERSCORE_TITLE_MODE:yi});function Mi(F,O){F.input[F.index-1]==="."&&O.ignoreMatch()}function xn(F,O){F.className!==void 0&&(F.scope=F.className,delete F.className)}function pn(F,O){O&&F.beginKeywords&&(F.begin="\\b("+F.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",F.__beforeBegin=Mi,F.keywords=F.keywords||F.beginKeywords,delete F.beginKeywords,F.relevance===void 0&&(F.relevance=0))}function Vn(F,O){Array.isArray(F.illegal)&&(F.illegal=D(...F.illegal))}function Ln(F,O){if(F.match){if(F.begin||F.end)throw new Error("begin & end are not supported with match");F.begin=F.match,delete F.match}}function mn(F,O){F.relevance===void 0&&(F.relevance=1)}const Bn=(F,O)=>{if(!F.beforeMatch)return;if(F.starts)throw new Error("beforeMatch cannot be used with starts");const Q=Object.assign({},F);Object.keys(F).forEach(Ce=>{delete F[Ce]}),F.keywords=Q.keywords,F.begin=y(Q.beforeMatch,p(Q.begin)),F.starts={relevance:0,contains:[Object.assign(Q,{endsParent:!0})]},F.relevance=0,delete Q.beforeMatch},kn=["of","and","for","in","not","or","if","then","parent","list","value"],Kn="keyword";function Xe(F,O,Q=Kn){const Ce=Object.create(null);return typeof F=="string"?Qe(Q,F.split(" ")):Array.isArray(F)?Qe(Q,F):Object.keys(F).forEach(function(Nt){Object.assign(Ce,Xe(F[Nt],O,Nt))}),Ce;function Qe(Nt,ke){O&&(ke=ke.map(Ie=>Ie.toLowerCase())),ke.forEach(function(Ie){const Oe=Ie.split("|");Ce[Oe[0]]=[Nt,Ht(Oe[0],Oe[1])]})}}function Ht(F,O){return O?Number(O):li(F)?0:1}function li(F){return kn.includes(F.toLowerCase())}const Bt={},pi=F=>{console.error(F)},In=(F,...O)=>{console.log(`WARN: ${F}`,...O)},on=(F,O)=>{Bt[`${F}/${O}`]||(console.log(`Deprecated as of ${F}. ${O}`),Bt[`${F}/${O}`]=!0)},en=new Error;function dn(F,O,{key:Q}){let Ce=0;const Qe=F[Q],Nt={},ke={};for(let Ie=1;Ie<=O.length;Ie++)ke[Ie+Ce]=Qe[Ie],Nt[Ie+Ce]=!0,Ce+=P(O[Ie-1]);F[Q]=ke,F[Q]._emit=Nt,F[Q]._multi=!0}function $n(F){if(Array.isArray(F.begin)){if(F.skip||F.excludeBegin||F.returnBegin)throw pi("skip, excludeBegin, returnBegin not compatible with beginScope: {}"),en;if(typeof F.beginScope!="object"||F.beginScope===null)throw pi("beginScope must be object"),en;dn(F,F.begin,{key:"beginScope"}),F.begin=H(F.begin,{joinWith:""})}}function Ei(F){if(Array.isArray(F.end)){if(F.skip||F.excludeEnd||F.returnEnd)throw pi("skip, excludeEnd, returnEnd not compatible with endScope: {}"),en;if(typeof F.endScope!="object"||F.endScope===null)throw pi("endScope must be object"),en;dn(F,F.end,{key:"endScope"}),F.end=H(F.end,{joinWith:""})}}function _n(F){F.scope&&typeof F.scope=="object"&&F.scope!==null&&(F.beginScope=F.scope,delete F.scope)}function Tn(F){_n(F),typeof F.beginScope=="string"&&(F.beginScope={_wrap:F.beginScope}),typeof F.endScope=="string"&&(F.endScope={_wrap:F.endScope}),$n(F),Ei(F)}function Zn(F){function O(ke,Ie){return new RegExp(f(ke),"m"+(F.case_insensitive?"i":"")+(F.unicodeRegex?"u":"")+(Ie?"g":""))}class Q{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(Ie,Oe){Oe.position=this.position++,this.matchIndexes[this.matchAt]=Oe,this.regexes.push([Oe,Ie]),this.matchAt+=P(Ie)+1}compile(){this.regexes.length===0&&(this.exec=()=>null);const Ie=this.regexes.map(Oe=>Oe[1]);this.matcherRe=O(H(Ie,{joinWith:"|"}),!0),this.lastIndex=0}exec(Ie){this.matcherRe.lastIndex=this.lastIndex;const Oe=this.matcherRe.exec(Ie);if(!Oe)return null;const Tt=Oe.findIndex((Ee,At)=>At>0&&Ee!==void 0),gt=this.matchIndexes[Tt];return Oe.splice(0,Tt),Object.assign(Oe,gt)}}class Ce{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(Ie){if(this.multiRegexes[Ie])return this.multiRegexes[Ie];const Oe=new Q;return this.rules.slice(Ie).forEach(([Tt,gt])=>Oe.addRule(Tt,gt)),Oe.compile(),this.multiRegexes[Ie]=Oe,Oe}resumingScanAtSamePosition(){return this.regexIndex!==0}considerAll(){this.regexIndex=0}addRule(Ie,Oe){this.rules.push([Ie,Oe]),Oe.type==="begin"&&this.count++}exec(Ie){const Oe=this.getMatcher(this.regexIndex);Oe.lastIndex=this.lastIndex;let Tt=Oe.exec(Ie);if(this.resumingScanAtSamePosition()&&!(Tt&&Tt.index===this.lastIndex)){const gt=this.getMatcher(0);gt.lastIndex=this.lastIndex+1,Tt=gt.exec(Ie)}return Tt&&(this.regexIndex+=Tt.position+1,this.regexIndex===this.count&&this.considerAll()),Tt}}function Qe(ke){const Ie=new Ce;return ke.contains.forEach(Oe=>Ie.addRule(Oe.begin,{rule:Oe,type:"begin"})),ke.terminatorEnd&&Ie.addRule(ke.terminatorEnd,{type:"end"}),ke.illegal&&Ie.addRule(ke.illegal,{type:"illegal"}),Ie}function Nt(ke,Ie){const Oe=ke;if(ke.isCompiled)return Oe;[xn,Ln,Tn,Bn].forEach(gt=>gt(ke,Ie)),F.compilerExtensions.forEach(gt=>gt(ke,Ie)),ke.__beforeBegin=null,[pn,Vn,mn].forEach(gt=>gt(ke,Ie)),ke.isCompiled=!0;let Tt=null;return typeof ke.keywords=="object"&&ke.keywords.$pattern&&(ke.keywords=Object.assign({},ke.keywords),Tt=ke.keywords.$pattern,delete ke.keywords.$pattern),Tt=Tt||/\w+/,ke.keywords&&(ke.keywords=Xe(ke.keywords,F.case_insensitive)),Oe.keywordPatternRe=O(Tt,!0),Ie&&(ke.begin||(ke.begin=/\B|\b/),Oe.beginRe=O(Oe.begin),!ke.end&&!ke.endsWithParent&&(ke.end=/\B|\b/),ke.end&&(Oe.endRe=O(Oe.end)),Oe.terminatorEnd=f(Oe.end)||"",ke.endsWithParent&&Ie.terminatorEnd&&(Oe.terminatorEnd+=(ke.end?"|":"")+Ie.terminatorEnd)),ke.illegal&&(Oe.illegalRe=O(ke.illegal)),ke.contains||(ke.contains=[]),ke.contains=[].concat(...ke.contains.map(function(gt){return rn(gt==="self"?ke:gt)})),ke.contains.forEach(function(gt){Nt(gt,Oe)}),ke.starts&&Nt(ke.starts,Ie),Oe.matcher=Qe(Oe),Oe}if(F.compilerExtensions||(F.compilerExtensions=[]),F.contains&&F.contains.includes("self"))throw new Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return F.classNameAliases=i(F.classNameAliases||{}),Nt(F)}function Mn(F){return F?F.endsWithParent||Mn(F.starts):!1}function rn(F){return F.variants&&!F.cachedVariants&&(F.cachedVariants=F.variants.map(function(O){return i(F,{variants:null},O)})),F.cachedVariants?F.cachedVariants:Mn(F)?i(F,{starts:F.starts?i(F.starts):null}):Object.isFrozen(F)?i(F):F}var Nn="11.11.1";class tn extends Error{constructor(O,Q){super(O),this.name="HTMLInjectionError",this.html=Q}}const Se=t,G=i,Le=Symbol("nomatch"),at=7,It=function(F){const O=Object.create(null),Q=Object.create(null),Ce=[];let Qe=!0;const Nt="Could not find the language '{}', did you forget to load/include a language module?",ke={disableAutodetect:!0,name:"Plain text",contains:[]};let Ie={ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",cssSelector:"pre code",languages:null,__emitter:g};function Oe(A){return Ie.noHighlightRe.test(A)}function Tt(A){let W=A.className+" ";W+=A.parentNode?A.parentNode.className:"";const ae=Ie.languageDetectRe.exec(W);if(ae){const ce=Zt(ae[1]);return ce||(In(Nt.replace("{}",ae[1])),In("Falling back to no-highlight mode for this block.",A)),ce?ae[1]:"no-highlight"}return W.split(/\s+/).find(ce=>Oe(ce)||Zt(ce))}function gt(A,W,ae){let ce="",ue="";typeof W=="object"?(ce=A,ae=W.ignoreIllegals,ue=W.language):(on("10.7.0","highlight(lang, code, ...args) has been deprecated."),on("10.7.0",`Please use highlight(code, options) instead.
80
- https://github.com/highlightjs/highlight.js/issues/2277`),ue=A,ce=W),ae===void 0&&(ae=!0);const me={code:ce,language:ue};ti("before:highlight",me);const De=me.result?me.result:Ee(me.language,me.code,ae);return De.code=me.code,ti("after:highlight",De),De}function Ee(A,W,ae,ce){const ue=Object.create(null);function me(ve,Ke){return ve.keywords[Ke]}function De(){if(!he.keywords){it.addText(Me);return}let ve=0;he.keywordPatternRe.lastIndex=0;let Ke=he.keywordPatternRe.exec(Me),_t="";for(;Ke;){_t+=Me.substring(ve,Ke.index);const Et=de.case_insensitive?Ke[0].toLowerCase():Ke[0],Je=me(he,Et);if(Je){const[ui,ni]=Je;if(it.addText(_t),_t="",ue[Et]=(ue[Et]||0)+1,ue[Et]<=at&&(Re+=ni),ui.startsWith("_"))_t+=Ke[0];else{const Si=de.classNameAliases[ui]||ui;je(Ke[0],Si)}}else _t+=Ke[0];ve=he.keywordPatternRe.lastIndex,Ke=he.keywordPatternRe.exec(Me)}_t+=Me.substring(ve),it.addText(_t)}function ft(){if(Me==="")return;let ve=null;if(typeof he.subLanguage=="string"){if(!O[he.subLanguage]){it.addText(Me);return}ve=Ee(he.subLanguage,Me,!0,Wt[he.subLanguage]),Wt[he.subLanguage]=ve._top}else ve=Qt(Me,he.subLanguage.length?he.subLanguage:null);he.relevance>0&&(Re+=ve.relevance),it.__addSublanguage(ve._emitter,ve.language)}function Ge(){he.subLanguage!=null?ft():De(),Me=""}function je(ve,Ke){ve!==""&&(it.startScope(Ke),it.addText(ve),it.endScope())}function Ot(ve,Ke){let _t=1;const Et=Ke.length-1;for(;_t<=Et;){if(!ve._emit[_t]){_t++;continue}const Je=de.classNameAliases[ve[_t]]||ve[_t],ui=Ke[_t];Je?je(ui,Je):(Me=ui,De(),Me=""),_t++}}function qe(ve,Ke){return ve.scope&&typeof ve.scope=="string"&&it.openNode(de.classNameAliases[ve.scope]||ve.scope),ve.beginScope&&(ve.beginScope._wrap?(je(Me,de.classNameAliases[ve.beginScope._wrap]||ve.beginScope._wrap),Me=""):ve.beginScope._multi&&(Ot(ve.beginScope,Ke),Me="")),he=Object.create(ve,{parent:{value:he}}),he}function z(ve,Ke,_t){let Et=N(ve.endRe,_t);if(Et){if(ve["on:end"]){const Je=new e(ve);ve["on:end"](Ke,Je),Je.isMatchIgnored&&(Et=!1)}if(Et){for(;ve.endsParent&&ve.parent;)ve=ve.parent;return ve}}if(ve.endsWithParent)return z(ve.parent,Ke,_t)}function se(ve){return he.matcher.regexIndex===0?(Me+=ve[0],1):(hi=!0,0)}function Fe(ve){const Ke=ve[0],_t=ve.rule,Et=new e(_t),Je=[_t.__beforeBegin,_t["on:begin"]];for(const ui of Je)if(ui&&(ui(ve,Et),Et.isMatchIgnored))return se(Ke);return _t.skip?Me+=Ke:(_t.excludeBegin&&(Me+=Ke),Ge(),!_t.returnBegin&&!_t.excludeBegin&&(Me=Ke)),qe(_t,ve),_t.returnBegin?0:Ke.length}function nt(ve){const Ke=ve[0],_t=W.substring(ve.index),Et=z(he,ve,_t);if(!Et)return Le;const Je=he;he.endScope&&he.endScope._wrap?(Ge(),je(Ke,he.endScope._wrap)):he.endScope&&he.endScope._multi?(Ge(),Ot(he.endScope,ve)):Je.skip?Me+=Ke:(Je.returnEnd||Je.excludeEnd||(Me+=Ke),Ge(),Je.excludeEnd&&(Me=Ke));do he.scope&&it.closeNode(),!he.skip&&!he.subLanguage&&(Re+=he.relevance),he=he.parent;while(he!==Et.parent);return Et.starts&&qe(Et.starts,ve),Je.returnEnd?0:Ke.length}function xt(){const ve=[];for(let Ke=he;Ke!==de;Ke=Ke.parent)Ke.scope&&ve.unshift(Ke.scope);ve.forEach(Ke=>it.openNode(Ke))}let Ne={};function $e(ve,Ke){const _t=Ke&&Ke[0];if(Me+=ve,_t==null)return Ge(),0;if(Ne.type==="begin"&&Ke.type==="end"&&Ne.index===Ke.index&&_t===""){if(Me+=W.slice(Ke.index,Ke.index+1),!Qe){const Et=new Error(`0 width match regex (${A})`);throw Et.languageName=A,Et.badRule=Ne.rule,Et}return 1}if(Ne=Ke,Ke.type==="begin")return Fe(Ke);if(Ke.type==="illegal"&&!ae){const Et=new Error('Illegal lexeme "'+_t+'" for mode "'+(he.scope||"<unnamed>")+'"');throw Et.mode=he,Et}else if(Ke.type==="end"){const Et=nt(Ke);if(Et!==Le)return Et}if(Ke.type==="illegal"&&_t==="")return Me+=`
81
- `,1;if(mt>1e5&&mt>Ke.index*3)throw new Error("potential infinite loop, way more iterations than matches");return Me+=_t,_t.length}const de=Zt(A);if(!de)throw pi(Nt.replace("{}",A)),new Error('Unknown language: "'+A+'"');const lt=Zn(de);let ye="",he=ce||lt;const Wt={},it=new Ie.__emitter(Ie);xt();let Me="",Re=0,Ue=0,mt=0,hi=!1;try{if(de.__emitTokens)de.__emitTokens(W,it);else{for(he.matcher.considerAll();;){mt++,hi?hi=!1:he.matcher.considerAll(),he.matcher.lastIndex=Ue;const ve=he.matcher.exec(W);if(!ve)break;const Ke=W.substring(Ue,ve.index),_t=$e(Ke,ve);Ue=ve.index+_t}$e(W.substring(Ue))}return it.finalize(),ye=it.toHTML(),{language:A,value:ye,relevance:Re,illegal:!1,_emitter:it,_top:he}}catch(ve){if(ve.message&&ve.message.includes("Illegal"))return{language:A,value:Se(W),illegal:!0,relevance:0,_illegalBy:{message:ve.message,index:Ue,context:W.slice(Ue-100,Ue+100),mode:ve.mode,resultSoFar:ye},_emitter:it};if(Qe)return{language:A,value:Se(W),illegal:!1,relevance:0,errorRaised:ve,_emitter:it,_top:he};throw ve}}function At(A){const W={value:Se(A),illegal:!1,relevance:0,_top:ke,_emitter:new Ie.__emitter(Ie)};return W._emitter.addText(A),W}function Qt(A,W){W=W||Ie.languages||Object.keys(O);const ae=At(A),ce=W.filter(Zt).filter(ii).map(Ge=>Ee(Ge,A,!1));ce.unshift(ae);const ue=ce.sort((Ge,je)=>{if(Ge.relevance!==je.relevance)return je.relevance-Ge.relevance;if(Ge.language&&je.language){if(Zt(Ge.language).supersetOf===je.language)return 1;if(Zt(je.language).supersetOf===Ge.language)return-1}return 0}),[me,De]=ue,ft=me;return ft.secondBest=De,ft}function Yt(A,W,ae){const ce=W&&Q[W]||ae;A.classList.add("hljs"),A.classList.add(`language-${ce}`)}function Ut(A){let W=null;const ae=Tt(A);if(Oe(ae))return;if(ti("before:highlightElement",{el:A,language:ae}),A.dataset.highlighted){console.log("Element previously highlighted. To highlight again, first unset `dataset.highlighted`.",A);return}if(A.children.length>0&&(Ie.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(A)),Ie.throwUnescapedHTML))throw new tn("One of your code blocks includes unescaped HTML.",A.innerHTML);W=A;const ce=W.textContent,ue=ae?gt(ce,{language:ae,ignoreIllegals:!0}):Qt(ce);A.innerHTML=ue.value,A.dataset.highlighted="yes",Yt(A,ae,ue.language),A.result={language:ue.language,re:ue.relevance,relevance:ue.relevance},ue.secondBest&&(A.secondBest={language:ue.secondBest.language,relevance:ue.secondBest.relevance}),ti("after:highlightElement",{el:A,result:ue,text:ce})}function ei(A){Ie=G(Ie,A)}const Y=()=>{Ye(),on("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")};function _e(){Ye(),on("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.")}let We=!1;function Ye(){function A(){Ye()}if(document.readyState==="loading"){We||window.addEventListener("DOMContentLoaded",A,!1),We=!0;return}document.querySelectorAll(Ie.cssSelector).forEach(Ut)}function bt(A,W){let ae=null;try{ae=W(F)}catch(ce){if(pi("Language definition for '{}' could not be registered.".replace("{}",A)),Qe)pi(ce);else throw ce;ae=ke}ae.name||(ae.name=A),O[A]=ae,ae.rawDefinition=W.bind(null,F),ae.aliases&&oi(ae.aliases,{languageName:A})}function Ve(A){delete O[A];for(const W of Object.keys(Q))Q[W]===A&&delete Q[W]}function tt(){return Object.keys(O)}function Zt(A){return A=(A||"").toLowerCase(),O[A]||O[Q[A]]}function oi(A,{languageName:W}){typeof A=="string"&&(A=[A]),A.forEach(ae=>{Q[ae.toLowerCase()]=W})}function ii(A){const W=Zt(A);return W&&!W.disableAutodetect}function Wi(A){A["before:highlightBlock"]&&!A["before:highlightElement"]&&(A["before:highlightElement"]=W=>{A["before:highlightBlock"](Object.assign({block:W.el},W))}),A["after:highlightBlock"]&&!A["after:highlightElement"]&&(A["after:highlightElement"]=W=>{A["after:highlightBlock"](Object.assign({block:W.el},W))})}function Dn(A){Wi(A),Ce.push(A)}function Pi(A){const W=Ce.indexOf(A);W!==-1&&Ce.splice(W,1)}function ti(A,W){const ae=A;Ce.forEach(function(ce){ce[ae]&&ce[ae](W)})}function Bi(A){return on("10.7.0","highlightBlock will be removed entirely in v12.0"),on("10.7.0","Please use highlightElement now."),Ut(A)}Object.assign(F,{highlight:gt,highlightAuto:Qt,highlightAll:Ye,highlightElement:Ut,highlightBlock:Bi,configure:ei,initHighlighting:Y,initHighlightingOnLoad:_e,registerLanguage:bt,unregisterLanguage:Ve,listLanguages:tt,getLanguage:Zt,registerAliases:oi,autoDetection:ii,inherit:G,addPlugin:Dn,removePlugin:Pi}),F.debugMode=function(){Qe=!1},F.safeMode=function(){Qe=!0},F.versionString=Nn,F.regex={concat:y,lookahead:p,either:D,optional:_,anyNumberOfTimes:v};for(const A in Qi)typeof Qi[A]=="object"&&o(Qi[A]);return Object.assign(F,Qi),F},qt=It({});return qt.newInstance=()=>It({}),Oy=qt,qt.HighlightJS=qt,qt.default=qt,Oy}var k8=L8();const Hv=uR(k8),uD="[A-Za-z$_][0-9A-Za-z$_]*",I8=["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"],D8=["true","false","null","undefined","NaN","Infinity"],gR=["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"],fR=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],pR=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],E8=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],P8=[].concat(pR,gR,fR);function mR(o){const e=o.regex,t=(ge,{after:rt})=>{const Ae="</"+ge[0].slice(1);return ge.input.indexOf(Ae,rt)!==-1},i=uD,n={begin:"<>",end:"</>"},s=/<[A-Za-z0-9\\._:-]+\s*\/>/,r={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(ge,rt)=>{const Ae=ge[0].length+ge.index,Ze=ge.input[Ae];if(Ze==="<"||Ze===","){rt.ignoreMatch();return}Ze===">"&&(t(ge,{after:Ae})||rt.ignoreMatch());let pt;const di=ge.input.substring(Ae);if(pt=di.match(/^\s*=/)){rt.ignoreMatch();return}if((pt=di.match(/^\s+extends\s+/))&&pt.index===0){rt.ignoreMatch();return}}},a={$pattern:uD,keyword:I8,literal:D8,built_in:P8,"variable.language":E8},c="[0-9](_?[0-9])*",h=`\\.(${c})`,g="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",f={className:"number",variants:[{begin:`(\\b(${g})((${h})|\\.)?|(${h}))[eE][+-]?(${c})\\b`},{begin:`\\b(${g})\\b((${h})\\b|\\.)?|(${h})\\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:[]},v={begin:".?html`",end:"",starts:{end:"`",returnEnd:!1,contains:[o.BACKSLASH_ESCAPE,p],subLanguage:"xml"}},_={begin:".?css`",end:"",starts:{end:"`",returnEnd:!1,contains:[o.BACKSLASH_ESCAPE,p],subLanguage:"css"}},y={begin:".?gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[o.BACKSLASH_ESCAPE,p],subLanguage:"graphql"}},S={className:"string",begin:"`",end:"`",contains:[o.BACKSLASH_ESCAPE,p]},P={className:"comment",variants:[o.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{begin:"(?=@[A-Za-z]+)",relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"},{className:"type",begin:"\\{",end:"\\}",excludeEnd:!0,excludeBegin:!0,relevance:0},{className:"variable",begin:i+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),o.C_BLOCK_COMMENT_MODE,o.C_LINE_COMMENT_MODE]},N=[o.APOS_STRING_MODE,o.QUOTE_STRING_MODE,v,_,y,S,{match:/\$\d+/},f];p.contains=N.concat({begin:/\{/,end:/\}/,keywords:a,contains:["self"].concat(N)});const j=[].concat(P,p.contains),H=j.concat([{begin:/(\s*)\(/,end:/\)/,keywords:a,contains:["self"].concat(j)}]),ee={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:a,contains:H},X={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"}}]},pe={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:{_:[...gR,...fR]}},be={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},Te={variants:[{match:[/function/,/\s+/,i,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[ee],illegal:/%/},xe={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function ct(ge){return e.concat("(?!",ge.join("|"),")")}const Pt={match:e.concat(/\b/,ct([...pR,"super","import"].map(ge=>`${ge}\\s*\\(`)),i,e.lookahead(/\s*\(/)),className:"title.function",relevance:0},dt={begin:e.concat(/\./,e.lookahead(e.concat(i,/(?![0-9A-Za-z$_(])/))),end:i,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},ai={match:[/get|set/,/\s+/,i,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},ee]},Mt="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+o.UNDERSCORE_IDENT_RE+")\\s*=>",Jt={match:[/const|var|let/,/\s+/,i,/\s*/,/=\s*/,/(async\s*)?/,e.lookahead(Mt)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[ee]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:a,exports:{PARAMS_CONTAINS:H,CLASS_REFERENCE:pe},illegal:/#(?![$_A-z])/,contains:[o.SHEBANG({label:"shebang",binary:"node",relevance:5}),be,o.APOS_STRING_MODE,o.QUOTE_STRING_MODE,v,_,y,S,P,{match:/\$\d+/},f,pe,{scope:"attr",match:i+e.lookahead(":"),relevance:0},Jt,{begin:"("+o.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[P,o.REGEXP_MODE,{className:"function",begin:Mt,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:H}]}]},{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"]}]}]},Te,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+o.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[ee,o.inherit(o.TITLE_MODE,{begin:i,className:"title.function"})]},{match:/\.\.\./,relevance:0},dt,{match:"\\$"+i,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[ee]},Pt,xe,X,ai,{match:/\$[(.]/}]}}function q1(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var kh=q1();function _R(o){kh=o}var zc={exec:()=>null};function Zh(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 gn(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($s.caret,"$1"),t=t.replace(n,r),i},getRegex:()=>new RegExp(t,e)};return i}var T8=((o="")=>{try{return!!new RegExp("(?<=1)(?<!1)"+o)}catch{return!1}})(),$s={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:Zh(o=>new RegExp(`^ {0,${o}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`)),hrRegex:Zh(o=>new RegExp(`^ {0,${o}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`)),fencesBeginRegex:Zh(o=>new RegExp(`^ {0,${o}}(?:\`\`\`|~~~)`)),headingBeginRegex:Zh(o=>new RegExp(`^ {0,${o}}#`)),htmlBeginRegex:Zh(o=>new RegExp(`^ {0,${o}}<(?:[a-z].*>|!--)`,"i")),blockquoteBeginRegex:Zh(o=>new RegExp(`^ {0,${o}}>`))},M8=/^(?:[ \t]*(?:\n|$))+/,N8=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,R8=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,rm=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,A8=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,K1=/ {0,3}(?:[*+-]|\d{1,9}[.)])/,vR=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,bR=gn(vR).replace(/bull/g,K1).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(),O8=gn(vR).replace(/bull/g,K1).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(),G1=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,F8=/^[^\n]+/,Z1=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/,H8=gn(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",Z1).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),W8=gn(/^(bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,K1).getRegex(),Tw="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",X1=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,B8=gn("^ {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",X1).replace("tag",Tw).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),wR=gn(G1).replace("hr",rm).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",Tw).getRegex(),z8=gn(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",wR).getRegex(),Y1={blockquote:z8,code:N8,def:H8,fences:R8,heading:A8,hr:rm,html:B8,lheading:bR,list:W8,newline:M8,paragraph:wR,table:zc,text:F8},gD=gn("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",rm).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",Tw).getRegex(),V8={...Y1,lheading:O8,table:gD,paragraph:gn(G1).replace("hr",rm).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",gD).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",Tw).getRegex()},j8={...Y1,html:gn(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",X1).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:zc,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:gn(G1).replace("hr",rm).replace("heading",` *#{1,6} *[^
82
- ]`).replace("lheading",bR).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},U8=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,$8=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,yR=/^( {2,}|\\)\n(?!\s*$)/,q8=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,Rg=/[\p{P}\p{S}]/u,Mw=/[\s\p{P}\p{S}]/u,J1=/[^\s\p{P}\p{S}]/u,K8=gn(/^((?![*_])punctSpace)/,"u").replace(/punctSpace/g,Mw).getRegex(),SR=/(?!~)[\p{P}\p{S}]/u,G8=/(?!~)[\s\p{P}\p{S}]/u,Z8=/(?:[^\s\p{P}\p{S}]|~)/u,X8=gn(/link|precode-code|html/,"g").replace("link",/\[(?:[^\[\]`]|(?<a>`+)[^`]+\k<a>(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace("precode-",T8?"(?<!`)()":"(^^|[^`])").replace("code",/(?<b>`+)[^`]+\k<b>(?!`)/).replace("html",/<(?! )[^<>]*?>/).getRegex(),CR=/^(?:\*+(?:((?!\*)punct)|([^\s*]))?)|^_+(?:((?!_)punct)|([^\s_]))?/,Y8=gn(CR,"u").replace(/punct/g,Rg).getRegex(),J8=gn(CR,"u").replace(/punct/g,SR).getRegex(),xR="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)",Q8=gn(xR,"gu").replace(/notPunctSpace/g,J1).replace(/punctSpace/g,Mw).replace(/punct/g,Rg).getRegex(),eq=gn(xR,"gu").replace(/notPunctSpace/g,Z8).replace(/punctSpace/g,G8).replace(/punct/g,SR).getRegex(),tq=gn("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)","gu").replace(/notPunctSpace/g,J1).replace(/punctSpace/g,Mw).replace(/punct/g,Rg).getRegex(),iq=gn(/^~~?(?:((?!~)punct)|[^\s~])/,"u").replace(/punct/g,Rg).getRegex(),nq="^[^~]+(?=[^~])|(?!~)punct(~~?)(?=[\\s]|$)|notPunctSpace(~~?)(?!~)(?=punctSpace|$)|(?!~)punctSpace(~~?)(?=notPunctSpace)|[\\s](~~?)(?!~)(?=punct)|(?!~)punct(~~?)(?!~)(?=punct)|notPunctSpace(~~?)(?=notPunctSpace)",sq=gn(nq,"gu").replace(/notPunctSpace/g,J1).replace(/punctSpace/g,Mw).replace(/punct/g,Rg).getRegex(),oq=gn(/\\(punct)/,"gu").replace(/punct/g,Rg).getRegex(),rq=gn(/^<(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(),aq=gn(X1).replace("(?:-->|$)","-->").getRegex(),lq=gn("^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",aq).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),Wv=/(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+(?!`)[^`]*?`+(?!`)|``+(?=\])|[^\[\]\\`])*?/,cq=gn(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]+(?:\n[ \t]*)?|\n[ \t]*)(title))?\s*\)/).replace("label",Wv).replace("href",/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),LR=gn(/^!?\[(label)\]\[(ref)\]/).replace("label",Wv).replace("ref",Z1).getRegex(),kR=gn(/^!?\[(ref)\](?:\[\])?/).replace("ref",Z1).getRegex(),dq=gn("reflink|nolink(?!\\()","g").replace("reflink",LR).replace("nolink",kR).getRegex(),fD=/[hH][tT][tT][pP][sS]?|[fF][tT][pP]/,Q1={_backpedal:zc,anyPunctuation:oq,autolink:rq,blockSkip:X8,br:yR,code:$8,del:zc,delLDelim:zc,delRDelim:zc,emStrongLDelim:Y8,emStrongRDelimAst:Q8,emStrongRDelimUnd:tq,escape:U8,link:cq,nolink:kR,punctuation:K8,reflink:LR,reflinkSearch:dq,tag:lq,text:q8,url:zc},hq={...Q1,link:gn(/^!?\[(label)\]\((.*?)\)/).replace("label",Wv).getRegex(),reflink:gn(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",Wv).getRegex()},i0={...Q1,emStrongRDelimAst:eq,emStrongLDelim:J8,delLDelim:iq,delRDelim:sq,url:gn(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("protocol",fD).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:gn(/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|protocol:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/).replace("protocol",fD).getRegex()},uq={...i0,br:gn(yR).replace("{2,}","*").getRegex(),text:gn(i0.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()},qm={normal:Y1,gfm:V8,pedantic:j8},Zg={normal:Q1,gfm:i0,breaks:uq,pedantic:hq},gq={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},pD=o=>gq[o];function ia(o,e){if(e){if($s.escapeTest.test(o))return o.replace($s.escapeReplace,pD)}else if($s.escapeTestNoEncode.test(o))return o.replace($s.escapeReplaceNoEncode,pD);return o}function mD(o){try{o=encodeURI(o).replace($s.percentDecode,"%")}catch{return null}return o}function _D(o,e){var s;let t=o.replace($s.findPipe,(r,a,c)=>{let h=!1,g=a;for(;--g>=0&&c[g]==="\\";)h=!h;return h?"|":" |"}),i=t.split($s.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($s.slashPipe,"|");return i}function Il(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 vD(o){let e=o.split(`
83
- `),t=e.length-1;for(;t>=0&&$s.blankLine.test(e[t]);)t--;return e.length-t<=2?o:e.slice(0,t+1).join(`
84
- `)}function fq(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 pq(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 bD(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 c={type:o[0].charAt(0)==="!"?"image":"link",raw:t,href:s,title:r,text:a,tokens:i.inlineTokens(a)};return i.state.inLink=!1,c}function mq(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 Bv=class{constructor(o){Ai(this,"options");Ai(this,"rules");Ai(this,"lexer");this.options=o||kh}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]:vD(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=mq(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=Il(t,"#");(this.options.pedantic||!i||this.rules.other.endingSpaceChar.test(i))&&(t=i.trim())}return{type:"heading",raw:Il(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:Il(e[0],`
88
- `)}}blockquote(o){let e=this.rules.block.blockquote.exec(o);if(e){let t=Il(e[0],`
89
- `).split(`
90
- `),i="",n="",s=[];for(;t.length>0;){let r=!1,a=[],c;for(c=0;c<t.length;c++)if(this.rules.other.blockquoteStart.test(t[c]))a.push(t[c]),r=!0;else if(!r)a.push(t[c]);else break;t=t.slice(c);let h=a.join(`
91
- `),g=h.replace(this.rules.other.blockquoteSetextReplace,`
92
- $1`).replace(this.rules.other.blockquoteSetextReplace2,"");i=i?`${i}
93
- ${h}`:h,n=n?`${n}
94
- ${g}`:g;let f=this.lexer.state.top;if(this.lexer.state.top=!0,this.lexer.blockTokens(g,s,!0),this.lexer.state.top=f,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 v=p,_=v.raw+`
95
- `+t.join(`
96
- `),y=this.blockquote(_);s[s.length-1]=y,i=i.substring(0,i.length-v.raw.length)+y.raw,n=n.substring(0,n.length-v.text.length)+y.text;break}else if((p==null?void 0:p.type)==="list"){let v=p,_=v.raw+`
97
- `+t.join(`
98
- `),y=this.list(_);s[s.length-1]=y,i=i.substring(0,i.length-p.raw.length)+y.raw,n=n.substring(0,n.length-v.raw.length)+y.raw,t=_.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 c=!1,h="",g="";if(!(e=s.exec(o))||this.rules.block.hr.test(o))break;h=e[0],o=o.substring(h.length);let f=pq(e[2].split(`
100
- `,1)[0],e[1].length),p=o.split(`
101
- `,1)[0],v=!f.trim(),_=0;if(this.options.pedantic?(_=2,g=f.trimStart()):v?_=e[1].length+1:(_=f.search(this.rules.other.nonSpaceChar),_=_>4?1:_,g=f.slice(_),_+=e[1].length),v&&this.rules.other.blankLine.test(p)&&(h+=p+`
102
- `,o=o.substring(p.length+1),c=!0),!c){let y=this.rules.other.nextBulletRegex(_),S=this.rules.other.hrRegex(_),D=this.rules.other.fencesBeginRegex(_),P=this.rules.other.headingBeginRegex(_),N=this.rules.other.htmlBeginRegex(_),j=this.rules.other.blockquoteBeginRegex(_);for(;o;){let H=o.split(`
103
- `,1)[0],ee;if(p=H,this.options.pedantic?(p=p.replace(this.rules.other.listReplaceNesting," "),ee=p):ee=p.replace(this.rules.other.tabCharGlobal," "),D.test(p)||P.test(p)||N.test(p)||j.test(p)||y.test(p)||S.test(p))break;if(ee.search(this.rules.other.nonSpaceChar)>=_||!p.trim())g+=`
104
- `+ee.slice(_);else{if(v||f.replace(this.rules.other.tabCharGlobal," ").search(this.rules.other.nonSpaceChar)>=4||D.test(f)||P.test(f)||S.test(f))break;g+=`
105
- `+p}v=!p.trim(),h+=H+`
106
- `,o=o.substring(H.length+1),f=ee.slice(_)}}n.loose||(r?n.loose=!0:this.rules.other.doubleBlankLine.test(h)&&(r=!0)),n.items.push({type:"list_item",raw:h,task:!!this.options.gfm&&this.rules.other.listIsTask.test(g),loose:!1,text:g,tokens:[]}),n.raw+=h}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 c of n.items){this.lexer.state.top=!1,c.tokens=this.lexer.blockTokens(c.text,[]);let h=c.tokens[0];if(c.task&&((h==null?void 0:h.type)==="text"||(h==null?void 0:h.type)==="paragraph")){c.text=c.text.replace(this.rules.other.listReplaceTask,""),h.raw=h.raw.replace(this.rules.other.listReplaceTask,""),h.text=h.text.replace(this.rules.other.listReplaceTask,"");for(let f=this.lexer.inlineQueue.length-1;f>=0;f--)if(this.rules.other.listIsTask.test(this.lexer.inlineQueue[f].src)){this.lexer.inlineQueue[f].src=this.lexer.inlineQueue[f].src.replace(this.rules.other.listReplaceTask,"");break}let g=this.rules.other.listTaskCheckbox.exec(c.raw);if(g){let f={type:"checkbox",raw:g[0]+" ",checked:g[0]!=="[ ]"};c.checked=f.checked,n.loose?c.tokens[0]&&["paragraph","text"].includes(c.tokens[0].type)&&"tokens"in c.tokens[0]&&c.tokens[0].tokens?(c.tokens[0].raw=f.raw+c.tokens[0].raw,c.tokens[0].text=f.raw+c.tokens[0].text,c.tokens[0].tokens.unshift(f)):c.tokens.unshift({type:"paragraph",raw:f.raw,text:f.raw,tokens:[f]}):c.tokens.unshift(f)}}else c.task&&(c.task=!1);if(!n.loose){let g=c.tokens.filter(p=>p.type==="space"),f=g.length>0&&g.some(p=>this.rules.other.anyLine.test(p.raw));n.loose=f}}if(n.loose)for(let c of n.items){c.loose=!0;for(let h of c.tokens)h.type==="text"&&(h.type="paragraph")}return n}}html(o){let e=this.rules.block.html.exec(o);if(e){let t=vD(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:Il(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=_D(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:Il(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(_D(a,s.header.length).map((c,h)=>({text:c,tokens:this.lexer.inline(c),header:!1,align:s.align[h]})));return s}}lheading(o){let e=this.rules.block.lheading.exec(o);if(e){let t=e[1].trim();return{type:"heading",raw:Il(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=Il(t.slice(0,-1),"\\");if((t.length-s.length)%2===0)return}else{let s=fq(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)),bD(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 bD(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,c=0,h=i[0][0]==="*"?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(h.lastIndex=0,e=e.slice(-1*o.length+n);(i=h.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)){c+=r;continue}if(a-=r,a>0)continue;r=Math.min(r,r+a+c);let g=[...i[0]][0].length,f=o.slice(0,n+i.index+g+r);if(Math.min(n,r)%2){let v=f.slice(1,-1);return{type:"em",raw:f,text:v,tokens:this.lexer.inlineTokens(v)}}let p=f.slice(2,-2);return{type:"strong",raw:f,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,c=this.rules.inline.delRDelim;for(c.lastIndex=0,e=e.slice(-1*o.length+n);(i=c.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 h=[...i[0]][0].length,g=o.slice(0,n+i.index+h+r),f=g.slice(n,-n);return{type:"del",raw:g,text:f,tokens:this.lexer.inlineTokens(f)}}}}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}}}},Pr=class n0{constructor(e){Ai(this,"tokens");Ai(this,"options");Ai(this,"state");Ai(this,"inlineQueue");Ai(this,"tokenizer");this.tokens=[],this.tokens.links=Object.create(null),this.options=e||kh,this.options.tokenizer=this.options.tokenizer||new Bv,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:$s,block:qm.normal,inline:Zg.normal};this.options.pedantic?(t.block=qm.pedantic,t.inline=Zg.pedantic):this.options.gfm&&(t.block=qm.gfm,this.options.breaks?t.inline=Zg.breaks:t.inline=Zg.gfm),this.tokenizer.rules=t}static get rules(){return{block:qm,inline:Zg}}static lex(e,t){return new n0(t).lex(e)}static lexInline(e,t){return new n0(t).inlineTokens(e)}lex(e){e=e.replace($s.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($s.tabCharGlobal," ").replace($s.spaceLine,""));let n=1/0;for(;e;){if(e.length<n)n=e.length;else{this.infiniteLoopError(e.charCodeAt(0));break}let c;if((r=(s=this.options.extensions)==null?void 0:s.block)!=null&&r.some(g=>(c=g.call({lexer:this},e,t))?(e=e.substring(c.raw.length),t.push(c),!0):!1))continue;if(c=this.tokenizer.space(e)){e=e.substring(c.raw.length);let g=t.at(-1);c.raw.length===1&&g!==void 0?g.raw+=`
113
- `:t.push(c);continue}if(c=this.tokenizer.code(e)){e=e.substring(c.raw.length);let g=t.at(-1);(g==null?void 0:g.type)==="paragraph"||(g==null?void 0:g.type)==="text"?(g.raw+=(g.raw.endsWith(`
114
- `)?"":`
115
- `)+c.raw,g.text+=`
116
- `+c.text,this.inlineQueue.at(-1).src=g.text):t.push(c);continue}if(c=this.tokenizer.fences(e)){e=e.substring(c.raw.length),t.push(c);continue}if(c=this.tokenizer.heading(e)){e=e.substring(c.raw.length),t.push(c);continue}if(c=this.tokenizer.hr(e)){e=e.substring(c.raw.length),t.push(c);continue}if(c=this.tokenizer.blockquote(e)){e=e.substring(c.raw.length),t.push(c);continue}if(c=this.tokenizer.list(e)){e=e.substring(c.raw.length),t.push(c);continue}if(c=this.tokenizer.html(e)){e=e.substring(c.raw.length),t.push(c);continue}if(c=this.tokenizer.def(e)){e=e.substring(c.raw.length);let g=t.at(-1);(g==null?void 0:g.type)==="paragraph"||(g==null?void 0:g.type)==="text"?(g.raw+=(g.raw.endsWith(`
117
- `)?"":`
118
- `)+c.raw,g.text+=`
119
- `+c.raw,this.inlineQueue.at(-1).src=g.text):this.tokens.links[c.tag]||(this.tokens.links[c.tag]={href:c.href,title:c.title},t.push(c));continue}if(c=this.tokenizer.table(e)){e=e.substring(c.raw.length),t.push(c);continue}if(c=this.tokenizer.lheading(e)){e=e.substring(c.raw.length),t.push(c);continue}let h=e;if((a=this.options.extensions)!=null&&a.startBlock){let g=1/0,f=e.slice(1),p;this.options.extensions.startBlock.forEach(v=>{p=v.call({lexer:this},f),typeof p=="number"&&p>=0&&(g=Math.min(g,p))}),g<1/0&&g>=0&&(h=e.substring(0,g+1))}if(this.state.top&&(c=this.tokenizer.paragraph(h))){let g=t.at(-1);i&&(g==null?void 0:g.type)==="paragraph"?(g.raw+=(g.raw.endsWith(`
120
- `)?"":`
121
- `)+c.raw,g.text+=`
122
- `+c.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=g.text):t.push(c),i=h.length!==e.length,e=e.substring(c.raw.length);continue}if(c=this.tokenizer.text(e)){e=e.substring(c.raw.length);let g=t.at(-1);(g==null?void 0:g.type)==="text"?(g.raw+=(g.raw.endsWith(`
123
- `)?"":`
124
- `)+c.raw,g.text+=`
125
- `+c.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=g.text):t.push(c);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 h,g,f,p,v;this.tokenizer.lexer=this;let i=e,n=null;if(this.tokens.links){let _=Object.keys(this.tokens.links);if(_.length>0)for(;(n=this.tokenizer.rules.inline.reflinkSearch.exec(i))!==null;)_.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=((g=(h=this.options.hooks)==null?void 0:h.emStrongMask)==null?void 0:g.call({lexer:this},i))??i;let r=!1,a="",c=1/0;for(;e;){if(e.length<c)c=e.length;else{this.infiniteLoopError(e.charCodeAt(0));break}r||(a=""),r=!1;let _;if((p=(f=this.options.extensions)==null?void 0:f.inline)!=null&&p.some(S=>(_=S.call({lexer:this},e,t))?(e=e.substring(_.raw.length),t.push(_),!0):!1))continue;if(_=this.tokenizer.escape(e)){e=e.substring(_.raw.length),t.push(_);continue}if(_=this.tokenizer.tag(e)){e=e.substring(_.raw.length),t.push(_);continue}if(_=this.tokenizer.link(e)){e=e.substring(_.raw.length),t.push(_);continue}if(_=this.tokenizer.reflink(e,this.tokens.links)){e=e.substring(_.raw.length);let S=t.at(-1);_.type==="text"&&(S==null?void 0:S.type)==="text"?(S.raw+=_.raw,S.text+=_.text):t.push(_);continue}if(_=this.tokenizer.emStrong(e,i,a)){e=e.substring(_.raw.length),t.push(_);continue}if(_=this.tokenizer.codespan(e)){e=e.substring(_.raw.length),t.push(_);continue}if(_=this.tokenizer.br(e)){e=e.substring(_.raw.length),t.push(_);continue}if(_=this.tokenizer.del(e,i,a)){e=e.substring(_.raw.length),t.push(_);continue}if(_=this.tokenizer.autolink(e)){e=e.substring(_.raw.length),t.push(_);continue}if(!this.state.inLink&&(_=this.tokenizer.url(e))){e=e.substring(_.raw.length),t.push(_);continue}let y=e;if((v=this.options.extensions)!=null&&v.startInline){let S=1/0,D=e.slice(1),P;this.options.extensions.startInline.forEach(N=>{P=N.call({lexer:this},D),typeof P=="number"&&P>=0&&(S=Math.min(S,P))}),S<1/0&&S>=0&&(y=e.substring(0,S+1))}if(_=this.tokenizer.inlineText(y)){e=e.substring(_.raw.length),_.raw.slice(-1)!=="_"&&(a=_.raw.slice(-1)),r=!0;let S=t.at(-1);(S==null?void 0:S.type)==="text"?(S.raw+=_.raw,S.text+=_.text):t.push(_);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)}},zv=class{constructor(o){Ai(this,"options");Ai(this,"parser");this.options=o||kh}space(o){return""}code({text:o,lang:e,escaped:t}){var s;let i=(s=(e||"").match($s.notSpaceStart))==null?void 0:s[0],n=o.replace($s.endingNewline,"")+`
126
- `;return i?'<pre><code class="language-'+ia(i)+'">'+(t?n:ia(n,!0))+`</code></pre>
127
- `:"<pre><code>"+(t?n:ia(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>${ia(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=mD(o);if(n===null)return i;o=n;let s='<a href="'+o+'"';return e&&(s+=' title="'+ia(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=mD(o);if(n===null)return ia(t);o=n;let s=`<img src="${o}" alt="${ia(t)}"`;return e&&(s+=` title="${ia(e)}"`),s+=">",s}text(o){return"tokens"in o&&o.tokens?this.parser.parseInline(o.tokens):"escaped"in o&&o.escaped?o.text:ia(o.text)}},eL=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}},Tr=class s0{constructor(e){Ai(this,"options");Ai(this,"renderer");Ai(this,"textRenderer");this.options=e||kh,this.options.renderer=this.options.renderer||new zv,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new eL}static parse(e,t){return new s0(t).parse(e)}static parseInline(e,t){return new s0(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 c=r,h=this.options.extensions.renderers[c.type].call({parser:this},c);if(h!==!1||!["space","hr","heading","code","table","blockquote","list","html","def","paragraph","text"].includes(c.type)){t+=h||"";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 c='Token with "'+a.type+'" type was not found.';if(this.options.silent)return console.error(c),"";throw new Error(c)}}}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 h=this.options.extensions.renderers[a.type].call({parser:this},a);if(h!==!1||!["escape","html","link","image","strong","em","codespan","br","del","text"].includes(a.type)){i+=h||"";continue}}let c=a;switch(c.type){case"escape":{i+=t.text(c);break}case"html":{i+=t.html(c);break}case"link":{i+=t.link(c);break}case"image":{i+=t.image(c);break}case"checkbox":{i+=t.checkbox(c);break}case"strong":{i+=t.strong(c);break}case"em":{i+=t.em(c);break}case"codespan":{i+=t.codespan(c);break}case"br":{i+=t.br(c);break}case"del":{i+=t.del(c);break}case"text":{i+=t.text(c);break}default:{let h='Token with "'+c.type+'" type was not found.';if(this.options.silent)return console.error(h),"";throw new Error(h)}}}return i}},Km,gf=(Km=class{constructor(o){Ai(this,"options");Ai(this,"block");this.options=o||kh}preprocess(o){return o}postprocess(o){return o}processAllTokens(o){return o}emStrongMask(o){return o}provideLexer(o=this.block){return o?Pr.lex:Pr.lexInline}provideParser(o=this.block){return o?Tr.parse:Tr.parseInline}},Ai(Km,"passThroughHooks",new Set(["preprocess","postprocess","processAllTokens","emStrongMask"])),Ai(Km,"passThroughHooksRespectAsync",new Set(["preprocess","postprocess","processAllTokens"])),Km),_q=class{constructor(...o){Ai(this,"defaults",q1());Ai(this,"options",this.setOptions);Ai(this,"parse",this.parseMarkdown(!0));Ai(this,"parseInline",this.parseMarkdown(!1));Ai(this,"Parser",Tr);Ai(this,"Renderer",zv);Ai(this,"TextRenderer",eL);Ai(this,"Lexer",Pr);Ai(this,"Tokenizer",Bv);Ai(this,"Hooks",gf);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 c of a)t=t.concat(this.walkTokens(c.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 c=r[a].flat(1/0);t=t.concat(this.walkTokens(c,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 zv(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],c=n[r];n[r]=(...h)=>{let g=a.apply(n,h);return g===!1&&(g=c.apply(n,h)),g||""}}i.renderer=n}if(t.tokenizer){let n=this.defaults.tokenizer||new Bv(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],c=n[r];n[r]=(...h)=>{let g=a.apply(n,h);return g===!1&&(g=c.apply(n,h)),g}}i.tokenizer=n}if(t.hooks){let n=this.defaults.hooks||new gf;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],c=n[r];gf.passThroughHooks.has(s)?n[r]=h=>{if(this.defaults.async&&gf.passThroughHooksRespectAsync.has(s))return(async()=>{let f=await a.call(n,h);return c.call(n,f)})();let g=a.call(n,h);return c.call(n,g)}:n[r]=(...h)=>{if(this.defaults.async)return(async()=>{let f=await a.apply(n,h);return f===!1&&(f=await c.apply(n,h)),f})();let g=a.apply(n,h);return g===!1&&(g=c.apply(n,h)),g}}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 Pr.lex(o,e??this.defaults)}parser(o,e){return Tr.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?Pr.lex:Pr.lexInline)(r,n),c=n.hooks?await n.hooks.processAllTokens(a):a;n.walkTokens&&await Promise.all(this.walkTokens(c,n.walkTokens));let h=await(n.hooks?await n.hooks.provideParser(o):o?Tr.parse:Tr.parseInline)(c,n);return n.hooks?await n.hooks.postprocess(h):h})().catch(s);try{n.hooks&&(e=n.hooks.preprocess(e));let r=(n.hooks?n.hooks.provideLexer(o):o?Pr.lex:Pr.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?Tr.parse:Tr.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>"+ia(t.message+"",!0)+"</pre>";return e?Promise.resolve(i):i}if(e)return Promise.reject(t);throw t}}},fh=new _q;function Pn(o,e){return fh.parse(o,e)}Pn.options=Pn.setOptions=function(o){return fh.setOptions(o),Pn.defaults=fh.defaults,_R(Pn.defaults),Pn};Pn.getDefaults=q1;Pn.defaults=kh;Pn.use=function(...o){return fh.use(...o),Pn.defaults=fh.defaults,_R(Pn.defaults),Pn};Pn.walkTokens=function(o,e){return fh.walkTokens(o,e)};Pn.parseInline=fh.parseInline;Pn.Parser=Tr;Pn.parser=Tr.parse;Pn.Renderer=zv;Pn.TextRenderer=eL;Pn.Lexer=Pr;Pn.lexer=Pr.lex;Pn.Tokenizer=Bv;Pn.Hooks=gf;Pn.parse=Pn;Pn.options;Pn.setOptions;Pn.use;Pn.walkTokens;Pn.parseInline;Tr.parse;Pr.lex;var vq=R('<span class="chat-model svelte-10ayso4"><!></span>'),bq=R('<button class="clear-btn svelte-10ayso4" title="New conversation">+</button>'),wq=R('<p class="history-empty svelte-10ayso4">No saved conversations.</p>'),yq=R('<li><button class="history-load svelte-10ayso4"> </button> <button class="history-del svelte-10ayso4" title="Delete">✕</button></li>'),Sq=R('<ul class="history-list svelte-10ayso4"></ul>'),Cq=R('<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>'),xq=R('<div class="unconfigured svelte-10ayso4">Configure an AI provider in the <strong class="svelte-10ayso4">Config</strong> tab to use the AI assistant.</div>'),Lq=R('Chatting in context of <code class="svelte-10ayso4"> </code>',1),kq=R('<button class="chip svelte-10ayso4"> </button>'),Iq=R('<div class="suggestions svelte-10ayso4"><p class="suggestions-hint svelte-10ayso4"><!></p> <!></div>'),Dq=R('<div class="msg-content user-text svelte-10ayso4"> </div>'),wD=R('<span class="tool-args svelte-10ayso4"> </span>'),yD=R('<div class="tool-event tool-call svelte-10ayso4"><span class="tool-icon svelte-10ayso4">🔧</span> <span class="tool-name svelte-10ayso4"> </span> <!></div>'),SD=R('<div class="tool-event tool-result svelte-10ayso4"><span class="tool-icon svelte-10ayso4">✓</span> <span class="tool-name svelte-10ayso4"> </span></div>'),CD=R('<div class="tool-events svelte-10ayso4"></div>'),xD=R('<div class="text-block svelte-10ayso4"></div>'),Eq=R('<button class="create-btn svelte-10ayso4">Save as new file…</button>'),Pq=R('<span class="auto-badge svelte-10ayso4" title="Auto-applying AI code to this script in this session">auto ✓</span>'),Tq=R('<button class="apply-auto-btn svelte-10ayso4" title="Apply and always apply for this script in this session">always</button>'),Mq=R('<button class="apply-btn svelte-10ayso4">Apply</button> <!>',1),Nq=R('<button class="expand-btn svelte-10ayso4"> </button>'),Rq=R('<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>'),Aq=R('<!> <div class="msg-content svelte-10ayso4"></div>',1),Oq=R("<div><!></div>"),Fq=R('<div class="message assistant svelte-10ayso4"><div class="msg-content svelte-10ayso4"><span class="status-shimmer svelte-10ayso4"> </span></div></div>'),Hq=R('<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>'),Wq=R('<div class="message assistant streaming svelte-10ayso4"><div class="msg-content svelte-10ayso4"></div></div>'),Bq=R('<div class="chat-error svelte-10ayso4"> </div>'),zq=R('<span><span> </span> <span class="chip-name svelte-10ayso4"> </span> <button class="chip-remove svelte-10ayso4"> </button></span>'),Vq=R('<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>'),jq=R('<button class="stop-btn svelte-10ayso4" title="Stop generation">■</button>'),Uq=R('<button class="send-btn svelte-10ayso4">↑</button>'),$q=R('<option class="svelte-10ayso4"> </option>'),qq=R('<select class="model-select svelte-10ayso4"></select>'),Kq=R('<span class="model-name svelte-10ayso4"> </span>'),Gq=R('<button class="info-btn svelte-10ayso4" title="Model info">ℹ</button>'),Zq=R('<div class="model-bar svelte-10ayso4"><span class="model-provider svelte-10ayso4"> </span> <!> <!></div>'),Xq=R('<p class="info-status svelte-10ayso4">Loading…</p>'),Yq=R('<p class="info-status info-err svelte-10ayso4"> </p>'),Jq=R('<dt class="svelte-10ayso4">Ollama version</dt><dd class="svelte-10ayso4"> </dd>',1),Qq=R('<dt class="svelte-10ayso4">Family</dt><dd class="svelte-10ayso4"> </dd>',1),eK=R('<dt class="svelte-10ayso4">Parameters</dt><dd class="svelte-10ayso4"> </dd>',1),tK=R('<dt class="svelte-10ayso4">Quantization</dt><dd class="svelte-10ayso4"> </dd>',1),iK=R('<dt class="svelte-10ayso4">Format</dt><dd class="svelte-10ayso4"> </dd>',1),nK=R('<div class="running-model svelte-10ayso4"> </div>'),sK=R('<dt class="svelte-10ayso4">Loaded</dt> <dd class="svelte-10ayso4"></dd>',1),oK=R('<dt class="svelte-10ayso4">Loaded</dt><dd class="dim svelte-10ayso4">Not in memory</dd>',1),rK=R('<dl class="svelte-10ayso4"><!> <!> <!> <!> <!> <!></dl>'),aK=R('<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>'),lK=R('<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 cK(o,e){Do(e,!0),Hv.registerLanguage("javascript",mR),Pn.use({breaks:!0,gfm:!0});let t=og(e,"currentScript",3,null),i=og(e,"extraFiles",31,()=>bi([])),n=U(bi([])),s=U(null),r=U(""),a=U(!1),c=U(""),h=U(null);const g="she:conversationId";function f(){return crypto.randomUUID().replace(/-/g,"").slice(0,16)}let p=U(bi(localStorage.getItem(g)??f())),v=U(bi([])),_=U(!1);An(()=>{localStorage.setItem(g,u(p))});let y=U(bi([])),S=U(bi(localStorage.getItem("she:selectedModel")??"")),D=U(null);const P=ot(()=>{var z;return u(D)!==null&&((z=t())==null?void 0:z.path)===u(D)});let N=U(bi(new Set)),j=U(!1),H=U(null),ee=U(!1),X=U(""),pe=U(0),be=null,Te=U(0);const xe=["[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 ct=U(!0),Pt=U(!0),dt=U(!0),ai=U(!1),Mt,Jt=U(bi([])),ge,rt;const Ae=ot(()=>({apiref:u(ct),tools:u(Pt)})),Ze=ot(()=>{var z;return((z=u(h))==null?void 0:z.configured)??!1}),pt=ot(()=>{var z;return u(Ze)||!!((z=u(h))!=null&&z.provider)&&!!u(S)}),di=ot(()=>u(pe)+new TextEncoder().encode(u(r)).length),Gt=ot(()=>u(dt)?t():null);An(()=>{var se;const z=(se=t())==null?void 0:se.path;I(dt,!0),u(D)!==null&&z!==u(D)&&I(D,null)}),An(()=>{var nt;if(!u(P))return;const z=u(n).at(-1);if(!z||z.role!=="assistant")return;const Fe=kt(z.content).find(xt=>xt.type==="code"&&Ln(xt.lang));if(Fe){const xt=mn(Fe.text);(nt=e.onApply)==null||nt.call(e,xt?xt.code:Fe.text)}});async function Ct(){try{const z=await oR();I(h,z,!0),z.configured&&!u(S)&&I(S,z.model,!0)}catch{}}An(()=>(window.addEventListener("she:config-changed",Ct),()=>window.removeEventListener("she:config-changed",Ct))),An(()=>{u(S)&&localStorage.setItem("she:selectedModel",u(S))}),An(()=>{var z;(z=u(h))!=null&&z.provider&&rR().then(se=>{I(y,se.models,!0),!u(S)&&se.models.length>0&&I(S,se.models[0],!0)}).catch(()=>{})}),An(()=>{u(S),I(H,null),I(X,"")}),An(()=>{if(!u(a))return;I(Te,Math.floor(Math.random()*xe.length),!0);const z=setInterval(()=>{I(Te,(u(Te)+1)%xe.length)},1e4);return()=>clearInterval(z)}),An(()=>{var z;rt&&(u(n).length+(((z=u(s))==null?void 0:z.length)??0),requestAnimationFrame(()=>{rt&&(rt.scrollTop=rt.scrollHeight)}))}),An(()=>{const z=u(Ae),se=u(Gt),Fe=i();u(pt)&&lR({context:z,currentScript:se??null,extraFiles:Fe.length>0?Fe:void 0}).then(nt=>{I(pe,new TextEncoder().encode(nt.prompt).length,!0)}).catch(()=>{})});function kt(z){const se=z.replace(/(\n|^)(\/{2} @[a-z-]+:[^\n]+)\n(```\w*)\n/g,`$1$3
145
- $2
146
- `),Fe=[],nt=/```(\w*)\n([\s\S]*?)```/g;let xt=0,Ne;for(;(Ne=nt.exec(se))!==null;)Ne.index>xt&&Fe.push({type:"text",text:se.slice(xt,Ne.index)}),Fe.push({type:"code",lang:Ne[1]||"text",text:Ne[2].trimEnd()}),xt=Ne.index+Ne[0].length;return xt<se.length&&Fe.push({type:"text",text:se.slice(xt)}),Fe}const yi=15;function Hi(z){return z.split(`
147
- `).length>yi}function Cn(z){const se=new Set(u(N));se.has(z)?se.delete(z):se.add(z),I(N,se,!0)}function Qi(z,se){if(Ln(se))try{return Hv.highlight(z,{language:"javascript"}).value}catch{}return z.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function Mi(z){return Pn.parse(z)}function xn(z){const se=z.replace(/(\n|^)(\/{2} @[a-z-]+:[^\n]+)\n(```\w*)\n/g,`$1$3
148
- $2
149
- `),Fe=[],nt=/```(\w*)\n([\s\S]*?)```/g;let xt=0,Ne;for(;(Ne=nt.exec(se))!==null;)Ne.index>xt&&Fe.push({type:"text",text:se.slice(xt,Ne.index)}),Fe.push({type:"code",lang:Ne[1]||"text",text:Ne[2].trimEnd()}),xt=Ne.index+Ne[0].length;const $e=se.slice(xt),de=$e.match(/```(\w*)\n([\s\S]*)$/);return de?(de.index>0&&Fe.push({type:"text",text:$e.slice(0,de.index)}),Fe.push({type:"code",lang:de[1]||"text",text:de[2]})):$e&&Fe.push({type:"text",text:$e}),Fe}function pn(z){navigator.clipboard.writeText(z).catch(()=>{})}function Vn(z,se=!1){var Fe;se&&t()&&I(D,t().path,!0),(Fe=e.onApply)==null||Fe.call(e,z)}function Ln(z){return!z||z==="js"||z==="javascript"}function mn(z){const se=z.match(/^\/\/ @new-file:\s*(\S+\.js)[ \t]*\n/);return se?{filename:se[1],code:z.slice(se[0].length)}:null}function Bn(z){return z>=1e9?`${(z/1e9).toFixed(1)} GB`:z>=1e6?`${(z/1e6).toFixed(0)} MB`:z>=1024?`${(z/1024).toFixed(1)} kB`:`${z} B`}async function kn(){if(I(j,!0),!(u(H)||u(ee))){I(ee,!0),I(X,"");try{I(H,await aR(u(S)||u(h).model),!0)}catch(z){I(X,z.message,!0)}I(ee,!1)}}function Kn(z){const se=z.match(/\.([^.]+)$/);return se?se[1].toUpperCase():"?"}function Xe(z){switch(z){case"SH":case"BASH":return"$";case"MD":case"MARKDOWN":return"⇓";case"JSON":case"JSONC":return"{}";default:return z}}function Ht(z){i(i().filter((se,Fe)=>Fe!==z))}function li(){Mt.click()}async function Bt(z){if(!(!z||z.length===0))for(const se of Array.from(z)){const Fe=await se.text();i([...i(),{name:se.name,content:Fe}])}}function pi(z){const se=z.target;Bt(se.files),se.value=""}function In(z){var se;z.preventDefault(),I(ai,!1),Bt(((se=z.dataTransfer)==null?void 0:se.files)??null)}function on(z){var se;(se=z.dataTransfer)!=null&&se.types.includes("Files")&&(z.preventDefault(),I(ai,!0))}function en(){I(ai,!1)}async function dn(){try{I(v,await u8(),!0)}catch{}}async function $n(){var se;if(u(n).length===0)return;const z=((se=u(n).find(Fe=>Fe.role==="user"))==null?void 0:se.content.slice(0,80))??u(p);try{await g8(u(p),z,u(n)),await dn()}catch{}}async function Ei(z){try{const se=await cD(z);I(n,se.messages,!0),I(p,z,!0),I(_,!1),I(c,"")}catch{}}async function _n(z){try{await f8(z),await dn(),z===u(p)&&Tn()}catch{}}function Tn(){I(n,[],!0),I(c,""),I(p,f(),!0),I(_,!1)}vr(async()=>{Ct();try{const z=await cD(u(p));I(n,z.messages,!0)}catch{}await dn()});async function Zn(){const z=u(r).trim();if(!z||u(a))return;I(r,""),I(c,""),I(a,!0);const se={role:"user",content:z};I(n,[...u(n),se],!0),be=new AbortController,I(Jt,[],!0);try{await cR({messages:u(n),currentScript:u(Gt),context:u(Ae),modelOverride:u(S)||void 0,extraFiles:i().length>0?i():void 0},Fe=>{I(s,(u(s)??"")+Fe)},be.signal,Fe=>{I(Jt,[...u(Jt),Fe],!0)}),I(n,[...u(n),{role:"assistant",content:u(s)??"",toolEvents:u(Jt).length>0?[...u(Jt)]:void 0}],!0),I(Jt,[],!0)}catch(Fe){if(Fe.name==="AbortError"){const nt=u(s);nt&&nt.trim()&&I(n,[...u(n),{role:"assistant",content:nt+`
150
-
151
- *[stopped]*`,toolEvents:u(Jt).length>0?[...u(Jt)]:void 0}],!0)}else I(c,Fe.message,!0)}finally{be=null,I(s,null),I(Jt,[],!0),I(a,!1),$n()}}function Mn(){be==null||be.abort()}function rn(z){z.key==="Enter"&&!z.shiftKey&&(z.preventDefault(),Zn())}function Nn(){Tn()}const tn=["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 Se(z){I(r,z,!0),ge==null||ge.focus()}var G=lK(),Le=wt(G),at=C(Le),It=x(C(at),2);{var qt=z=>{var se=vq(),Fe=C(se);{var nt=$e=>{var de=Hr();Z(()=>K(de,`${u(h).provider??""} · ${(u(S)||u(h).model)??""}`)),T($e,de)},xt=$e=>{var de=Hr();Z(()=>K(de,`${u(h).provider??""} · pick a model below`)),T($e,de)},Ne=$e=>{var de=Hr("Not configured");T($e,de)};q(Fe,$e=>{u(pt)?$e(nt):u(h).provider?$e(xt,1):$e(Ne,-1)})}Z(()=>Fn(se,"title",`Provider: ${u(h).provider??""}`)),T(z,se)};q(It,z=>{u(h)&&z(qt)})}var F=x(It,2);let O;var Q=x(F,2);{var Ce=z=>{var se=bq();ne("click",se,Nn),T(z,se)};q(Q,z=>{u(n).length>0&&z(Ce)})}var Qe=x(at,2);{var Nt=z=>{var se=Cq(),Fe=C(se),nt=x(C(Fe),2),xt=x(Fe,2);{var Ne=de=>{var lt=wq();T(de,lt)},$e=de=>{var lt=Sq();mi(lt,21,()=>u(v),ye=>ye.id,(ye,he)=>{var Wt=yq();let it;var Me=C(Wt),Re=C(Me),Ue=x(Me,2);Z(()=>{it=Vt(Wt,1,"history-item svelte-10ayso4",null,it,{"history-active":u(he).id===u(p)}),Fn(Me,"title",u(he).id),K(Re,u(he).title||u(he).id)}),ne("click",Me,()=>Ei(u(he).id)),ne("click",Ue,()=>_n(u(he).id)),T(ye,Wt)}),T(de,lt)};q(xt,de=>{u(v).length===0?de(Ne):de($e,-1)})}ne("click",nt,Tn),T(z,se)};q(Qe,z=>{u(_)&&z(Nt)})}var ke=x(Qe,2),Ie=C(ke);{var Oe=z=>{var se=xq();T(z,se)},Tt=z=>{var se=Iq(),Fe=C(se),nt=C(Fe);{var xt=de=>{var lt=Lq(),ye=x(wt(lt)),he=C(ye);Z(Wt=>K(he,Wt),[()=>t().path.split("/").pop()]),T(de,lt)},Ne=de=>{var lt=Hr("No script open. Ask a general she scripting question.");T(de,lt)};q(nt,de=>{t()?de(xt):de(Ne,-1)})}var $e=x(Fe,2);mi($e,17,()=>tn,On,(de,lt)=>{var ye=kq(),he=C(ye);Z(()=>K(he,u(lt))),ne("click",ye,()=>Se(u(lt))),T(de,ye)}),T(z,se)};q(Ie,z=>{u(Ze)?u(n).length===0&&u(s)===null&&z(Tt,1):z(Oe)})}var gt=x(Ie,2);mi(gt,17,()=>u(n),On,(z,se,Fe)=>{var nt=Oq(),xt=C(nt);{var Ne=de=>{var lt=Dq(),ye=C(lt);Z(()=>K(ye,u(se).content)),T(de,lt)},$e=de=>{const lt=ot(()=>kt(u(se).content));var ye=Aq(),he=wt(ye);{var Wt=Me=>{var Re=CD();mi(Re,21,()=>u(se).toolEvents,On,(Ue,mt)=>{var hi=Es(),ve=wt(hi);{var Ke=Et=>{var Je=yD(),ui=x(C(Je),2),ni=C(ui),Si=x(ui,2);{var Gi=$t=>{var an=wD(),Ui=C(an);Z(vn=>K(Ui,vn),[()=>Object.entries(u(mt).args).map(([vn,nn])=>`${vn}=${JSON.stringify(nn)}`).join(", ")]),T($t,an)},si=ot(()=>u(mt).args&&Object.keys(u(mt).args).length>0);q(Si,$t=>{u(si)&&$t(Gi)})}Z($t=>K(ni,$t),[()=>u(mt).name.replace(/_/g," ")]),T(Et,Je)},_t=Et=>{var Je=SD(),ui=x(C(Je),2),ni=C(ui);Z(Si=>K(ni,Si),[()=>u(mt).name.replace(/_/g," ")]),T(Et,Je)};q(ve,Et=>{u(mt).type==="tool_call"?Et(Ke):Et(_t,-1)})}T(Ue,hi)}),T(Me,Re)};q(he,Me=>{var Re;(Re=u(se).toolEvents)!=null&&Re.length&&Me(Wt)})}var it=x(he,2);mi(it,21,()=>u(lt),On,(Me,Re,Ue)=>{var mt=Es(),hi=wt(mt);{var ve=_t=>{var Et=xD();Bl(Et,()=>Mi(u(Re).text),!0),T(_t,Et)},Ke=_t=>{const Et=ot(()=>Ln(u(Re).lang)?mn(u(Re).text):null),Je=ot(()=>u(Et)?u(Et).code:u(Re).text),ui=ot(()=>`${Fe}:${Ue}`),ni=ot(()=>Hi(u(Je))),Si=ot(()=>u(N).has(u(ui)));var Gi=Rq(),si=C(Gi),$t=C(si),an=C($t),Ui=x($t,2),vn=C(Ui),nn=x(vn,2);{var Ts=Js=>{var ls=Eq();ne("click",ls,()=>e.onCreateFile(u(Et).filename,u(Et).code)),T(Js,ls)},jo=Js=>{var ls=Mq(),$o=wt(ls),Ih=x($o,2);{var Ag=Zr=>{var Pa=Pq();T(Zr,Pa)},Ic=Zr=>{var Pa=Tq();ne("click",Pa,()=>Vn(u(Re).text,!0)),T(Zr,Pa)};q(Ih,Zr=>{u(P)?Zr(Ag):Zr(Ic,-1)})}ne("click",$o,()=>Vn(u(Re).text)),T(Js,ls)},Uo=ot(()=>Ln(u(Re).lang)&&t());q(nn,Js=>{u(Et)&&e.onCreateFile?Js(Ts):u(Uo)&&Js(jo,1)})}var Kr=x(si,2);let Gr;var br=C(Kr),wr=C(br);Bl(wr,()=>Qi(u(Je),u(Re).lang??""),!0);var kc=x(br,2);{var zi=Js=>{var ls=Nq(),$o=C(ls);Z(()=>K($o,u(Si)?"▲ collapse":"▼ expand")),ne("click",ls,()=>Cn(u(ui))),T(Js,ls)};q(kc,Js=>{u(ni)&&Js(zi)})}Z(()=>{K(an,u(Et)?`new: ${u(Et).filename}`:u(Re).lang),Gr=Vt(Kr,1,"code-body svelte-10ayso4",null,Gr,{collapsed:u(ni)&&!u(Si)})}),ne("click",vn,()=>pn(u(Je))),T(_t,Gi)};q(hi,_t=>{u(Re).type==="text"?_t(ve):_t(Ke,-1)})}T(Me,mt)}),T(de,ye)};q(xt,de=>{u(se).role==="user"?de(Ne):de($e,-1)})}Z(()=>Vt(nt,1,`message ${u(se).role??""}`,"svelte-10ayso4")),T(z,nt)});var Ee=x(gt,2);{var At=z=>{var se=CD();mi(se,21,()=>u(Jt),On,(Fe,nt)=>{var xt=Es(),Ne=wt(xt);{var $e=lt=>{var ye=yD(),he=x(C(ye),2),Wt=C(he),it=x(he,2);{var Me=Ue=>{var mt=wD(),hi=C(mt);Z(ve=>K(hi,ve),[()=>Object.entries(u(nt).args).map(([ve,Ke])=>`${ve}=${JSON.stringify(Ke)}`).join(", ")]),T(Ue,mt)},Re=ot(()=>u(nt).args&&Object.keys(u(nt).args).length>0);q(it,Ue=>{u(Re)&&Ue(Me)})}Z(Ue=>K(Wt,Ue),[()=>u(nt).name.replace(/_/g," ")]),T(lt,ye)},de=lt=>{var ye=SD(),he=x(C(ye),2),Wt=C(he);Z(it=>K(Wt,it),[()=>u(nt).name.replace(/_/g," ")]),T(lt,ye)};q(Ne,lt=>{u(nt).type==="tool_call"?lt($e):lt(de,-1)})}T(Fe,xt)}),T(z,se)};q(Ee,z=>{u(Jt).length>0&&z(At)})}var Qt=x(Ee,2);{var Yt=z=>{var se=Fq(),Fe=C(se),nt=C(Fe),xt=C(nt);Z(()=>K(xt,xe[u(Te)])),T(z,se)};q(Qt,z=>{u(a)&&u(s)===null&&u(Jt).length===0&&z(Yt)})}var Ut=x(Qt,2);{var ei=z=>{var se=Wq(),Fe=C(se);mi(Fe,21,()=>xn(u(s)),On,(nt,xt)=>{var Ne=Es(),$e=wt(Ne);{var de=ye=>{var he=xD();Bl(he,()=>Mi(u(xt).text),!0),T(ye,he)},lt=ye=>{var he=Hq(),Wt=C(he),it=C(Wt),Me=C(it),Re=x(Wt,2),Ue=C(Re);Bl(Ue,()=>Qi(u(xt).text,u(xt).lang??""),!0),Z(()=>K(Me,u(xt).lang)),T(ye,he)};q($e,ye=>{u(xt).type==="text"?ye(de):ye(lt,-1)})}T(nt,Ne)}),T(z,se)};q(Ut,z=>{u(s)!==null&&z(ei)})}xs(ke,z=>rt=z,()=>rt);var Y=x(ke,2);{var _e=z=>{var se=Bq(),Fe=C(se);Z(()=>K(Fe,u(c))),T(z,se)};q(Y,z=>{u(c)&&z(_e)})}var We=x(Y,2),Ye=C(We),bt=C(Ye),Ve=x(Ye,2),tt=C(Ve),Zt=x(Ve,2),oi=C(Zt),ii=x(We,2),Wi=C(ii);{var Dn=z=>{const se=ot(()=>Kn(t().path.split("/").pop()??t().path));var Fe=zq();let nt;var xt=C(Fe),Ne=C(xt),$e=x(xt,2),de=C($e),lt=x($e,2),ye=C(lt);Z((he,Wt)=>{nt=Vt(Fe,1,"file-chip svelte-10ayso4",null,nt,{inactive:!u(dt)}),Vt(xt,1,`badge badge-${he??""}`,"svelte-10ayso4"),K(Ne,Wt),K(de,t().path),Fn(lt,"title",u(dt)?"Remove from context":"Re-add to context"),K(ye,u(dt)?"×":"+")},[()=>u(se).toLowerCase(),()=>Xe(u(se))]),ne("click",lt,()=>I(dt,!u(dt))),T(z,Fe)};q(Wi,z=>{t()&&z(Dn)})}var Pi=x(Wi,2);mi(Pi,17,i,On,(z,se,Fe)=>{const nt=ot(()=>Kn(u(se).name));var xt=Vq(),Ne=C(xt),$e=C(Ne),de=x(Ne,2),lt=C(de),ye=x(de,2);Z((he,Wt)=>{Vt(Ne,1,`badge badge-${he??""}`,"svelte-10ayso4"),K($e,Wt),K(lt,u(se).name)},[()=>u(nt).toLowerCase(),()=>Xe(u(nt))]),ne("click",ye,()=>Ht(Fe)),T(z,xt)});var ti=x(Pi,2),Bi=x(ti,2);xs(Bi,z=>Mt=z,()=>Mt);var A=x(ii,2);let W;var ae=C(A);let ce;var ue=C(ae);xs(ue,z=>ge=z,()=>ge);var me=x(ae,2);{var De=z=>{var se=jq();ne("click",se,Mn),T(z,se)},ft=z=>{var se=Uq();Z(Fe=>se.disabled=Fe,[()=>!u(r).trim()||!u(pt)]),ne("click",se,Zn),T(z,se)};q(me,z=>{u(a)?z(De):z(ft,-1)})}var Ge=x(A,2);{var je=z=>{var se=Zq(),Fe=C(se),nt=C(Fe),xt=x(Fe,2);{var Ne=ye=>{var he=qq();mi(he,21,()=>u(y),On,(Wt,it)=>{var Me=$q(),Re=C(Me),Ue={};Z(()=>{K(Re,u(it)),Ue!==(Ue=u(it))&&(Me.value=(Me.__value=u(it))??"")}),T(Wt,Me)}),Z(()=>he.disabled=u(a)),ua(he,()=>u(S),Wt=>I(S,Wt)),T(ye,he)},$e=ye=>{var he=Kq(),Wt=C(he);Z(()=>K(Wt,u(S)||u(h).model)),T(ye,he)};q(xt,ye=>{u(y).length>0?ye(Ne):ye($e,-1)})}var de=x(xt,2);{var lt=ye=>{var he=Gq();ne("click",he,kn),T(ye,he)};q(de,ye=>{u(h).provider==="ollama"&&ye(lt)})}Z(()=>K(nt,u(h).provider)),T(z,se)};q(Ge,z=>{var se;(se=u(h))!=null&&se.provider&&(u(Ze)||u(y).length>0)&&z(je)})}var Ot=x(Le,2);{var qe=z=>{var se=aK(),Fe=C(se),nt=C(Fe),xt=C(nt),Ne=C(xt),$e=x(xt,2),de=x(nt,2),lt=C(de);{var ye=it=>{var Me=Xq();T(it,Me)},he=it=>{var Me=Yq(),Re=C(Me);Z(()=>K(Re,u(X))),T(it,Me)},Wt=it=>{var Me=rK(),Re=C(Me);{var Ue=si=>{var $t=Jq(),an=x(wt($t)),Ui=C(an);Z(()=>K(Ui,u(H).version)),T(si,$t)};q(Re,si=>{u(H).version&&si(Ue)})}var mt=x(Re,2);{var hi=si=>{var $t=Qq(),an=x(wt($t)),Ui=C(an);Z(()=>K(Ui,u(H).details.family)),T(si,$t)};q(mt,si=>{var $t;($t=u(H).details)!=null&&$t.family&&si(hi)})}var ve=x(mt,2);{var Ke=si=>{var $t=eK(),an=x(wt($t)),Ui=C(an);Z(()=>K(Ui,u(H).details.parameter_size)),T(si,$t)};q(ve,si=>{var $t;($t=u(H).details)!=null&&$t.parameter_size&&si(Ke)})}var _t=x(ve,2);{var Et=si=>{var $t=tK(),an=x(wt($t)),Ui=C(an);Z(()=>K(Ui,u(H).details.quantization_level)),T(si,$t)};q(_t,si=>{var $t;($t=u(H).details)!=null&&$t.quantization_level&&si(Et)})}var Je=x(_t,2);{var ui=si=>{var $t=iK(),an=x(wt($t)),Ui=C(an);Z(()=>K(Ui,u(H).details.format)),T(si,$t)};q(Je,si=>{var $t;($t=u(H).details)!=null&&$t.format&&si(ui)})}var ni=x(Je,2);{var Si=si=>{var $t=sK(),an=x(wt($t),2);mi(an,21,()=>u(H).running,On,(Ui,vn)=>{var nn=nK(),Ts=C(nn);Z(jo=>K(Ts,`${u(vn).name??""} · ${jo??""} VRAM`),[()=>Bn(u(vn).size_vram)]),T(Ui,nn)}),T(si,$t)},Gi=si=>{var $t=oK();T(si,$t)};q(ni,si=>{u(H).running&&u(H).running.length>0?si(Si):u(H).running!==null&&si(Gi,1)})}T(it,Me)};q(lt,it=>{u(ee)?it(ye):u(X)?it(he,1):u(H)&&it(Wt,2)})}Z(()=>{var it;return K(Ne,`Ollama · ${(u(S)||((it=u(h))==null?void 0:it.model))??""}`)}),ne("click",se,()=>I(j,!1)),ne("click",Fe,it=>it.stopPropagation()),ne("click",$e,()=>I(j,!1)),T(z,se)};q(Ot,z=>{u(j)&&z(qe)})}Z(z=>{O=Vt(F,1,"icon-hdr-btn svelte-10ayso4",null,O,{active:u(_)}),K(oi,z),W=Vt(A,1,"input-row svelte-10ayso4",null,W,{"drag-over":u(ai)}),ce=Vt(ae,1,"textarea-wrap svelte-10ayso4",null,ce,{loading:u(a)}),Fn(ue,"placeholder",u(pt)?"Ask anything… (Enter to send, Shift+Enter for newline, drag & drop files to add context)":u(Ze)?"Select a model above to start chatting":"AI not configured"),ue.disabled=u(a)||!u(pt)},[()=>Bn(u(di))]),ne("click",F,()=>I(_,!u(_))),Us(bt,()=>u(ct),z=>I(ct,z)),Us(tt,()=>u(Pt),z=>I(Pt,z)),ne("click",ti,li),ne("change",Bi,pi),es("dragover",A,on),es("dragleave",A,en),es("drop",A,In),ne("keydown",ue,rn),Ii(ue,()=>u(r),z=>I(r,z)),T(o,G),Eo()}_r(["click","change","keydown"]);const dK={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"]},hK={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 o0=[],r0=[],a0=[];const Vv=new Map;let IR=[];const l0=new Map,c0=new Map;async function LD(){try{o0=(await sR()).map(e=>e.topic)}catch{}}async function kD(){try{const[o,e]=await Promise.all([tR(),iR()]);r0=o,a0=e}catch{}}async function ID(){try{const o=await nR();IR=o.map(e=>e.nodeId),l0.clear(),c0.clear();for(const e of o)e.name&&(l0.set(e.nodeId,e.name),c0.set(e.name,e.nodeId));await Promise.all(o.map(async e=>{if(!Vv.has(e.nodeId))try{Vv.set(e.nodeId,await b_(e.nodeId))}catch{}}))}catch{}}function uK(o){const e=/(?:she\.mqtt\.(?:sub|pub|get|set|link|age|getProp)|she\.(?:link|age|getValue|setValue|getProp|combineBool|combineMax|timer))\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*$/,c=o.match(a);if(c){const h=c[1],g=gK(h),f=fK(h);if(g===0)return{type:"matter-nodeId",prefix:f};if(g===1){const p=Xh(h,0);if(p)return{type:"matter-endpointId",nodeId:p}}if(g===2){const p=Xh(h,0),v=DD(h,1)??Xh(h,1);if(p&&v!==null)return{type:"matter-cluster",nodeId:p,endpointId:v}}if(g>=3){const p=Xh(h,0),v=DD(h,1)??Xh(h,1),_=Xh(h,2),y=/she\.matter\.send\s*\(/.test(o);if(p&&v!==null&&_)return{type:"matter-attr",nodeId:p,endpointId:v,cluster:_,isSend:y}}}return null}function gK(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 fK(o){const e=o.match(/['"]([^'"]*)\s*$/);return e?e[1]:""}function Xh(o,e){var s;const i=(s=DR(o)[e])==null?void 0:s.trim();if(!i)return null;const n=i.match(/^['"](.*)['"]$/);return n?n[1]:null}function DD(o,e){var s;const i=(s=DR(o)[e])==null?void 0:s.trim();if(!i)return null;const n=parseInt(i,10);return isNaN(n)?null:n}function DR(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 ph=Wc.CompletionItemKind;function pK(o,e){return(e?o0.filter(i=>i.startsWith(e)):o0).map(i=>({label:i,kind:ph.Value,insertText:i,range:o,detail:"MQTT topic",sortText:"0"+i}))}function mK(o,e,t){const i=t?[...r0,...a0]:r0;return(e?i.filter(s=>s.startsWith(e)):i).map(s=>({label:s,kind:ph.Value,insertText:s,range:o,detail:a0.includes(s)?"sheDB view":"sheDB document",sortText:"0"+s}))}function _K(o,e){return IR.map(t=>{const i=l0.get(t)??t;return e&&!i.startsWith(e)&&!t.startsWith(e)?null:{label:i,kind:ph.Value,insertText:i,range:o,detail:i!==t?`Node ID: ${t}`:"Matter node",sortText:"0"+i}}).filter(Boolean)}function ER(o){return c0.get(o)??o}function vK(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 bK(o,e){const t=Vv.get(ER(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:ph.Value,insertText:n,range:o,detail:i.name?`Endpoint ${i.endpointId} — ${s}`:`Clusters: ${s}`,sortText:"0"+String(i.endpointId).padStart(4,"0")}}):[]}function wK(o,e,t){const i=Vv.get(ER(e));if(!i)return[];const n=vK(i,t);return n?n.clusters.map(s=>({label:s.name,kind:ph.Value,insertText:s.name,range:o,detail:"Matter cluster",sortText:"0"+s.name})):[]}function yK(o,e,t){return(t?hK[e]??[]:dK[e]??[]).map(n=>({label:n,kind:t?ph.Function:ph.Property,insertText:n,range:o,detail:t?`${e} command`:`${e} attribute`,sortText:"0"+n}))}let ED=!1;function SK(){ED||(ED=!0,LD(),kD(),ID(),setInterval(LD,15e3),setInterval(kD,1e4),setInterval(ID,6e4),Wc.registerCompletionItemProvider("javascript",{triggerCharacters:["'",'"',"(",","," "],provideCompletionItems(o,e){const t=o.getValueInRange({startLineNumber:e.lineNumber,startColumn:1,endLineNumber:e.lineNumber,endColumn:e.column}),i=uK(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:pK(a,i.prefix)};case"db":return{suggestions:mK(a,i.prefix,i.includeViews)};case"matter-nodeId":return{suggestions:_K(a,i.prefix)};case"matter-endpointId":return{suggestions:bK(a,i.nodeId)};case"matter-cluster":return{suggestions:wK(a,i.nodeId,i.endpointId)};case"matter-attr":return{suggestions:yK(a,i.cluster,i.isSend)};default:return null}}}))}var CK=R('<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),xK=R('<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),LK=R('<div class="ctx-backdrop svelte-1pyfjii" role="presentation"></div> <div class="ctx-menu svelte-1pyfjii"><!></div>',1),kK=R('<div class="lib-tip-float svelte-1pyfjii">Library directory — files here are not auto-loaded as scripts</div>'),PD=R('<span class="git-mod svelte-1pyfjii" title="Uncommitted changes">M</span>'),IK=R('<ul class="tree-children svelte-1pyfjii"></ul>'),DK=R('<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>'),EK=R('<span class="dirty-dot svelte-1pyfjii">●</span>'),PK=R('<span class="err-dot svelte-1pyfjii">●</span>'),TK=R('<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>'),MK=R('<span class="dis-spacer svelte-1pyfjii"></span>'),NK=R('<li draggable="true"><div class="file-row svelte-1pyfjii"><button><span> </span> <span class="fname svelte-1pyfjii"> </span> <!><!> <!></button> <!></div></li>'),RK=R('<div class="err svelte-1pyfjii"> </div>'),AK=R('<span class="tab-dirty svelte-1pyfjii">●</span>'),OK=R('<div role="button" tabindex="0"><span class="tab-label svelte-1pyfjii"> </span> <!> <button class="tab-close svelte-1pyfjii" title="Close">×</button></div>'),FK=R('<div class="tab-bar svelte-1pyfjii"></div>'),HK=R('<span class="git-changes svelte-1pyfjii"> </span>'),WK=R('<span class="git-ahead svelte-1pyfjii"> </span>'),BK=R('<span class="git-behind svelte-1pyfjii"> </span>'),zK=R('<span class="git-status svelte-1pyfjii"><span class="git-branch svelte-1pyfjii"> </span> <!> <!> <!></span>'),VK=R('<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> <button class="svelte-1pyfjii">Push</button></div>',1),jK=R('<button class="danger svelte-1pyfjii">Delete</button>'),UK=R(`<div class="welcome svelte-1pyfjii"><div class="welcome-inner svelte-1pyfjii"><div class="welcome-logo svelte-1pyfjii">she</div> <p class="welcome-sub svelte-1pyfjii">Smart Home Engine — a scriptable smart home automation engine</p> <div class="welcome-hint svelte-1pyfjii"><strong>Quick start:</strong> click <kbd class="svelte-1pyfjii">+ File</kbd> in the sidebar to create your first script,
152
- or click an existing file to open it. Scripts run in a sandboxed VM with access to the <code class="svelte-1pyfjii">she</code> object for MQTT, scheduling, and more.</div> <div class="welcome-links svelte-1pyfjii"><a href="https://github.com/hobbyquaker/she" target="_blank" rel="noopener" class="svelte-1pyfjii">GitHub</a> <span class="svelte-1pyfjii">·</span> <a href="https://github.com/hobbyquaker/she/blob/main/doc/sandbox-api.md" target="_blank" rel="noopener" class="svelte-1pyfjii">API reference</a> <span class="svelte-1pyfjii">·</span> <a href="https://github.com/hobbyquaker/she/blob/main/README.md" target="_blank" rel="noopener" class="svelte-1pyfjii">README</a></div> <div class="welcome-shortcuts svelte-1pyfjii"><div class="welcome-shortcuts-title svelte-1pyfjii">Keyboard shortcuts</div> <div class="welcome-shortcuts-grid svelte-1pyfjii"><span class="keys svelte-1pyfjii"><kbd class="svelte-1pyfjii">Ctrl</kbd><kbd class="svelte-1pyfjii">S</kbd></span><span class="svelte-1pyfjii">Save</span> <span class="keys svelte-1pyfjii"><kbd class="svelte-1pyfjii">Ctrl</kbd><kbd class="svelte-1pyfjii">F</kbd></span><span class="svelte-1pyfjii">Find</span> <span class="keys svelte-1pyfjii"><kbd class="svelte-1pyfjii">Ctrl</kbd><kbd class="svelte-1pyfjii">H</kbd></span><span class="svelte-1pyfjii">Find &amp; Replace</span> <span class="keys svelte-1pyfjii"><kbd class="svelte-1pyfjii">Ctrl</kbd><kbd class="svelte-1pyfjii">G</kbd></span><span class="svelte-1pyfjii">Go to line</span> <span class="keys svelte-1pyfjii"><kbd class="svelte-1pyfjii">Ctrl</kbd><kbd class="svelte-1pyfjii">Z</kbd></span><span class="svelte-1pyfjii">Undo</span> <span class="keys svelte-1pyfjii"><kbd class="svelte-1pyfjii">Ctrl</kbd><kbd class="svelte-1pyfjii">Shift</kbd><kbd class="svelte-1pyfjii">Z</kbd></span><span class="svelte-1pyfjii">Redo</span> <span class="keys svelte-1pyfjii"><kbd class="svelte-1pyfjii">Ctrl</kbd><kbd class="svelte-1pyfjii">/</kbd></span><span class="svelte-1pyfjii">Toggle comment</span> <span class="keys svelte-1pyfjii"><kbd class="svelte-1pyfjii">Alt</kbd><kbd class="svelte-1pyfjii">↑ / ↓</kbd></span><span class="svelte-1pyfjii">Move line up / down</span></div></div></div></div>`),$K=R('<button class="svelte-1pyfjii">Always accept in this session</button>'),qK=R('<button class="svelte-1pyfjii">Disable auto-accept</button>'),KK=R('<div class="split-backdrop svelte-1pyfjii" role="presentation"></div> <div class="split-menu svelte-1pyfjii"><!></div>',1),GK=R('<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>'),ZK=R('<div class="log-resize-handle svelte-1pyfjii" role="separator"></div>'),XK=R('<span class="log-file svelte-1pyfjii"> </span>'),YK=R("<option> </option>"),JK=R('<select class="log-filter-level svelte-1pyfjii"></select> <input class="log-filter-text svelte-1pyfjii" type="search" placeholder="Filter…"/> <label class="log-filter-regex svelte-1pyfjii" title="Interpret filter as a regular expression"><input type="checkbox" class="svelte-1pyfjii"/> <span class="log-filter-checkmark svelte-1pyfjii"></span> Regex</label> <button class="log-clear svelte-1pyfjii">Clear</button>',1),QK=R('<div><span class="ts svelte-1pyfjii"> </span> <span class="lvl svelte-1pyfjii"> </span> <span class="msg svelte-1pyfjii"> </span></div>'),eG=R('<span class="log-empty svelte-1pyfjii">No log output for this script.</span>'),tG=R('<div class="log-body svelte-1pyfjii"><!> <!></div>'),iG=R('<div class="chat-resize-handle svelte-1pyfjii" role="separator"></div> <div class="chat-container svelte-1pyfjii"><!></div>',1),nG=R('<!> <!> <!> <!> <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 sG(o,e){Do(e,!0);let t=U(bi([])),i=U(bi({})),n=U(null),s=U(null),r=U(null),a=U(null),c=U(bi([])),h=U(null),g=U(!1),f=U(""),p=U(!1),v=U(!0),_=U(null),y=U(void 0),S=U(bi(new Set));const D=new Set;let P=U(bi([])),N=U("all"),j=U(""),H=U(!1);const ee=["all","debug","info","warn","error"],X={debug:0,info:1,warn:2,error:3};function pe(V){if(u(N)!=="all"&&X[V.level]<X[u(N)])return!1;if(!u(j))return!0;if(u(H))try{return new RegExp(u(j),"i").test(V.msg)}catch{}return V.msg.toLowerCase().includes(u(j).toLowerCase())}let be=U(null);function Te(V){const re=V.currentTarget.getBoundingClientRect();I(be,{x:re.left,y:re.top},!0)}function xe(){I(be,null)}let ct,Pt,dt,ai=!1,Mt=null,Jt=!1,ge=!1,rt=U(!1),Ae=U(null),Ze=U(!1),pt=U(!1),di=U(void 0),Gt=null,Ct=null,kt=null,yi=U(bi(parseInt(localStorage.getItem("she-scripts-sidebar-width")??"220",10))),Hi=U(bi(parseInt(localStorage.getItem("she-scripts-log-height")??"130",10))),Cn=U(bi(parseInt(localStorage.getItem("she-scripts-chat-width")??"340",10))),Qi=!1,Mi=0,xn=0,pn=!1,Vn=0,Ln=0,mn=!1,Bn=0,kn=0;const Kn=ot(()=>{var V;return u(h)&&u(Bt)?{path:u(h),content:((V=u(Bt).model)==null?void 0:V.getValue())??u(Bt).savedContent}:null}),Xe=ot(()=>{var V;return new Set(((V=u(_))==null?void 0:V.changes.map(re=>re.file))??[])});let Ht,li,Bt=ot(()=>u(c).find(V=>V.path===u(h))??null);const pi="she-tabs",In="she-active-tab",on="she-log-open",en="she-chat-open";let dn=og(e,"active",3,!0);An(()=>{ge&&(localStorage.setItem(pi,JSON.stringify(u(c).map(V=>V.path))),u(h)?localStorage.setItem(In,u(h)):localStorage.removeItem(In))}),An(()=>{ge&&localStorage.setItem(en,String(u(rt)))}),An(()=>{dn()&&Pt&&Pt.layout()});const $n=`
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
- combineBool(srcs: string[], target: string): void;
165
- combineMax(srcs: string[], target: string): void;
166
- timer(src: string | string[], target: string, time: number): void;
167
- mqtt: {
168
- sub(topic: string | string[], opts?: any, cb?: (topic: string, val: any, obj: any, prev: any, msg: any) => void): void;
169
- pub(topic: string | string[], payload: any, opts?: { qos?: number; retain?: boolean }): void;
170
- get(topic: string): any;
171
- set(topic: string | string[], val: any): void;
172
- getProp(topic: string, ...prop: string[]): any;
173
- link(source: string | string[], target: string | string[], value?: any): void;
174
- age(topic: string): number;
175
- };
176
- api: {
177
- get(path: string, handler: (req: any) => any): void;
178
- post(path: string, handler: (req: any, body: any) => any): void;
179
- put(path: string, handler: (req: any, body: any) => any): void;
180
- delete(path: string, handler: (req: any) => any): void;
181
- };
182
- db: {
183
- get(id: string): any;
184
- set(id: string, doc: object): void;
185
- extend(id: string, partial: object): void;
186
- delete(id: string): void;
187
- prop(id: string, method: 'set' | 'create' | 'del', prop: string, val?: any): void;
188
- sub(pattern: string, callback: (id: string, doc: any) => void): void;
189
- query(filter: string | null, mapFn: Function, reduceFn?: Function): any[];
190
- };
191
- matter: {
192
- sub(nodeId: string, endpointId: number, cluster: string, attr: string, cb: (val: any, old: any) => void): number;
193
- unsub(listenerId: number): void;
194
- get(nodeId: string, endpointId: number, cluster: string, attr: string): Promise<any>;
195
- send(nodeId: string, endpointId: number, cluster: string, command: string, args?: object): Promise<any>;
196
- on(nodeId: string, endpointId: number, cluster: string, event: string, cb: (val: any) => void): number;
197
- };
198
- influx: {
199
- query(fluxQuery: string): Promise<any[]>;
200
- write(measurement: string, fields: object, tags?: object, timestamp?: number | Date): Promise<void>;
201
- getLast(topic: string, n: number): Promise<Array<{ ts: number; val: any }>>;
202
- getRange(topic: string, from: number | string | Date, to: number | string | Date): Promise<Array<{ ts: number; val: any }>>;
203
- };
204
- elastic: {
205
- search(index: string, query: object): Promise<{ hits: any[]; total: number }>;
206
- get(index: string, id: string): Promise<object | null>;
207
- index(index: string, doc: object, id?: string): Promise<{ id: string }>;
208
- find(index: string, field: string, text: string, size?: number): Promise<any[]>;
209
- };
210
- };
211
- `;vr(async()=>{var fe;I(v,localStorage.getItem(on)!=="false"),I(rt,localStorage.getItem(en)==="true"),Wc.typescript.javascriptDefaults.addExtraLib($n,"she-api.d.ts"),Wc.typescript.javascriptDefaults.setCompilerOptions({target:Wc.typescript.ScriptTarget.ES2022,allowNonTsExtensions:!0,checkJs:!0}),Wc.typescript.javascriptDefaults.setDiagnosticsOptions({noSyntaxValidation:!1,noSemanticValidation:!0}),SK(),dt=Ha.createModel("","javascript"),Pt=Ha.create(ct,{model:dt,theme:"vs-dark",automaticLayout:!0,minimap:{enabled:!1},fontSize:14,lineNumbers:"on",scrollBeyondLastLine:!1}),Pt.onDidChangeModelContent(()=>{if(ai)return;const Dt=u(c).find(zt=>zt.path===u(h));Dt&&(Dt.dirty=Pt.getValue()!==Dt.savedContent),We&&clearTimeout(We),We=setTimeout(Ye,600)}),Mt=hR(Dt=>{const zt=Dt.msg.match(/^([^:\n]+\.js):\s/);if(!zt)return;const Ft=zt[1];if(Dt.level==="error")D.add(Ft),u(S).has(Ft)||I(S,new Set([...u(S),Ft]),!0);else if(D.has(Ft)){D.delete(Ft);const $i=new Set(u(S));$i.delete(Ft),I(S,$i,!0)}const Vi=u(c).find($i=>$i.path===Ft);Vi&&(Vi.logEntries=[...Vi.logEntries.slice(-199),Dt],Vi.path===u(h)&&u(v)&&u(y)&&dS().then(()=>{u(y)&&(u(y).scrollTop=u(y).scrollHeight)}))}),await Ei(),G();const V=JSON.parse(localStorage.getItem(pi)??"[]"),re=localStorage.getItem(In);for(const Dt of V)await rn(Dt,!1);const Pe=re&&u(c).some(Dt=>Dt.path===re)?re:((fe=u(c)[0])==null?void 0:fe.path)??null;Pe&&await tn(Pe),ge=!0}),lw(()=>{var V;We&&clearTimeout(We),Mt==null||Mt();for(const re of u(c))(V=re.model)==null||V.dispose();dt==null||dt.dispose(),Pt==null||Pt.dispose()});async function Ei(){try{if(I(t,await q7(),!0),!Jt){let re=function(Pe){for(const fe of Pe)fe.type==="dir"&&(V[fe.path]=!0,fe.children&&re(fe.children))};Jt=!0;const V={};re(u(t)),I(i,V,!0)}I(f,"")}catch(V){I(f,V.message,!0)}}function _n(V){u(i)[V]=!u(i)[V]}function Tn(V){switch(V){case"SH":case"BASH":return"$";case"MD":case"MARKDOWN":return"⇓";case"JSON":case"JSONC":return"{}";default:return V}}async function Zn(V,re){try{re?await Ac(`${V}/.shelib`,""):await $m(`${V}/.shelib`),await Ei()}catch(Pe){I(f,Pe.message,!0)}}async function Mn(V,re){const Pe=V.split("/").pop(),fe=V.includes("/")?V.slice(0,V.lastIndexOf("/")):"",Dt=fe?`${fe}/.shedisable-${Pe}`:`.shedisable-${Pe}`;try{re?await Ac(Dt,""):await $m(Dt),await Ei()}catch(zt){I(f,zt.message,!0)}}async function rn(V,re=!0){var Pe;if(u(c).some(fe=>fe.path===V)){re&&await tn(V);return}try{const{content:fe}=await oD(V),Dt=FF.parse(`file:///she-scripts/${encodeURIComponent(V)}`);(Pe=Ha.getModel(Dt))==null||Pe.dispose();const zt=Ha.createModel(fe,_e(V),Dt);I(c,[...u(c),{path:V,dirty:!1,savedContent:fe,model:zt,logEntries:[]}],!0),re&&await tn(V)}catch(fe){I(f,fe.message,!0)}}async function Nn(V){await rn(V,!0)}async function tn(V){const re=u(c).find(Pe=>Pe.path===V);re!=null&&re.model&&(I(h,V,!0),ai=!0,Pt.setModel(re.model),ai=!1,Ye())}async function Se(V){var fe;const re=u(c).find(Dt=>Dt.path===V);if(!re||re.dirty&&!await Ht.show(`Discard unsaved changes to ${V}?`,{confirm:"Discard"}))return;const Pe=u(c).findIndex(Dt=>Dt.path===V);if((fe=re.model)==null||fe.dispose(),I(c,u(c).filter(Dt=>Dt.path!==V),!0),u(h)===V){const Dt=u(c)[Pe]??u(c)[Pe-1]??null;Dt?await tn(Dt.path):(I(h,null),Pt.setModel(dt))}}async function G(){try{I(_,await G7(),!0)}catch{I(_,null)}}async function Le(){if(!u(h))return;const V=u(c).find(re=>re.path===u(h));if(V){I(g,!0);try{const re=Pt.getValue();await Ac(u(h),re),V.savedContent=re,V.dirty=!1,I(f,""),G()}catch(re){I(f,re.message,!0)}finally{I(g,!1)}}}async function at(){if(!u(h)||(await Le(),u(f)))return;const V=u(h).split("/").pop()??u(h),re=await li.show("Commit message:",{initial:`update ${V}`,placeholder:"Update script",confirm:"Commit"});if(re)try{await J7(u(h),re),G()}catch(Pe){I(f,"Git: "+Pe.message)}}async function It(){I(p,!1);try{await Q7(),await G(),I(f,"")}catch(V){I(f,"Git push: "+V.message)}}async function qt(){const V=u(n)?`${u(n)}/`:"",re=await li.show("New script name:",{placeholder:V?`${V}myscript.js`:"myscript.js",initial:V,confirm:"Create"});if(!re)return;const Pe=re.endsWith(".js")?`/* global she */
212
- 'use strict';
213
-
214
- `:"";await Ac(re,Pe),await Ei(),await rn(re,!0)}async function F(){const V=u(n)?`${u(n)}/`:"",re=await li.show("New folder name:",{placeholder:V?`${V}subfolder`:"myfolder",initial:V,confirm:"Create"});re&&(await K7(re),u(i)[re]=!0,await Ei())}function O(V,re){V.preventDefault(),I(s,{x:V.clientX,y:V.clientY,entry:re},!0)}function Q(){I(s,null)}async function Ce(V){Q(),I(n,V,!0),u(i)[V]=!0,await qt()}async function Qe(V){Q(),I(n,V,!0),await F()}async function Nt(V){Q();const re=V.path.includes("/")?V.path.slice(0,V.path.lastIndexOf("/")+1):"",Pe=await li.show(V.type==="dir"?"Rename folder:":"Rename script:",{initial:V.name,placeholder:V.name,confirm:"Rename"});if(!Pe||Pe===V.name)return;const fe=re+Pe;try{await rD(V.path,fe);const Dt=u(c).find(zt=>zt.path===V.path);Dt&&(Dt.path=fe,u(h)===V.path&&I(h,fe)),await Ei()}catch(Dt){I(f,Dt.message,!0)}}function ke(V){if(!V.children)return 0;let re=0;for(const Pe of V.children)re++,Pe.type==="dir"&&(re+=ke(Pe));return re}async function Ie(V){Q();let re=`Delete ${V.type==="dir"?"folder":"file"} "${V.path}"?`;if(V.type==="dir"){const Pe=ke(V);Pe>0&&(re+=` This will also delete ${Pe} item${Pe===1?"":"s"} inside.`)}if(await Ht.show(re,{confirm:"Delete",danger:!0})){if(V.type==="dir")for(const Pe of[...u(c)])Pe.path.startsWith(V.path+"/")&&await Se(Pe.path);else await Se(V.path);await $m(V.path),await Ei()}}async function Oe(V){Q();const{content:re}=await oD(V.path);u(P).some(Pe=>Pe.name===V.path)||I(P,[...u(P),{name:V.path,content:re}],!0),I(rt,!0)}function Tt(V,re){var Pe;I(r,re,!0),(Pe=V.dataTransfer)==null||Pe.setData("text/plain",re)}function gt(V,re){if(V.preventDefault(),u(r)&&(u(r)===re||re.startsWith(u(r)+"/"))){V.dataTransfer&&(V.dataTransfer.dropEffect="none"),I(a,null);return}V.dataTransfer&&(V.dataTransfer.dropEffect="move"),I(a,re,!0)}function Ee(){I(a,null)}async function At(V,re){var Ft,Vi,$i;V.preventDefault(),I(a,null);const Pe=Array.from(((Ft=V.dataTransfer)==null?void 0:Ft.items)??[]).filter(Ni=>Ni.kind==="file");if(Pe.length>0&&!u(r)){for(const Ni of Pe){const Ri=(Vi=Ni.webkitGetAsEntry)==null?void 0:Vi.call(Ni);Ri&&await Qt(Ri,re,!0)}await Ei();return}const fe=u(r)??(($i=V.dataTransfer)==null?void 0:$i.getData("text/plain"));if(I(r,null),!fe||fe===re||re.startsWith(fe+"/"))return;const Dt=fe.split("/").pop(),zt=re?`${re}/${Dt}`:Dt;if(zt!==fe)try{await rD(fe,zt);for(const Ni of u(c))if(Ni.path===fe)u(h)===fe&&I(h,zt,!0),Ni.path=zt;else if(Ni.path.startsWith(fe+"/")){const Ri=zt+Ni.path.slice(fe.length);u(h)===Ni.path&&I(h,Ri),Ni.path=Ri}await Ei()}catch(Ni){I(f,Ni.message,!0)}}async function Qt(V,re,Pe){if(V.isFile){const Dt=await(await new Promise((Ft,Vi)=>V.file(Ft,Vi))).text(),zt=re?`${re}/${V.name}`:V.name;await Ac(zt,Dt),Pe&&V.name.endsWith(".js")&&await Mn(zt,!0)}else if(V.isDirectory){const fe=V.createReader();let Dt=[],zt;do zt=await new Promise((Ft,Vi)=>fe.readEntries(Ft,Vi)),Dt=[...Dt,...zt];while(zt.length>0);for(const Ft of Dt)await Qt(Ft,re?`${re}/${V.name}`:V.name,!1);if(Pe){const Ft=re?`${re}/${V.name}`:V.name;await Mn(Ft,!0)}}}async function Yt(){if(!u(h)||!await Ht.show(`Delete ${u(h)}?`,{confirm:"Delete",danger:!0}))return;const V=u(h);await Se(V),await $m(V),await Ei()}function Ut(){u(Bt)&&(u(Bt).logEntries=[])}function ei(){I(v,!u(v)),localStorage.setItem(on,String(u(v)))}function Y(V){return new Date(V).toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1})}function _e(V){var fe;const re=((fe=V.split(".").pop())==null?void 0:fe.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"}[re]??"plaintext"}let We=null;async function Ye(){const V=u(c).find(Pe=>Pe.path===u(h));if(!(V!=null&&V.model))return;const re=V.model;try{const zt=(await(await(await Wc.typescript.getJavaScriptWorker())(re.uri)).getSyntacticDiagnostics(re.uri.toString())).map(Ft=>{const Vi=re.getPositionAt(Ft.start??0),$i=re.getPositionAt((Ft.start??0)+(Ft.length??0));return{severity:HF.Error,startLineNumber:Vi.lineNumber,startColumn:Vi.column,endLineNumber:$i.lineNumber,endColumn:$i.column,message:typeof Ft.messageText=="string"?Ft.messageText:JSON.stringify(Ft.messageText),source:"she-syntax"}});if(Ha.setModelMarkers(re,"she-syntax",zt),u(h)){if(zt.length>0)D.add(u(h)),u(S).has(u(h))||I(S,new Set([...u(S),u(h)]),!0);else if(D.has(u(h))){D.delete(u(h));const Ft=new Set(u(S));Ft.delete(u(h)),I(S,Ft,!0)}}}catch{}}function bt(V){Qi=!0,Mi=V.clientX,xn=u(yi),V.preventDefault()}function Ve(V){pn=!0,Vn=V.clientY,Ln=u(Hi),V.preventDefault()}function tt(V){mn=!0,Bn=V.clientX,kn=u(Cn),V.preventDefault()}function Zt(V){Qi&&I(yi,Math.max(140,Math.min(500,xn+V.clientX-Mi)),!0),pn&&I(Hi,Math.max(60,Math.min(500,Ln-(V.clientY-Vn))),!0),mn&&I(Cn,Math.max(200,Math.min(700,kn-(V.clientX-Bn))),!0)}function oi(){Qi&&(Qi=!1,localStorage.setItem("she-scripts-sidebar-width",String(u(yi)))),pn&&(pn=!1,localStorage.setItem("she-scripts-log-height",String(u(Hi)))),mn&&(mn=!1,localStorage.setItem("she-scripts-chat-width",String(u(Cn))))}function ii(V){(V.ctrlKey||V.metaKey)&&V.key==="s"&&(V.preventDefault(),Le()),V.key==="Escape"&&(I(p,!1),I(s,null))}async function Wi(V,re){const Pe=await li.show("Save new script as:",{placeholder:"myscript.js",initial:V,confirm:"Create"});if(Pe)try{await Ac(Pe,re),await Ei(),await rn(Pe,!0)}catch(fe){I(f,fe.message,!0)}}async function Dn(V){var Pe,fe;if(u(Ze)&&u(h)){I(Ae,V,!0),await Pi();return}if(I(Ae,V,!0),await dS(),!u(di))return;Ct==null||Ct.dispose(),kt==null||kt.dispose(),Gt==null||Gt.dispose();const re=((fe=(Pe=u(Bt))==null?void 0:Pe.model)==null?void 0:fe.getValue())??"";Ct=Ha.createModel(re,"javascript"),kt=Ha.createModel(V,"javascript"),Gt=Ha.createDiffEditor(u(di),{theme:"vs-dark",readOnly:!0,renderSideBySide:!0,automaticLayout:!0,minimap:{enabled:!1},fontSize:13,scrollBeyondLastLine:!1}),Gt.setModel({original:Ct,modified:kt})}An(()=>{u(h),I(Ze,!1),I(pt,!1)});async function Pi(){if(u(Ae)===null||!u(h))return;const V=u(Ae);I(Ae,null);const re=u(c).find(Pe=>Pe.path===u(h));re!=null&&re.model&&(ai=!0,re.model.setValue(V),ai=!1,re.dirty=!1,re.savedContent=V);try{await Ac(u(h),V),I(f,""),G()}catch(Pe){I(f,Pe.message,!0)}Bi()}function ti(){I(Ae,null),Bi()}function Bi(){Gt==null||Gt.dispose(),Gt=null,Ct==null||Ct.dispose(),Ct=null,kt==null||kt.dispose(),kt=null}var A=nG();es("keydown",sd,ii),es("mousemove",sd,Zt),es("mouseup",sd,oi);var W=wt(A);xs(om(W,{}),V=>Ht=V,()=>Ht);var ae=x(W,2);xs(x8(ae,{}),V=>li=V,()=>li);var ce=x(ae,2);{var ue=V=>{var re=LK(),Pe=wt(re),fe=x(Pe,2);let Dt;var zt=C(fe);{var Ft=$i=>{var Ni=CK(),Ri=wt(Ni),Ti=x(Ri,2),En=x(Ti,4),uo=x(En,2);ne("click",Ri,()=>Ce(u(s).entry.path)),ne("click",Ti,()=>Qe(u(s).entry.path)),ne("click",En,()=>Nt(u(s).entry)),ne("click",uo,()=>Ie(u(s).entry)),T($i,Ni)},Vi=$i=>{var Ni=xK(),Ri=wt(Ni),Ti=x(Ri,2),En=x(Ti,2),uo=x(En,4);ne("click",Ri,()=>Nn(u(s).entry.path)),ne("click",Ti,()=>Nt(u(s).entry)),ne("click",En,()=>Oe(u(s).entry)),ne("click",uo,()=>Ie(u(s).entry)),T($i,Ni)};q(zt,$i=>{u(s).entry.type==="dir"?$i(Ft):$i(Vi,-1)})}Z(()=>Dt=Bo(fe,"",Dt,{left:`${u(s).x??""}px`,top:`${u(s).y??""}px`})),ne("click",Pe,Q),ne("contextmenu",Pe,$i=>{$i.preventDefault(),Q()}),T(V,re)};q(ce,V=>{u(s)&&V(ue)})}var me=x(ce,2);{var De=V=>{var re=kK();let Pe;Z(()=>Pe=Bo(re,"",Pe,{left:`${u(be).x??""}px`,top:`${u(be).y-4}px`})),T(V,re)};q(me,V=>{u(be)&&V(De)})}var ft=x(me,2),Ge=C(ft);let je;{const V=(Pe,fe=nw,Dt)=>{let zt=U0(()=>$F(Dt==null?void 0:Dt(),!1));var Ft=Es(),Vi=wt(Ft);{var $i=Ri=>{var Ti=DK(),En=C(Ti);let uo;var qo=C(En);let Ko;var ns=x(qo,2);let yr;var Ta=C(ns),go=x(ns,2);{var fo=os=>{var wl=PD();T(os,wl)},Ma=ot(()=>u(Xe).has(fe().path));q(go,os=>{u(Ma)&&os(fo)})}var Qs=x(go,2),ss=C(Qs),Po=x(Qs,2),Dc=C(Po),Dh=x(En,2);{var Ec=os=>{var wl=IK();mi(wl,21,()=>fe().children,Pc=>Pc.path,(Pc,Eh)=>{V(Pc,()=>u(Eh),()=>fe().disabled||u(zt))}),T(os,wl)};q(Dh,os=>{u(i)[fe().path]&&fe().children&&os(Ec)})}Z(()=>{uo=Vt(En,1,"dir-row svelte-1pyfjii",null,uo,{"dir-selected":u(n)===fe().path,"drag-target":u(a)===fe().path}),Fn(En,"aria-selected",u(n)===fe().path),Ko=Vt(qo,1,"chevron svelte-1pyfjii",null,Ko,{open:u(i)[fe().path]}),yr=Vt(ns,1,"dir-name svelte-1pyfjii",null,yr,{lib:fe().lib}),K(Ta,fe().name),Qw(ss,fe().lib),Qw(Dc,fe().disabled)}),es("dragstart",En,os=>Tt(os,fe().path)),es("dragover",En,os=>gt(os,fe().path)),es("dragleave",En,Ee),es("drop",En,os=>At(os,fe().path)),ne("contextmenu",En,os=>O(os,fe())),ne("click",qo,()=>_n(fe().path)),ne("click",ns,()=>{I(n,fe().path,!0),u(i)[fe().path]=!0}),ne("keydown",ns,os=>os.key==="Enter"&&I(n,fe().path,!0)),es("mouseenter",Qs,Te),es("mouseleave",Qs,xe),ne("change",ss,()=>Zn(fe().path,!fe().lib)),ne("change",Dc,()=>Mn(fe().path,!fe().disabled)),T(Ri,Ti)},Ni=Ri=>{const Ti=ot(()=>u(S).has(fe().path)),En=ot(()=>u(Xe).has(fe().path)),uo=ot(()=>u(c).some(Rn=>Rn.path===fe().path&&Rn.dirty)),qo=ot(()=>(fe().name.split(".").pop()??"txt").toUpperCase()),Ko=ot(()=>fe().name.endsWith(".js"));var ns=NK();let yr;var Ta=C(ns),go=C(Ta);let fo;var Ma=C(go);let Qs;var ss=C(Ma),Po=x(Ma,2),Dc=C(Po),Dh=x(Po,2);{var Ec=Rn=>{var rs=PD();T(Rn,rs)};q(Dh,Rn=>{u(En)&&Rn(Ec)})}var os=x(Dh);{var wl=Rn=>{var rs=EK();T(Rn,rs)};q(os,Rn=>{u(uo)&&Rn(wl)})}var Pc=x(os,2);{var Eh=Rn=>{var rs=PK();T(Rn,rs)};q(Pc,Rn=>{u(Ti)&&Rn(Eh)})}var Rw=x(go,2);{var To=Rn=>{var rs=TK();let Ph;var Xr=C(rs);Z(()=>{Ph=Vt(rs,1,"dis-label svelte-1pyfjii",null,Ph,{"dis-locked":u(zt)}),Fn(rs,"title",u(zt)?"Disabled by parent directory":"Disable — this script will not be executed"),Qw(Xr,fe().disabled),Xr.disabled=u(zt)}),ne("change",Xr,()=>Mn(fe().path,!fe().disabled)),T(Rn,rs)},yl=Rn=>{var rs=MK();T(Rn,rs)};q(Rw,Rn=>{u(Ko)?Rn(To):Rn(yl,-1)})}Z((Rn,rs,Ph)=>{yr=Vt(ns,1,"tree-file svelte-1pyfjii",null,yr,Rn),fo=Vt(go,1,"svelte-1pyfjii",null,fo,{lib:fe().lib,dis:fe().disabled,err:u(Ti)}),Qs=Vt(Ma,1,`badge badge-${rs??""}`,"svelte-1pyfjii",Qs,{"badge-shelib":fe().lib}),K(ss,Ph),K(Dc,fe().name)},[()=>({active:u(c).some(Rn=>Rn.path===fe().path),"active-tab":fe().path===u(h)}),()=>u(qo).toLowerCase(),()=>Tn(u(qo))]),es("dragstart",ns,Rn=>Tt(Rn,fe().path)),ne("contextmenu",ns,Rn=>O(Rn,fe())),ne("click",go,()=>Nn(fe().path)),T(Ri,ns)};q(Vi,Ri=>{fe().type==="dir"?Ri($i):Ri(Ni,-1)})}T(Pe,Ft)};var Ot=C(Ge),qe=C(Ot),z=x(qe,2),se=x(z,2),Fe=x(Ot,2);{var nt=Pe=>{var fe=RK(),Dt=C(fe);Z(()=>K(Dt,u(f))),T(Pe,fe)};q(Fe,Pe=>{u(f)&&Pe(nt)})}var xt=x(Fe,2),Ne=C(xt);let re;var $e=x(Ne,2);mi($e,17,()=>u(t),Pe=>Pe.path,(Pe,fe)=>{V(Pe,()=>u(fe))}),Z(()=>re=Vt(Ne,1,"tree-root-drop svelte-1pyfjii",null,re,{"drag-target":u(a)===""})),ne("click",qe,qt),ne("click",z,F),ne("click",se,Ei),es("dragover",Ne,Pe=>gt(Pe,"")),es("dragleave",Ne,Ee),es("drop",Ne,Pe=>At(Pe,""))}var de=x(Ge,2),lt=x(de,2),ye=C(lt);{var he=V=>{var re=FK();mi(re,21,()=>u(c),Pe=>Pe.path,(Pe,fe)=>{var Dt=OK();let zt;var Ft=C(Dt),Vi=C(Ft),$i=x(Ft,2);{var Ni=Ti=>{var En=AK();T(Ti,En)};q($i,Ti=>{u(fe).dirty&&Ti(Ni)})}var Ri=x($i,2);Z(Ti=>{zt=Vt(Dt,1,"tab svelte-1pyfjii",null,zt,{active:u(fe).path===u(h)}),K(Vi,Ti)},[()=>u(fe).path.split("/").pop()]),ne("click",Dt,()=>tn(u(fe).path)),ne("keydown",Dt,Ti=>Ti.key==="Enter"&&tn(u(fe).path)),ne("click",Ri,Ti=>{Ti.stopPropagation(),Se(u(fe).path)}),T(Pe,Dt)}),T(V,re)};q(ye,V=>{u(c).length>0&&V(he)})}var Wt=x(ye,2),it=C(Wt),Me=C(it),Re=x(it,2);{var Ue=V=>{var re=zK(),Pe=C(re),fe=C(Pe),Dt=x(Pe,2);{var zt=Ri=>{var Ti=HK(),En=C(Ti);Z(()=>{Fn(Ti,"title",`${u(_).changes.length??""} uncommitted change(s)`),K(En,`✎${u(_).changes.length??""}`)}),T(Ri,Ti)};q(Dt,Ri=>{u(_).changes.length>0&&Ri(zt)})}var Ft=x(Dt,2);{var Vi=Ri=>{var Ti=WK(),En=C(Ti);Z(()=>{Fn(Ti,"title",`${u(_).ahead??""} commit(s) ahead of upstream`),K(En,`↑${u(_).ahead??""}`)}),T(Ri,Ti)};q(Ft,Ri=>{u(_).ahead>0&&Ri(Vi)})}var $i=x(Ft,2);{var Ni=Ri=>{var Ti=BK(),En=C(Ti);Z(()=>{Fn(Ti,"title",`${u(_).behind??""} commit(s) behind upstream`),K(En,`↓${u(_).behind??""}`)}),T(Ri,Ti)};q($i,Ri=>{u(_).behind>0&&Ri(Ni)})}Z(()=>{Fn(Pe,"title",`Branch: ${u(_).branch??""}`),K(fe,`⎇ ${u(_).branch??""}`)}),T(V,re)};q(Re,V=>{u(_)&&V(Ue)})}var mt=x(Re,2),hi=C(mt),ve=C(hi),Ke=C(ve),_t=x(ve,2),Et=x(hi,2);{var Je=V=>{var re=VK(),Pe=wt(re),fe=x(Pe,2),Dt=C(fe),zt=x(Dt,2),Ft=x(zt,2);Z(()=>Ft.disabled=!u(_)),ne("click",Pe,()=>I(p,!1)),ne("click",Dt,()=>{I(p,!1),Le()}),ne("click",zt,()=>{I(p,!1),at()}),ne("click",Ft,It),T(V,re)};q(Et,V=>{u(p)&&V(Je)})}var ui=x(mt,2);{var ni=V=>{var re=jK();ne("click",re,Yt),T(V,re)};q(ui,V=>{u(h)&&V(ni)})}var Si=x(ui,2);let Gi;var si=x(Wt,2),$t=C(si),an=C($t),Ui=C(an);xs(Ui,V=>ct=V,()=>ct);var vn=x(Ui,2);{var nn=V=>{var re=UK();T(V,re)};q(vn,V=>{u(h)||V(nn)})}var Ts=x(vn,2);{var jo=V=>{var re=GK(),Pe=C(re),fe=C(Pe),Dt=x(C(fe)),zt=C(Dt),Ft=x(fe,2),Vi=C(Ft),$i=C(Vi),Ni=C($i),Ri=C(Ni),Ti=x(Ni,2),En=x($i,2);{var uo=ns=>{var yr=KK(),Ta=wt(yr),go=x(Ta,2),fo=C(go);{var Ma=ss=>{var Po=$K();ne("click",Po,()=>{I(pt,!1),I(Ze,!0),Pi()}),T(ss,Po)},Qs=ss=>{var Po=qK();ne("click",Po,()=>{I(pt,!1),I(Ze,!1)}),T(ss,Po)};q(fo,ss=>{u(Ze)?ss(Qs,-1):ss(Ma)})}ne("click",Ta,()=>I(pt,!1)),T(ns,yr)};q(En,ns=>{u(pt)&&ns(uo)})}var qo=x(Vi,2),Ko=x(Pe,2);xs(Ko,ns=>I(di,ns),()=>u(di)),Z(ns=>{K(zt,ns),K(Ri,u(Ze)?"Auto-accept ✓":"Accept")},[()=>{var ns;return(ns=u(h))==null?void 0:ns.split("/").pop()}]),ne("click",Ni,Pi),ne("click",Ti,()=>I(pt,!u(pt))),ne("click",qo,ti),T(V,re)};q(Ts,V=>{u(Ae)!==null&&V(jo)})}var Uo=x(an,2);let Kr,Gr;var br=C(Uo);{var wr=V=>{var re=ZK();ne("mousedown",re,Ve),T(V,re)};q(br,V=>{u(v)&&V(wr)})}var kc=x(br,2),zi=C(kc),Js=C(zi),ls=x(Js);{var $o=V=>{var re=XK(),Pe=C(re);Z(fe=>K(Pe,`— ${fe??""}`),[()=>u(h).split("/").pop()]),T(V,re)};q(ls,V=>{u(h)&&V($o)})}var Ih=x(zi,2);{var Ag=V=>{var re=JK(),Pe=wt(re);mi(Pe,21,()=>ee,On,(Vi,$i)=>{var Ni=YK(),Ri=C(Ni),Ti={};Z(()=>{K(Ri,u($i)),Ti!==(Ti=u($i))&&(Ni.value=(Ni.__value=u($i))??"")}),T(Vi,Ni)});var fe=x(Pe,2),Dt=x(fe,2),zt=C(Dt),Ft=x(Dt,2);ua(Pe,()=>u(N),Vi=>I(N,Vi)),Ii(fe,()=>u(j),Vi=>I(j,Vi)),Us(zt,()=>u(H),Vi=>I(H,Vi)),ne("click",Ft,Ut),T(V,re)};q(Ih,V=>{u(v)&&V(Ag)})}var Ic=x(kc,2);{var Zr=V=>{var re=tG(),Pe=C(re);mi(Pe,17,()=>{var zt;return(((zt=u(Bt))==null?void 0:zt.logEntries)??[]).filter(pe)},zt=>zt.ts+zt.msg,(zt,Ft)=>{var Vi=QK(),$i=C(Vi),Ni=C($i),Ri=x($i,2),Ti=C(Ri),En=x(Ri,2),uo=C(En);Z((qo,Ko)=>{Vt(Vi,1,`log-line ${u(Ft).level??""}`,"svelte-1pyfjii"),K(Ni,qo),K(Ti,Ko),K(uo,u(Ft).msg)},[()=>Y(u(Ft).ts),()=>u(Ft).level.toUpperCase()]),T(zt,Vi)});var fe=x(Pe,2);{var Dt=zt=>{var Ft=eG();T(zt,Ft)};q(fe,zt=>{var Ft;(((Ft=u(Bt))==null?void 0:Ft.logEntries.length)??0)===0&&zt(Dt)})}xs(re,zt=>I(y,zt),()=>u(y)),T(V,re)};q(Ic,V=>{u(v)&&V(Zr)})}var Pa=x($t,2);{var Nw=V=>{var re=iG(),Pe=wt(re),fe=x(Pe,2);let Dt;var zt=C(fe);cK(zt,{get currentScript(){return u(Kn)},onApply:Dn,onCreateFile:Wi,get extraFiles(){return u(P)},set extraFiles(Ft){I(P,Ft,!0)}}),Z(()=>Dt=Bo(fe,"",Dt,{width:`${u(Cn)??""}px`})),ne("mousedown",Pe,tt),T(V,re)};q(Pa,V=>{u(rt)&&V(Nw)})}Z(()=>{var V;je=Bo(Ge,"",je,{width:`${u(yi)??""}px`}),K(Me,u(h)??"No file selected"),ve.disabled=!((V=u(Bt))!=null&&V.dirty)||u(g),K(Ke,u(g)?"Saving…":"Save"),_t.disabled=!u(h),Gi=Vt(Si,1,"ai-toggle svelte-1pyfjii",null,Gi,{"ai-open":u(rt)}),Fn(Si,"title",u(rt)?"Close AI assistant":"Open AI assistant"),Kr=Vt(Uo,1,"log-panel svelte-1pyfjii",null,Kr,{collapsed:!u(v)}),Gr=Bo(Uo,"",Gr,{height:u(v)?`${u(Hi)}px`:"26px"}),K(Js,`${u(v)?"▾":"▸"} Script Log `)}),ne("mousedown",de,bt),ne("click",ve,Le),ne("click",_t,()=>I(p,!u(p))),ne("click",Si,()=>I(rt,!u(rt))),ne("click",zi,ei),T(o,A),Eo()}_r(["click","contextmenu","keydown","change","mousedown"]);const PR="she-theme";function oG(){return localStorage.getItem(PR)??"dark"}function rG(o){localStorage.setItem(PR,o);const e=document.documentElement;o==="system"?e.removeAttribute("data-theme"):e.setAttribute("data-theme",o)}var ff={exports:{}};/* @preserve
215
- * Leaflet 1.9.4, a JS library for interactive maps. https://leafletjs.com
216
- * (c) 2010-2023 Vladimir Agafonkin, (c) 2010-2011 CloudMade
217
- */var aG=ff.exports,TD;function lG(){return TD||(TD=1,(function(o,e){(function(t,i){i(e)})(aG,(function(t){var i="1.9.4";function n(l){var d,m,b,k;for(m=1,b=arguments.length;m<b;m++){k=arguments[m];for(d in k)l[d]=k[d]}return l}var s=Object.create||(function(){function l(){}return function(d){return l.prototype=d,new l}})();function r(l,d){var m=Array.prototype.slice;if(l.bind)return l.bind.apply(l,m.call(arguments,1));var b=m.call(arguments,2);return function(){return l.apply(d,b.length?b.concat(m.call(arguments)):arguments)}}var a=0;function c(l){return"_leaflet_id"in l||(l._leaflet_id=++a),l._leaflet_id}function h(l,d,m){var b,k,E,$;return $=function(){b=!1,k&&(E.apply(m,k),k=!1)},E=function(){b?k=arguments:(l.apply(m,arguments),setTimeout($,d),b=!0)},E}function g(l,d,m){var b=d[1],k=d[0],E=b-k;return l===b&&m?l:((l-k)%E+E)%E+k}function f(){return!1}function p(l,d){if(d===!1)return l;var m=Math.pow(10,d===void 0?6:d);return Math.round(l*m)/m}function v(l){return l.trim?l.trim():l.replace(/^\s+|\s+$/g,"")}function _(l){return v(l).split(/\s+/)}function y(l,d){Object.prototype.hasOwnProperty.call(l,"options")||(l.options=l.options?s(l.options):{});for(var m in d)l.options[m]=d[m];return l.options}function S(l,d,m){var b=[];for(var k in l)b.push(encodeURIComponent(m?k.toUpperCase():k)+"="+encodeURIComponent(l[k]));return(!d||d.indexOf("?")===-1?"?":"&")+b.join("&")}var D=/\{ *([\w_ -]+) *\}/g;function P(l,d){return l.replace(D,function(m,b){var k=d[b];if(k===void 0)throw new Error("No value provided for variable "+m);return typeof k=="function"&&(k=k(d)),k})}var N=Array.isArray||function(l){return Object.prototype.toString.call(l)==="[object Array]"};function j(l,d){for(var m=0;m<l.length;m++)if(l[m]===d)return m;return-1}var H="data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=";function ee(l){return window["webkit"+l]||window["moz"+l]||window["ms"+l]}var X=0;function pe(l){var d=+new Date,m=Math.max(0,16-(d-X));return X=d+m,window.setTimeout(l,m)}var be=window.requestAnimationFrame||ee("RequestAnimationFrame")||pe,Te=window.cancelAnimationFrame||ee("CancelAnimationFrame")||ee("CancelRequestAnimationFrame")||function(l){window.clearTimeout(l)};function xe(l,d,m){if(m&&be===pe)l.call(d);else return be.call(window,r(l,d))}function ct(l){l&&Te.call(window,l)}var Pt={__proto__:null,extend:n,create:s,bind:r,get lastId(){return a},stamp:c,throttle:h,wrapNum:g,falseFn:f,formatNum:p,trim:v,splitWords:_,setOptions:y,getParamString:S,template:P,isArray:N,indexOf:j,emptyImageUrl:H,requestFn:be,cancelFn:Te,requestAnimFrame:xe,cancelAnimFrame:ct};function dt(){}dt.extend=function(l){var d=function(){y(this),this.initialize&&this.initialize.apply(this,arguments),this.callInitHooks()},m=d.__super__=this.prototype,b=s(m);b.constructor=d,d.prototype=b;for(var k in this)Object.prototype.hasOwnProperty.call(this,k)&&k!=="prototype"&&k!=="__super__"&&(d[k]=this[k]);return l.statics&&n(d,l.statics),l.includes&&(ai(l.includes),n.apply(null,[b].concat(l.includes))),n(b,l),delete b.statics,delete b.includes,b.options&&(b.options=m.options?s(m.options):{},n(b.options,l.options)),b._initHooks=[],b.callInitHooks=function(){if(!this._initHooksCalled){m.callInitHooks&&m.callInitHooks.call(this),this._initHooksCalled=!0;for(var E=0,$=b._initHooks.length;E<$;E++)b._initHooks[E].call(this)}},d},dt.include=function(l){var d=this.prototype.options;return n(this.prototype,l),l.options&&(this.prototype.options=d,this.mergeOptions(l.options)),this},dt.mergeOptions=function(l){return n(this.prototype.options,l),this},dt.addInitHook=function(l){var d=Array.prototype.slice.call(arguments,1),m=typeof l=="function"?l:function(){this[l].apply(this,d)};return this.prototype._initHooks=this.prototype._initHooks||[],this.prototype._initHooks.push(m),this};function ai(l){if(!(typeof L>"u"||!L||!L.Mixin)){l=N(l)?l:[l];for(var d=0;d<l.length;d++)l[d]===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 Mt={on:function(l,d,m){if(typeof l=="object")for(var b in l)this._on(b,l[b],d);else{l=_(l);for(var k=0,E=l.length;k<E;k++)this._on(l[k],d,m)}return this},off:function(l,d,m){if(!arguments.length)delete this._events;else if(typeof l=="object")for(var b in l)this._off(b,l[b],d);else{l=_(l);for(var k=arguments.length===1,E=0,$=l.length;E<$;E++)k?this._off(l[E]):this._off(l[E],d,m)}return this},_on:function(l,d,m,b){if(typeof d!="function"){console.warn("wrong listener type: "+typeof d);return}if(this._listens(l,d,m)===!1){m===this&&(m=void 0);var k={fn:d,ctx:m};b&&(k.once=!0),this._events=this._events||{},this._events[l]=this._events[l]||[],this._events[l].push(k)}},_off:function(l,d,m){var b,k,E;if(this._events&&(b=this._events[l],!!b)){if(arguments.length===1){if(this._firingCount)for(k=0,E=b.length;k<E;k++)b[k].fn=f;delete this._events[l];return}if(typeof d!="function"){console.warn("wrong listener type: "+typeof d);return}var $=this._listens(l,d,m);if($!==!1){var te=b[$];this._firingCount&&(te.fn=f,this._events[l]=b=b.slice()),b.splice($,1)}}},fire:function(l,d,m){if(!this.listens(l,m))return this;var b=n({},d,{type:l,target:this,sourceTarget:d&&d.sourceTarget||this});if(this._events){var k=this._events[l];if(k){this._firingCount=this._firingCount+1||1;for(var E=0,$=k.length;E<$;E++){var te=k[E],le=te.fn;te.once&&this.off(l,le,te.ctx),le.call(te.ctx||this,b)}this._firingCount--}}return m&&this._propagateEvent(b),this},listens:function(l,d,m,b){typeof l!="string"&&console.warn('"string" type argument expected');var k=d;typeof d!="function"&&(b=!!d,k=void 0,m=void 0);var E=this._events&&this._events[l];if(E&&E.length&&this._listens(l,k,m)!==!1)return!0;if(b){for(var $ in this._eventParents)if(this._eventParents[$].listens(l,d,m,b))return!0}return!1},_listens:function(l,d,m){if(!this._events)return!1;var b=this._events[l]||[];if(!d)return!!b.length;m===this&&(m=void 0);for(var k=0,E=b.length;k<E;k++)if(b[k].fn===d&&b[k].ctx===m)return k;return!1},once:function(l,d,m){if(typeof l=="object")for(var b in l)this._on(b,l[b],d,!0);else{l=_(l);for(var k=0,E=l.length;k<E;k++)this._on(l[k],d,m,!0)}return this},addEventParent:function(l){return this._eventParents=this._eventParents||{},this._eventParents[c(l)]=l,this},removeEventParent:function(l){return this._eventParents&&delete this._eventParents[c(l)],this},_propagateEvent:function(l){for(var d in this._eventParents)this._eventParents[d].fire(l.type,n({layer:l.target,propagatedFrom:l.target},l),!0)}};Mt.addEventListener=Mt.on,Mt.removeEventListener=Mt.clearAllEventListeners=Mt.off,Mt.addOneTimeEventListener=Mt.once,Mt.fireEvent=Mt.fire,Mt.hasEventListeners=Mt.listens;var Jt=dt.extend(Mt);function ge(l,d,m){this.x=m?Math.round(l):l,this.y=m?Math.round(d):d}var rt=Math.trunc||function(l){return l>0?Math.floor(l):Math.ceil(l)};ge.prototype={clone:function(){return new ge(this.x,this.y)},add:function(l){return this.clone()._add(Ae(l))},_add:function(l){return this.x+=l.x,this.y+=l.y,this},subtract:function(l){return this.clone()._subtract(Ae(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 ge(this.x*l.x,this.y*l.y)},unscaleBy:function(l){return new ge(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=rt(this.x),this.y=rt(this.y),this},distanceTo:function(l){l=Ae(l);var d=l.x-this.x,m=l.y-this.y;return Math.sqrt(d*d+m*m)},equals:function(l){return l=Ae(l),l.x===this.x&&l.y===this.y},contains:function(l){return l=Ae(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 Ae(l,d,m){return l instanceof ge?l:N(l)?new ge(l[0],l[1]):l==null?l:typeof l=="object"&&"x"in l&&"y"in l?new ge(l.x,l.y):new ge(l,d,m)}function Ze(l,d){if(l)for(var m=d?[l,d]:l,b=0,k=m.length;b<k;b++)this.extend(m[b])}Ze.prototype={extend:function(l){var d,m;if(!l)return this;if(l instanceof ge||typeof l[0]=="number"||"x"in l)d=m=Ae(l);else if(l=pt(l),d=l.min,m=l.max,!d||!m)return this;return!this.min&&!this.max?(this.min=d.clone(),this.max=m.clone()):(this.min.x=Math.min(d.x,this.min.x),this.max.x=Math.max(m.x,this.max.x),this.min.y=Math.min(d.y,this.min.y),this.max.y=Math.max(m.y,this.max.y)),this},getCenter:function(l){return Ae((this.min.x+this.max.x)/2,(this.min.y+this.max.y)/2,l)},getBottomLeft:function(){return Ae(this.min.x,this.max.y)},getTopRight:function(){return Ae(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 d,m;return typeof l[0]=="number"||l instanceof ge?l=Ae(l):l=pt(l),l instanceof Ze?(d=l.min,m=l.max):d=m=l,d.x>=this.min.x&&m.x<=this.max.x&&d.y>=this.min.y&&m.y<=this.max.y},intersects:function(l){l=pt(l);var d=this.min,m=this.max,b=l.min,k=l.max,E=k.x>=d.x&&b.x<=m.x,$=k.y>=d.y&&b.y<=m.y;return E&&$},overlaps:function(l){l=pt(l);var d=this.min,m=this.max,b=l.min,k=l.max,E=k.x>d.x&&b.x<m.x,$=k.y>d.y&&b.y<m.y;return E&&$},isValid:function(){return!!(this.min&&this.max)},pad:function(l){var d=this.min,m=this.max,b=Math.abs(d.x-m.x)*l,k=Math.abs(d.y-m.y)*l;return pt(Ae(d.x-b,d.y-k),Ae(m.x+b,m.y+k))},equals:function(l){return l?(l=pt(l),this.min.equals(l.getTopLeft())&&this.max.equals(l.getBottomRight())):!1}};function pt(l,d){return!l||l instanceof Ze?l:new Ze(l,d)}function di(l,d){if(l)for(var m=d?[l,d]:l,b=0,k=m.length;b<k;b++)this.extend(m[b])}di.prototype={extend:function(l){var d=this._southWest,m=this._northEast,b,k;if(l instanceof Ct)b=l,k=l;else if(l instanceof di){if(b=l._southWest,k=l._northEast,!b||!k)return this}else return l?this.extend(kt(l)||Gt(l)):this;return!d&&!m?(this._southWest=new Ct(b.lat,b.lng),this._northEast=new Ct(k.lat,k.lng)):(d.lat=Math.min(b.lat,d.lat),d.lng=Math.min(b.lng,d.lng),m.lat=Math.max(k.lat,m.lat),m.lng=Math.max(k.lng,m.lng)),this},pad:function(l){var d=this._southWest,m=this._northEast,b=Math.abs(d.lat-m.lat)*l,k=Math.abs(d.lng-m.lng)*l;return new di(new Ct(d.lat-b,d.lng-k),new Ct(m.lat+b,m.lng+k))},getCenter:function(){return new Ct((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 Ct(this.getNorth(),this.getWest())},getSouthEast:function(){return new Ct(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 Ct||"lat"in l?l=kt(l):l=Gt(l);var d=this._southWest,m=this._northEast,b,k;return l instanceof di?(b=l.getSouthWest(),k=l.getNorthEast()):b=k=l,b.lat>=d.lat&&k.lat<=m.lat&&b.lng>=d.lng&&k.lng<=m.lng},intersects:function(l){l=Gt(l);var d=this._southWest,m=this._northEast,b=l.getSouthWest(),k=l.getNorthEast(),E=k.lat>=d.lat&&b.lat<=m.lat,$=k.lng>=d.lng&&b.lng<=m.lng;return E&&$},overlaps:function(l){l=Gt(l);var d=this._southWest,m=this._northEast,b=l.getSouthWest(),k=l.getNorthEast(),E=k.lat>d.lat&&b.lat<m.lat,$=k.lng>d.lng&&b.lng<m.lng;return E&&$},toBBoxString:function(){return[this.getWest(),this.getSouth(),this.getEast(),this.getNorth()].join(",")},equals:function(l,d){return l?(l=Gt(l),this._southWest.equals(l.getSouthWest(),d)&&this._northEast.equals(l.getNorthEast(),d)):!1},isValid:function(){return!!(this._southWest&&this._northEast)}};function Gt(l,d){return l instanceof di?l:new di(l,d)}function Ct(l,d,m){if(isNaN(l)||isNaN(d))throw new Error("Invalid LatLng object: ("+l+", "+d+")");this.lat=+l,this.lng=+d,m!==void 0&&(this.alt=+m)}Ct.prototype={equals:function(l,d){if(!l)return!1;l=kt(l);var m=Math.max(Math.abs(this.lat-l.lat),Math.abs(this.lng-l.lng));return m<=(d===void 0?1e-9:d)},toString:function(l){return"LatLng("+p(this.lat,l)+", "+p(this.lng,l)+")"},distanceTo:function(l){return Hi.distance(this,kt(l))},wrap:function(){return Hi.wrapLatLng(this)},toBounds:function(l){var d=180*l/40075017,m=d/Math.cos(Math.PI/180*this.lat);return Gt([this.lat-d,this.lng-m],[this.lat+d,this.lng+m])},clone:function(){return new Ct(this.lat,this.lng,this.alt)}};function kt(l,d,m){return l instanceof Ct?l:N(l)&&typeof l[0]!="object"?l.length===3?new Ct(l[0],l[1],l[2]):l.length===2?new Ct(l[0],l[1]):null:l==null?l:typeof l=="object"&&"lat"in l?new Ct(l.lat,"lng"in l?l.lng:l.lon,l.alt):d===void 0?null:new Ct(l,d,m)}var yi={latLngToPoint:function(l,d){var m=this.projection.project(l),b=this.scale(d);return this.transformation._transform(m,b)},pointToLatLng:function(l,d){var m=this.scale(d),b=this.transformation.untransform(l,m);return this.projection.unproject(b)},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 d=this.projection.bounds,m=this.scale(l),b=this.transformation.transform(d.min,m),k=this.transformation.transform(d.max,m);return new Ze(b,k)},infinite:!1,wrapLatLng:function(l){var d=this.wrapLng?g(l.lng,this.wrapLng,!0):l.lng,m=this.wrapLat?g(l.lat,this.wrapLat,!0):l.lat,b=l.alt;return new Ct(m,d,b)},wrapLatLngBounds:function(l){var d=l.getCenter(),m=this.wrapLatLng(d),b=d.lat-m.lat,k=d.lng-m.lng;if(b===0&&k===0)return l;var E=l.getSouthWest(),$=l.getNorthEast(),te=new Ct(E.lat-b,E.lng-k),le=new Ct($.lat-b,$.lng-k);return new di(te,le)}},Hi=n({},yi,{wrapLng:[-180,180],R:6371e3,distance:function(l,d){var m=Math.PI/180,b=l.lat*m,k=d.lat*m,E=Math.sin((d.lat-l.lat)*m/2),$=Math.sin((d.lng-l.lng)*m/2),te=E*E+Math.cos(b)*Math.cos(k)*$*$,le=2*Math.atan2(Math.sqrt(te),Math.sqrt(1-te));return this.R*le}}),Cn=6378137,Qi={R:Cn,MAX_LATITUDE:85.0511287798,project:function(l){var d=Math.PI/180,m=this.MAX_LATITUDE,b=Math.max(Math.min(m,l.lat),-m),k=Math.sin(b*d);return new ge(this.R*l.lng*d,this.R*Math.log((1+k)/(1-k))/2)},unproject:function(l){var d=180/Math.PI;return new Ct((2*Math.atan(Math.exp(l.y/this.R))-Math.PI/2)*d,l.x*d/this.R)},bounds:(function(){var l=Cn*Math.PI;return new Ze([-l,-l],[l,l])})()};function Mi(l,d,m,b){if(N(l)){this._a=l[0],this._b=l[1],this._c=l[2],this._d=l[3];return}this._a=l,this._b=d,this._c=m,this._d=b}Mi.prototype={transform:function(l,d){return this._transform(l.clone(),d)},_transform:function(l,d){return d=d||1,l.x=d*(this._a*l.x+this._b),l.y=d*(this._c*l.y+this._d),l},untransform:function(l,d){return d=d||1,new ge((l.x/d-this._b)/this._a,(l.y/d-this._d)/this._c)}};function xn(l,d,m,b){return new Mi(l,d,m,b)}var pn=n({},Hi,{code:"EPSG:3857",projection:Qi,transformation:(function(){var l=.5/(Math.PI*Qi.R);return xn(l,.5,-l,.5)})()}),Vn=n({},pn,{code:"EPSG:900913"});function Ln(l){return document.createElementNS("http://www.w3.org/2000/svg",l)}function mn(l,d){var m="",b,k,E,$,te,le;for(b=0,E=l.length;b<E;b++){for(te=l[b],k=0,$=te.length;k<$;k++)le=te[k],m+=(k?"L":"M")+le.x+" "+le.y;m+=d?Ee.svg?"z":"x":""}return m||"M0 0"}var Bn=document.documentElement.style,kn="ActiveXObject"in window,Kn=kn&&!document.addEventListener,Xe="msLaunchUri"in navigator&&!("documentMode"in document),Ht=gt("webkit"),li=gt("android"),Bt=gt("android 2")||gt("android 3"),pi=parseInt(/WebKit\/([0-9]+)|$/.exec(navigator.userAgent)[1],10),In=li&&gt("Google")&&pi<537&&!("AudioNode"in window),on=!!window.opera,en=!Xe&&gt("chrome"),dn=gt("gecko")&&!Ht&&!on&&!kn,$n=!en&&gt("safari"),Ei=gt("phantom"),_n="OTransition"in Bn,Tn=navigator.platform.indexOf("Win")===0,Zn=kn&&"transition"in Bn,Mn="WebKitCSSMatrix"in window&&"m11"in new window.WebKitCSSMatrix&&!Bt,rn="MozPerspective"in Bn,Nn=!window.L_DISABLE_3D&&(Zn||Mn||rn)&&!_n&&!Ei,tn=typeof orientation<"u"||gt("mobile"),Se=tn&&Ht,G=tn&&Mn,Le=!window.PointerEvent&&window.MSPointerEvent,at=!!(window.PointerEvent||Le),It="ontouchstart"in window||!!window.TouchEvent,qt=!window.L_NO_TOUCH&&(It||at),F=tn&&on,O=tn&&dn,Q=(window.devicePixelRatio||window.screen.deviceXDPI/window.screen.logicalXDPI)>1,Ce=(function(){var l=!1;try{var d=Object.defineProperty({},"passive",{get:function(){l=!0}});window.addEventListener("testPassiveEventSupport",f,d),window.removeEventListener("testPassiveEventSupport",f,d)}catch{}return l})(),Qe=(function(){return!!document.createElement("canvas").getContext})(),Nt=!!(document.createElementNS&&Ln("svg").createSVGRect),ke=!!Nt&&(function(){var l=document.createElement("div");return l.innerHTML="<svg/>",(l.firstChild&&l.firstChild.namespaceURI)==="http://www.w3.org/2000/svg"})(),Ie=!Nt&&(function(){try{var l=document.createElement("div");l.innerHTML='<v:shape adj="1"/>';var d=l.firstChild;return d.style.behavior="url(#default#VML)",d&&typeof d.adj=="object"}catch{return!1}})(),Oe=navigator.platform.indexOf("Mac")===0,Tt=navigator.platform.indexOf("Linux")===0;function gt(l){return navigator.userAgent.toLowerCase().indexOf(l)>=0}var Ee={ie:kn,ielt9:Kn,edge:Xe,webkit:Ht,android:li,android23:Bt,androidStock:In,opera:on,chrome:en,gecko:dn,safari:$n,phantom:Ei,opera12:_n,win:Tn,ie3d:Zn,webkit3d:Mn,gecko3d:rn,any3d:Nn,mobile:tn,mobileWebkit:Se,mobileWebkit3d:G,msPointer:Le,pointer:at,touch:qt,touchNative:It,mobileOpera:F,mobileGecko:O,retina:Q,passiveEvents:Ce,canvas:Qe,svg:Nt,vml:Ie,inlineSvg:ke,mac:Oe,linux:Tt},At=Ee.msPointer?"MSPointerDown":"pointerdown",Qt=Ee.msPointer?"MSPointerMove":"pointermove",Yt=Ee.msPointer?"MSPointerUp":"pointerup",Ut=Ee.msPointer?"MSPointerCancel":"pointercancel",ei={touchstart:At,touchmove:Qt,touchend:Yt,touchcancel:Ut},Y={touchstart:Wi,touchmove:ii,touchend:ii,touchcancel:ii},_e={},We=!1;function Ye(l,d,m){return d==="touchstart"&&oi(),Y[d]?(m=Y[d].bind(this,m),l.addEventListener(ei[d],m,!1),m):(console.warn("wrong event specified:",d),f)}function bt(l,d,m){if(!ei[d]){console.warn("wrong event specified:",d);return}l.removeEventListener(ei[d],m,!1)}function Ve(l){_e[l.pointerId]=l}function tt(l){_e[l.pointerId]&&(_e[l.pointerId]=l)}function Zt(l){delete _e[l.pointerId]}function oi(){We||(document.addEventListener(At,Ve,!0),document.addEventListener(Qt,tt,!0),document.addEventListener(Yt,Zt,!0),document.addEventListener(Ut,Zt,!0),We=!0)}function ii(l,d){if(d.pointerType!==(d.MSPOINTER_TYPE_MOUSE||"mouse")){d.touches=[];for(var m in _e)d.touches.push(_e[m]);d.changedTouches=[d],l(d)}}function Wi(l,d){d.MSPOINTER_TYPE_TOUCH&&d.pointerType===d.MSPOINTER_TYPE_TOUCH&&nn(d),ii(l,d)}function Dn(l){var d={},m,b;for(b in l)m=l[b],d[b]=m&&m.bind?m.bind(l):m;return l=d,d.type="dblclick",d.detail=2,d.isTrusted=!1,d._simulated=!0,d}var Pi=200;function ti(l,d){l.addEventListener("dblclick",d);var m=0,b;function k(E){if(E.detail!==1){b=E.detail;return}if(!(E.pointerType==="mouse"||E.sourceCapabilities&&!E.sourceCapabilities.firesTouchEvents)){var $=jo(E);if(!($.some(function(le){return le instanceof HTMLLabelElement&&le.attributes.for})&&!$.some(function(le){return le instanceof HTMLInputElement||le instanceof HTMLSelectElement}))){var te=Date.now();te-m<=Pi?(b++,b===2&&d(Dn(E))):b=1,m=te}}}return l.addEventListener("click",k),{dblclick:d,simDblclick:k}}function Bi(l,d){l.removeEventListener("dblclick",d.dblclick),l.removeEventListener("click",d.simDblclick)}var A=Ne(["transform","webkitTransform","OTransform","MozTransform","msTransform"]),W=Ne(["webkitTransition","transition","OTransition","MozTransition","msTransition"]),ae=W==="webkitTransition"||W==="OTransition"?W+"End":"transitionend";function ce(l){return typeof l=="string"?document.getElementById(l):l}function ue(l,d){var m=l.style[d]||l.currentStyle&&l.currentStyle[d];if((!m||m==="auto")&&document.defaultView){var b=document.defaultView.getComputedStyle(l,null);m=b?b[d]:null}return m==="auto"?null:m}function me(l,d,m){var b=document.createElement(l);return b.className=d||"",m&&m.appendChild(b),b}function De(l){var d=l.parentNode;d&&d.removeChild(l)}function ft(l){for(;l.firstChild;)l.removeChild(l.firstChild)}function Ge(l){var d=l.parentNode;d&&d.lastChild!==l&&d.appendChild(l)}function je(l){var d=l.parentNode;d&&d.firstChild!==l&&d.insertBefore(l,d.firstChild)}function Ot(l,d){if(l.classList!==void 0)return l.classList.contains(d);var m=Fe(l);return m.length>0&&new RegExp("(^|\\s)"+d+"(\\s|$)").test(m)}function qe(l,d){if(l.classList!==void 0)for(var m=_(d),b=0,k=m.length;b<k;b++)l.classList.add(m[b]);else if(!Ot(l,d)){var E=Fe(l);se(l,(E?E+" ":"")+d)}}function z(l,d){l.classList!==void 0?l.classList.remove(d):se(l,v((" "+Fe(l)+" ").replace(" "+d+" "," ")))}function se(l,d){l.className.baseVal===void 0?l.className=d:l.className.baseVal=d}function Fe(l){return l.correspondingElement&&(l=l.correspondingElement),l.className.baseVal===void 0?l.className:l.className.baseVal}function nt(l,d){"opacity"in l.style?l.style.opacity=d:"filter"in l.style&&xt(l,d)}function xt(l,d){var m=!1,b="DXImageTransform.Microsoft.Alpha";try{m=l.filters.item(b)}catch{if(d===1)return}d=Math.round(d*100),m?(m.Enabled=d!==100,m.Opacity=d):l.style.filter+=" progid:"+b+"(opacity="+d+")"}function Ne(l){for(var d=document.documentElement.style,m=0;m<l.length;m++)if(l[m]in d)return l[m];return!1}function $e(l,d,m){var b=d||new ge(0,0);l.style[A]=(Ee.ie3d?"translate("+b.x+"px,"+b.y+"px)":"translate3d("+b.x+"px,"+b.y+"px,0)")+(m?" scale("+m+")":"")}function de(l,d){l._leaflet_pos=d,Ee.any3d?$e(l,d):(l.style.left=d.x+"px",l.style.top=d.y+"px")}function lt(l){return l._leaflet_pos||new ge(0,0)}var ye,he,Wt;if("onselectstart"in document)ye=function(){Je(window,"selectstart",nn)},he=function(){ni(window,"selectstart",nn)};else{var it=Ne(["userSelect","WebkitUserSelect","OUserSelect","MozUserSelect","msUserSelect"]);ye=function(){if(it){var l=document.documentElement.style;Wt=l[it],l[it]="none"}},he=function(){it&&(document.documentElement.style[it]=Wt,Wt=void 0)}}function Me(){Je(window,"dragstart",nn)}function Re(){ni(window,"dragstart",nn)}var Ue,mt;function hi(l){for(;l.tabIndex===-1;)l=l.parentNode;l.style&&(ve(),Ue=l,mt=l.style.outlineStyle,l.style.outlineStyle="none",Je(window,"keydown",ve))}function ve(){Ue&&(Ue.style.outlineStyle=mt,Ue=void 0,mt=void 0,ni(window,"keydown",ve))}function Ke(l){do l=l.parentNode;while((!l.offsetWidth||!l.offsetHeight)&&l!==document.body);return l}function _t(l){var d=l.getBoundingClientRect();return{x:d.width/l.offsetWidth||1,y:d.height/l.offsetHeight||1,boundingClientRect:d}}var Et={__proto__:null,TRANSFORM:A,TRANSITION:W,TRANSITION_END:ae,get:ce,getStyle:ue,create:me,remove:De,empty:ft,toFront:Ge,toBack:je,hasClass:Ot,addClass:qe,removeClass:z,setClass:se,getClass:Fe,setOpacity:nt,testProp:Ne,setTransform:$e,setPosition:de,getPosition:lt,get disableTextSelection(){return ye},get enableTextSelection(){return he},disableImageDrag:Me,enableImageDrag:Re,preventOutline:hi,restoreOutline:ve,getSizedParentNode:Ke,getScale:_t};function Je(l,d,m,b){if(d&&typeof d=="object")for(var k in d)si(l,k,d[k],m);else{d=_(d);for(var E=0,$=d.length;E<$;E++)si(l,d[E],m,b)}return this}var ui="_leaflet_events";function ni(l,d,m,b){if(arguments.length===1)Si(l),delete l[ui];else if(d&&typeof d=="object")for(var k in d)$t(l,k,d[k],m);else if(d=_(d),arguments.length===2)Si(l,function(te){return j(d,te)!==-1});else for(var E=0,$=d.length;E<$;E++)$t(l,d[E],m,b);return this}function Si(l,d){for(var m in l[ui]){var b=m.split(/\d/)[0];(!d||d(b))&&$t(l,b,null,null,m)}}var Gi={mouseenter:"mouseover",mouseleave:"mouseout",wheel:!("onwheel"in window)&&"mousewheel"};function si(l,d,m,b){var k=d+c(m)+(b?"_"+c(b):"");if(l[ui]&&l[ui][k])return this;var E=function(te){return m.call(b||l,te||window.event)},$=E;!Ee.touchNative&&Ee.pointer&&d.indexOf("touch")===0?E=Ye(l,d,E):Ee.touch&&d==="dblclick"?E=ti(l,E):"addEventListener"in l?d==="touchstart"||d==="touchmove"||d==="wheel"||d==="mousewheel"?l.addEventListener(Gi[d]||d,E,Ee.passiveEvents?{passive:!1}:!1):d==="mouseenter"||d==="mouseleave"?(E=function(te){te=te||window.event,br(l,te)&&$(te)},l.addEventListener(Gi[d],E,!1)):l.addEventListener(d,$,!1):l.attachEvent("on"+d,E),l[ui]=l[ui]||{},l[ui][k]=E}function $t(l,d,m,b,k){k=k||d+c(m)+(b?"_"+c(b):"");var E=l[ui]&&l[ui][k];if(!E)return this;!Ee.touchNative&&Ee.pointer&&d.indexOf("touch")===0?bt(l,d,E):Ee.touch&&d==="dblclick"?Bi(l,E):"removeEventListener"in l?l.removeEventListener(Gi[d]||d,E,!1):l.detachEvent("on"+d,E),l[ui][k]=null}function an(l){return l.stopPropagation?l.stopPropagation():l.originalEvent?l.originalEvent._stopped=!0:l.cancelBubble=!0,this}function Ui(l){return si(l,"wheel",an),this}function vn(l){return Je(l,"mousedown touchstart dblclick contextmenu",an),l._leaflet_disable_click=!0,this}function nn(l){return l.preventDefault?l.preventDefault():l.returnValue=!1,this}function Ts(l){return nn(l),an(l),this}function jo(l){if(l.composedPath)return l.composedPath();for(var d=[],m=l.target;m;)d.push(m),m=m.parentNode;return d}function Uo(l,d){if(!d)return new ge(l.clientX,l.clientY);var m=_t(d),b=m.boundingClientRect;return new ge((l.clientX-b.left)/m.x-d.clientLeft,(l.clientY-b.top)/m.y-d.clientTop)}var Kr=Ee.linux&&Ee.chrome?window.devicePixelRatio:Ee.mac?window.devicePixelRatio*3:window.devicePixelRatio>0?2*window.devicePixelRatio:1;function Gr(l){return Ee.edge?l.wheelDeltaY/2:l.deltaY&&l.deltaMode===0?-l.deltaY/Kr: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 br(l,d){var m=d.relatedTarget;if(!m)return!0;try{for(;m&&m!==l;)m=m.parentNode}catch{return!1}return m!==l}var wr={__proto__:null,on:Je,off:ni,stopPropagation:an,disableScrollPropagation:Ui,disableClickPropagation:vn,preventDefault:nn,stop:Ts,getPropagationPath:jo,getMousePosition:Uo,getWheelDelta:Gr,isExternalTarget:br,addListener:Je,removeListener:ni},kc=Jt.extend({run:function(l,d,m,b){this.stop(),this._el=l,this._inProgress=!0,this._duration=m||.25,this._easeOutPower=1/Math.max(b||.5,.2),this._startPos=lt(l),this._offset=d.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=xe(this._animate,this),this._step()},_step:function(l){var d=+new Date-this._startTime,m=this._duration*1e3;d<m?this._runFrame(this._easeOut(d/m),l):(this._runFrame(1),this._complete())},_runFrame:function(l,d){var m=this._startPos.add(this._offset.multiplyBy(l));d&&m._round(),de(this._el,m),this.fire("step")},_complete:function(){ct(this._animId),this._inProgress=!1,this.fire("end")},_easeOut:function(l){return 1-Math.pow(1-l,this._easeOutPower)}}),zi=Jt.extend({options:{crs:pn,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,d){d=y(this,d),this._handlers=[],this._layers={},this._zoomBoundLayers={},this._sizeChanged=!0,this._initContainer(l),this._initLayout(),this._onResize=r(this._onResize,this),this._initEvents(),d.maxBounds&&this.setMaxBounds(d.maxBounds),d.zoom!==void 0&&(this._zoom=this._limitZoom(d.zoom)),d.center&&d.zoom!==void 0&&this.setView(kt(d.center),d.zoom,{reset:!0}),this.callInitHooks(),this._zoomAnimated=W&&Ee.any3d&&!Ee.mobileOpera&&this.options.zoomAnimation,this._zoomAnimated&&(this._createAnimProxy(),Je(this._proxy,ae,this._catchTransitionEnd,this)),this._addLayers(this.options.layers)},setView:function(l,d,m){if(d=d===void 0?this._zoom:this._limitZoom(d),l=this._limitCenter(kt(l),d,this.options.maxBounds),m=m||{},this._stop(),this._loaded&&!m.reset&&m!==!0){m.animate!==void 0&&(m.zoom=n({animate:m.animate},m.zoom),m.pan=n({animate:m.animate,duration:m.duration},m.pan));var b=this._zoom!==d?this._tryAnimatedZoom&&this._tryAnimatedZoom(l,d,m.zoom):this._tryAnimatedPan(l,m.pan);if(b)return clearTimeout(this._sizeTimer),this}return this._resetView(l,d,m.pan&&m.pan.noMoveStart),this},setZoom:function(l,d){return this._loaded?this.setView(this.getCenter(),l,{zoom:d}):(this._zoom=l,this)},zoomIn:function(l,d){return l=l||(Ee.any3d?this.options.zoomDelta:1),this.setZoom(this._zoom+l,d)},zoomOut:function(l,d){return l=l||(Ee.any3d?this.options.zoomDelta:1),this.setZoom(this._zoom-l,d)},setZoomAround:function(l,d,m){var b=this.getZoomScale(d),k=this.getSize().divideBy(2),E=l instanceof ge?l:this.latLngToContainerPoint(l),$=E.subtract(k).multiplyBy(1-1/b),te=this.containerPointToLatLng(k.add($));return this.setView(te,d,{zoom:m})},_getBoundsCenterZoom:function(l,d){d=d||{},l=l.getBounds?l.getBounds():Gt(l);var m=Ae(d.paddingTopLeft||d.padding||[0,0]),b=Ae(d.paddingBottomRight||d.padding||[0,0]),k=this.getBoundsZoom(l,!1,m.add(b));if(k=typeof d.maxZoom=="number"?Math.min(d.maxZoom,k):k,k===1/0)return{center:l.getCenter(),zoom:k};var E=b.subtract(m).divideBy(2),$=this.project(l.getSouthWest(),k),te=this.project(l.getNorthEast(),k),le=this.unproject($.add(te).divideBy(2).add(E),k);return{center:le,zoom:k}},fitBounds:function(l,d){if(l=Gt(l),!l.isValid())throw new Error("Bounds are not valid.");var m=this._getBoundsCenterZoom(l,d);return this.setView(m.center,m.zoom,d)},fitWorld:function(l){return this.fitBounds([[-90,-180],[90,180]],l)},panTo:function(l,d){return this.setView(l,this._zoom,{pan:d})},panBy:function(l,d){if(l=Ae(l).round(),d=d||{},!l.x&&!l.y)return this.fire("moveend");if(d.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 kc,this._panAnim.on({step:this._onPanTransitionStep,end:this._onPanTransitionEnd},this)),d.noMoveStart||this.fire("movestart"),d.animate!==!1){qe(this._mapPane,"leaflet-pan-anim");var m=this._getMapPanePos().subtract(l).round();this._panAnim.run(this._mapPane,m,d.duration||.25,d.easeLinearity)}else this._rawPanBy(l),this.fire("move").fire("moveend");return this},flyTo:function(l,d,m){if(m=m||{},m.animate===!1||!Ee.any3d)return this.setView(l,d,m);this._stop();var b=this.project(this.getCenter()),k=this.project(l),E=this.getSize(),$=this._zoom;l=kt(l),d=d===void 0?$:d;var te=Math.max(E.x,E.y),le=te*this.getZoomScale($,d),Be=k.distanceTo(b)||1,Rt=1.42,vi=Rt*Rt;function Ki(vs){var _m=vs?-1:1,eA=vs?le:te,tA=le*le-te*te+_m*vi*vi*Be*Be,iA=2*eA*vi*Be,Ww=tA/iA,IL=Math.sqrt(Ww*Ww+1)-Ww,nA=IL<1e-9?-18:Math.log(IL);return nA}function eo(vs){return(Math.exp(vs)-Math.exp(-vs))/2}function ks(vs){return(Math.exp(vs)+Math.exp(-vs))/2}function Go(vs){return eo(vs)/ks(vs)}var po=Ki(0);function Rh(vs){return te*(ks(po)/ks(po+Rt*vs))}function XR(vs){return te*(ks(po)*Go(po+Rt*vs)-eo(po))/vi}function YR(vs){return 1-Math.pow(1-vs,1.5)}var JR=Date.now(),LL=(Ki(1)-po)/Rt,QR=m.duration?1e3*m.duration:1e3*LL*.8;function kL(){var vs=(Date.now()-JR)/QR,_m=YR(vs)*LL;vs<=1?(this._flyToFrame=xe(kL,this),this._move(this.unproject(b.add(k.subtract(b).multiplyBy(XR(_m)/Be)),$),this.getScaleZoom(te/Rh(_m),$),{flyTo:!0})):this._move(l,d)._moveEnd(!0)}return this._moveStart(!0,m.noMoveStart),kL.call(this),this},flyToBounds:function(l,d){var m=this._getBoundsCenterZoom(l,d);return this.flyTo(m.center,m.zoom,d)},setMaxBounds:function(l){return l=Gt(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 d=this.options.minZoom;return this.options.minZoom=l,this._loaded&&d!==l&&(this.fire("zoomlevelschange"),this.getZoom()<this.options.minZoom)?this.setZoom(l):this},setMaxZoom:function(l){var d=this.options.maxZoom;return this.options.maxZoom=l,this._loaded&&d!==l&&(this.fire("zoomlevelschange"),this.getZoom()>this.options.maxZoom)?this.setZoom(l):this},panInsideBounds:function(l,d){this._enforcingBounds=!0;var m=this.getCenter(),b=this._limitCenter(m,this._zoom,Gt(l));return m.equals(b)||this.panTo(b,d),this._enforcingBounds=!1,this},panInside:function(l,d){d=d||{};var m=Ae(d.paddingTopLeft||d.padding||[0,0]),b=Ae(d.paddingBottomRight||d.padding||[0,0]),k=this.project(this.getCenter()),E=this.project(l),$=this.getPixelBounds(),te=pt([$.min.add(m),$.max.subtract(b)]),le=te.getSize();if(!te.contains(E)){this._enforcingBounds=!0;var Be=E.subtract(te.getCenter()),Rt=te.extend(E).getSize().subtract(le);k.x+=Be.x<0?-Rt.x:Rt.x,k.y+=Be.y<0?-Rt.y:Rt.y,this.panTo(this.unproject(k),d),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 d=this.getSize();this._sizeChanged=!0,this._lastCenter=null;var m=this.getSize(),b=d.divideBy(2).round(),k=m.divideBy(2).round(),E=b.subtract(k);return!E.x&&!E.y?this:(l.animate&&l.pan?this.panBy(E):(l.pan&&this._rawPanBy(E),this.fire("move"),l.debounceMoveend?(clearTimeout(this._sizeTimer),this._sizeTimer=setTimeout(r(this.fire,this,"moveend"),200)):this.fire("moveend")),this.fire("resize",{oldSize:d,newSize:m}))},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 d=r(this._handleGeolocationResponse,this),m=r(this._handleGeolocationError,this);return l.watch?this._locationWatchId=navigator.geolocation.watchPosition(d,m,l):navigator.geolocation.getCurrentPosition(d,m,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 d=l.code,m=l.message||(d===1?"permission denied":d===2?"position unavailable":"timeout");this._locateOptions.setView&&!this._loaded&&this.fitWorld(),this.fire("locationerror",{code:d,message:"Geolocation error: "+m+"."})}},_handleGeolocationResponse:function(l){if(this._container._leaflet_id){var d=l.coords.latitude,m=l.coords.longitude,b=new Ct(d,m),k=b.toBounds(l.coords.accuracy*2),E=this._locateOptions;if(E.setView){var $=this.getBoundsZoom(k);this.setView(b,E.maxZoom?Math.min($,E.maxZoom):$)}var te={latlng:b,bounds:k,timestamp:l.timestamp};for(var le in l.coords)typeof l.coords[le]=="number"&&(te[le]=l.coords[le]);this.fire("locationfound",te)}},addHandler:function(l,d){if(!d)return this;var m=this[l]=new d(this);return this._handlers.push(m),this.options[l]&&m.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(),De(this._mapPane),this._clearControlPos&&this._clearControlPos(),this._resizeRequest&&(ct(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)De(this._panes[l]);return this._layers=[],this._panes=[],delete this._mapPane,delete this._renderer,this},createPane:function(l,d){var m="leaflet-pane"+(l?" leaflet-"+l.replace("Pane","")+"-pane":""),b=me("div",m,d||this._mapPane);return l&&(this._panes[l]=b),b},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(),d=this.unproject(l.getBottomLeft()),m=this.unproject(l.getTopRight());return new di(d,m)},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,d,m){l=Gt(l),m=Ae(m||[0,0]);var b=this.getZoom()||0,k=this.getMinZoom(),E=this.getMaxZoom(),$=l.getNorthWest(),te=l.getSouthEast(),le=this.getSize().subtract(m),Be=pt(this.project(te,b),this.project($,b)).getSize(),Rt=Ee.any3d?this.options.zoomSnap:1,vi=le.x/Be.x,Ki=le.y/Be.y,eo=d?Math.max(vi,Ki):Math.min(vi,Ki);return b=this.getScaleZoom(eo,b),Rt&&(b=Math.round(b/(Rt/100))*(Rt/100),b=d?Math.ceil(b/Rt)*Rt:Math.floor(b/Rt)*Rt),Math.max(k,Math.min(E,b))},getSize:function(){return(!this._size||this._sizeChanged)&&(this._size=new ge(this._container.clientWidth||0,this._container.clientHeight||0),this._sizeChanged=!1),this._size.clone()},getPixelBounds:function(l,d){var m=this._getTopLeftPoint(l,d);return new Ze(m,m.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,d){var m=this.options.crs;return d=d===void 0?this._zoom:d,m.scale(l)/m.scale(d)},getScaleZoom:function(l,d){var m=this.options.crs;d=d===void 0?this._zoom:d;var b=m.zoom(l*m.scale(d));return isNaN(b)?1/0:b},project:function(l,d){return d=d===void 0?this._zoom:d,this.options.crs.latLngToPoint(kt(l),d)},unproject:function(l,d){return d=d===void 0?this._zoom:d,this.options.crs.pointToLatLng(Ae(l),d)},layerPointToLatLng:function(l){var d=Ae(l).add(this.getPixelOrigin());return this.unproject(d)},latLngToLayerPoint:function(l){var d=this.project(kt(l))._round();return d._subtract(this.getPixelOrigin())},wrapLatLng:function(l){return this.options.crs.wrapLatLng(kt(l))},wrapLatLngBounds:function(l){return this.options.crs.wrapLatLngBounds(Gt(l))},distance:function(l,d){return this.options.crs.distance(kt(l),kt(d))},containerPointToLayerPoint:function(l){return Ae(l).subtract(this._getMapPanePos())},layerPointToContainerPoint:function(l){return Ae(l).add(this._getMapPanePos())},containerPointToLatLng:function(l){var d=this.containerPointToLayerPoint(Ae(l));return this.layerPointToLatLng(d)},latLngToContainerPoint:function(l){return this.layerPointToContainerPoint(this.latLngToLayerPoint(kt(l)))},mouseEventToContainerPoint:function(l){return Uo(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 d=this._container=ce(l);if(d){if(d._leaflet_id)throw new Error("Map container is already initialized.")}else throw new Error("Map container not found.");Je(d,"scroll",this._onScroll,this),this._containerId=c(d)},_initLayout:function(){var l=this._container;this._fadeAnimated=this.options.fadeAnimation&&Ee.any3d,qe(l,"leaflet-container"+(Ee.touch?" leaflet-touch":"")+(Ee.retina?" leaflet-retina":"")+(Ee.ielt9?" leaflet-oldie":"")+(Ee.safari?" leaflet-safari":"")+(this._fadeAnimated?" leaflet-fade-anim":""));var d=ue(l,"position");d!=="absolute"&&d!=="relative"&&d!=="fixed"&&d!=="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),de(this._mapPane,new ge(0,0)),this.createPane("tilePane"),this.createPane("overlayPane"),this.createPane("shadowPane"),this.createPane("markerPane"),this.createPane("tooltipPane"),this.createPane("popupPane"),this.options.markerZoomAnimation||(qe(l.markerPane,"leaflet-zoom-hide"),qe(l.shadowPane,"leaflet-zoom-hide"))},_resetView:function(l,d,m){de(this._mapPane,new ge(0,0));var b=!this._loaded;this._loaded=!0,d=this._limitZoom(d),this.fire("viewprereset");var k=this._zoom!==d;this._moveStart(k,m)._move(l,d)._moveEnd(k),this.fire("viewreset"),b&&this.fire("load")},_moveStart:function(l,d){return l&&this.fire("zoomstart"),d||this.fire("movestart"),this},_move:function(l,d,m,b){d===void 0&&(d=this._zoom);var k=this._zoom!==d;return this._zoom=d,this._lastCenter=l,this._pixelOrigin=this._getNewPixelOrigin(l),b?m&&m.pinch&&this.fire("zoom",m):((k||m&&m.pinch)&&this.fire("zoom",m),this.fire("move",m)),this},_moveEnd:function(l){return l&&this.fire("zoomend"),this.fire("moveend")},_stop:function(){return ct(this._flyToFrame),this._panAnim&&this._panAnim.stop(),this},_rawPanBy:function(l){de(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[c(this._container)]=this;var d=l?ni:Je;d(this._container,"click dblclick mousedown mouseup mouseover mouseout mousemove contextmenu keypress keydown keyup",this._handleDOMEvent,this),this.options.trackResize&&d(window,"resize",this._onResize,this),Ee.any3d&&this.options.transform3DLimit&&(l?this.off:this.on).call(this,"moveend",this._onMoveEnd)},_onResize:function(){ct(this._resizeRequest),this._resizeRequest=xe(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,d){for(var m=[],b,k=d==="mouseout"||d==="mouseover",E=l.target||l.srcElement,$=!1;E;){if(b=this._targets[c(E)],b&&(d==="click"||d==="preclick")&&this._draggableMoved(b)){$=!0;break}if(b&&b.listens(d,!0)&&(k&&!br(E,l)||(m.push(b),k))||E===this._container)break;E=E.parentNode}return!m.length&&!$&&!k&&this.listens(d,!0)&&(m=[this]),m},_isClickDisabled:function(l){for(;l&&l!==this._container;){if(l._leaflet_disable_click)return!0;l=l.parentNode}},_handleDOMEvent:function(l){var d=l.target||l.srcElement;if(!(!this._loaded||d._leaflet_disable_events||l.type==="click"&&this._isClickDisabled(d))){var m=l.type;m==="mousedown"&&hi(d),this._fireDOMEvent(l,m)}},_mouseEvents:["click","dblclick","mouseover","mouseout","contextmenu"],_fireDOMEvent:function(l,d,m){if(l.type==="click"){var b=n({},l);b.type="preclick",this._fireDOMEvent(b,b.type,m)}var k=this._findEventTargets(l,d);if(m){for(var E=[],$=0;$<m.length;$++)m[$].listens(d,!0)&&E.push(m[$]);k=E.concat(k)}if(k.length){d==="contextmenu"&&nn(l);var te=k[0],le={originalEvent:l};if(l.type!=="keypress"&&l.type!=="keydown"&&l.type!=="keyup"){var Be=te.getLatLng&&(!te._radius||te._radius<=10);le.containerPoint=Be?this.latLngToContainerPoint(te.getLatLng()):this.mouseEventToContainerPoint(l),le.layerPoint=this.containerPointToLayerPoint(le.containerPoint),le.latlng=Be?te.getLatLng():this.layerPointToLatLng(le.layerPoint)}for($=0;$<k.length;$++)if(k[$].fire(d,le,!0),le.originalEvent._stopped||k[$].options.bubblingMouseEvents===!1&&j(this._mouseEvents,d)!==-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,d=this._handlers.length;l<d;l++)this._handlers[l].disable()},whenReady:function(l,d){return this._loaded?l.call(d||this,{target:this}):this.on("load",l,d),this},_getMapPanePos:function(){return lt(this._mapPane)||new ge(0,0)},_moved:function(){var l=this._getMapPanePos();return l&&!l.equals([0,0])},_getTopLeftPoint:function(l,d){var m=l&&d!==void 0?this._getNewPixelOrigin(l,d):this.getPixelOrigin();return m.subtract(this._getMapPanePos())},_getNewPixelOrigin:function(l,d){var m=this.getSize()._divideBy(2);return this.project(l,d)._subtract(m)._add(this._getMapPanePos())._round()},_latLngToNewLayerPoint:function(l,d,m){var b=this._getNewPixelOrigin(m,d);return this.project(l,d)._subtract(b)},_latLngBoundsToNewLayerBounds:function(l,d,m){var b=this._getNewPixelOrigin(m,d);return pt([this.project(l.getSouthWest(),d)._subtract(b),this.project(l.getNorthWest(),d)._subtract(b),this.project(l.getSouthEast(),d)._subtract(b),this.project(l.getNorthEast(),d)._subtract(b)])},_getCenterLayerPoint:function(){return this.containerPointToLayerPoint(this.getSize()._divideBy(2))},_getCenterOffset:function(l){return this.latLngToLayerPoint(l).subtract(this._getCenterLayerPoint())},_limitCenter:function(l,d,m){if(!m)return l;var b=this.project(l,d),k=this.getSize().divideBy(2),E=new Ze(b.subtract(k),b.add(k)),$=this._getBoundsOffset(E,m,d);return Math.abs($.x)<=1&&Math.abs($.y)<=1?l:this.unproject(b.add($),d)},_limitOffset:function(l,d){if(!d)return l;var m=this.getPixelBounds(),b=new Ze(m.min.add(l),m.max.add(l));return l.add(this._getBoundsOffset(b,d))},_getBoundsOffset:function(l,d,m){var b=pt(this.project(d.getNorthEast(),m),this.project(d.getSouthWest(),m)),k=b.min.subtract(l.min),E=b.max.subtract(l.max),$=this._rebound(k.x,-E.x),te=this._rebound(k.y,-E.y);return new ge($,te)},_rebound:function(l,d){return l+d>0?Math.round(l-d)/2:Math.max(0,Math.ceil(l))-Math.max(0,Math.floor(d))},_limitZoom:function(l){var d=this.getMinZoom(),m=this.getMaxZoom(),b=Ee.any3d?this.options.zoomSnap:1;return b&&(l=Math.round(l/b)*b),Math.max(d,Math.min(m,l))},_onPanTransitionStep:function(){this.fire("move")},_onPanTransitionEnd:function(){z(this._mapPane,"leaflet-pan-anim"),this.fire("moveend")},_tryAnimatedPan:function(l,d){var m=this._getCenterOffset(l)._trunc();return(d&&d.animate)!==!0&&!this.getSize().contains(m)?!1:(this.panBy(m,d),!0)},_createAnimProxy:function(){var l=this._proxy=me("div","leaflet-proxy leaflet-zoom-animated");this._panes.mapPane.appendChild(l),this.on("zoomanim",function(d){var m=A,b=this._proxy.style[m];$e(this._proxy,this.project(d.center,d.zoom),this.getZoomScale(d.zoom,1)),b===this._proxy.style[m]&&this._animatingZoom&&this._onZoomTransitionEnd()},this),this.on("load moveend",this._animMoveEnd,this),this._on("unload",this._destroyAnimProxy,this)},_destroyAnimProxy:function(){De(this._proxy),this.off("load moveend",this._animMoveEnd,this),delete this._proxy},_animMoveEnd:function(){var l=this.getCenter(),d=this.getZoom();$e(this._proxy,this.project(l,d),this.getZoomScale(d,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,d,m){if(this._animatingZoom)return!0;if(m=m||{},!this._zoomAnimated||m.animate===!1||this._nothingToAnimate()||Math.abs(d-this._zoom)>this.options.zoomAnimationThreshold)return!1;var b=this.getZoomScale(d),k=this._getCenterOffset(l)._divideBy(1-1/b);return m.animate!==!0&&!this.getSize().contains(k)?!1:(xe(function(){this._moveStart(!0,m.noMoveStart||!1)._animateZoom(l,d,!0)},this),!0)},_animateZoom:function(l,d,m,b){this._mapPane&&(m&&(this._animatingZoom=!0,this._animateToCenter=l,this._animateToZoom=d,qe(this._mapPane,"leaflet-zoom-anim")),this.fire("zoomanim",{center:l,zoom:d,noUpdate:b}),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&&z(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 Js(l,d){return new zi(l,d)}var ls=dt.extend({options:{position:"topright"},initialize:function(l){y(this,l)},getPosition:function(){return this.options.position},setPosition:function(l){var d=this._map;return d&&d.removeControl(this),this.options.position=l,d&&d.addControl(this),this},getContainer:function(){return this._container},addTo:function(l){this.remove(),this._map=l;var d=this._container=this.onAdd(l),m=this.getPosition(),b=l._controlCorners[m];return qe(d,"leaflet-control"),m.indexOf("bottom")!==-1?b.insertBefore(d,b.firstChild):b.appendChild(d),this._map.on("unload",this.remove,this),this},remove:function(){return this._map?(De(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()}}),$o=function(l){return new ls(l)};zi.include({addControl:function(l){return l.addTo(this),this},removeControl:function(l){return l.remove(),this},_initControlPos:function(){var l=this._controlCorners={},d="leaflet-",m=this._controlContainer=me("div",d+"control-container",this._container);function b(k,E){var $=d+k+" "+d+E;l[k+E]=me("div",$,m)}b("top","left"),b("top","right"),b("bottom","left"),b("bottom","right")},_clearControlPos:function(){for(var l in this._controlCorners)De(this._controlCorners[l]);De(this._controlContainer),delete this._controlCorners,delete this._controlContainer}});var Ih=ls.extend({options:{collapsed:!0,position:"topright",autoZIndex:!0,hideSingleBase:!1,sortLayers:!1,sortFunction:function(l,d,m,b){return m<b?-1:b<m?1:0}},initialize:function(l,d,m){y(this,m),this._layerControlInputs=[],this._layers=[],this._lastZIndex=0,this._handlingClick=!1,this._preventClick=!1;for(var b in l)this._addLayer(l[b],b);for(b in d)this._addLayer(d[b],b,!0)},onAdd:function(l){this._initLayout(),this._update(),this._map=l,l.on("zoomend",this._checkDisabledLayers,this);for(var d=0;d<this._layers.length;d++)this._layers[d].layer.on("add remove",this._onLayerChange,this);return this._container},addTo:function(l){return ls.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,d){return this._addLayer(l,d),this._map?this._update():this},addOverlay:function(l,d){return this._addLayer(l,d,!0),this._map?this._update():this},removeLayer:function(l){l.off("add remove",this._onLayerChange,this);var d=this._getLayer(c(l));return d&&this._layers.splice(this._layers.indexOf(d),1),this._map?this._update():this},expand:function(){qe(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?(qe(this._section,"leaflet-control-layers-scrollbar"),this._section.style.height=l+"px"):z(this._section,"leaflet-control-layers-scrollbar"),this._checkDisabledLayers(),this},collapse:function(){return z(this._container,"leaflet-control-layers-expanded"),this},_initLayout:function(){var l="leaflet-control-layers",d=this._container=me("div",l),m=this.options.collapsed;d.setAttribute("aria-haspopup",!0),vn(d),Ui(d);var b=this._section=me("section",l+"-list");m&&(this._map.on("click",this.collapse,this),Je(d,{mouseenter:this._expandSafely,mouseleave:this.collapse},this));var k=this._layersLink=me("a",l+"-toggle",d);k.href="#",k.title="Layers",k.setAttribute("role","button"),Je(k,{keydown:function(E){E.keyCode===13&&this._expandSafely()},click:function(E){nn(E),this._expandSafely()}},this),m||this.expand(),this._baseLayersList=me("div",l+"-base",b),this._separator=me("div",l+"-separator",b),this._overlaysList=me("div",l+"-overlays",b),d.appendChild(b)},_getLayer:function(l){for(var d=0;d<this._layers.length;d++)if(this._layers[d]&&c(this._layers[d].layer)===l)return this._layers[d]},_addLayer:function(l,d,m){this._map&&l.on("add remove",this._onLayerChange,this),this._layers.push({layer:l,name:d,overlay:m}),this.options.sortLayers&&this._layers.sort(r(function(b,k){return this.options.sortFunction(b.layer,k.layer,b.name,k.name)},this)),this.options.autoZIndex&&l.setZIndex&&(this._lastZIndex++,l.setZIndex(this._lastZIndex)),this._expandIfNotCollapsed()},_update:function(){if(!this._container)return this;ft(this._baseLayersList),ft(this._overlaysList),this._layerControlInputs=[];var l,d,m,b,k=0;for(m=0;m<this._layers.length;m++)b=this._layers[m],this._addItem(b),d=d||b.overlay,l=l||!b.overlay,k+=b.overlay?0:1;return this.options.hideSingleBase&&(l=l&&k>1,this._baseLayersList.style.display=l?"":"none"),this._separator.style.display=d&&l?"":"none",this},_onLayerChange:function(l){this._handlingClick||this._update();var d=this._getLayer(c(l.target)),m=d.overlay?l.type==="add"?"overlayadd":"overlayremove":l.type==="add"?"baselayerchange":null;m&&this._map.fire(m,d)},_createRadioElement:function(l,d){var m='<input type="radio" class="leaflet-control-layers-selector" name="'+l+'"'+(d?' checked="checked"':"")+"/>",b=document.createElement("div");return b.innerHTML=m,b.firstChild},_addItem:function(l){var d=document.createElement("label"),m=this._map.hasLayer(l.layer),b;l.overlay?(b=document.createElement("input"),b.type="checkbox",b.className="leaflet-control-layers-selector",b.defaultChecked=m):b=this._createRadioElement("leaflet-base-layers_"+c(this),m),this._layerControlInputs.push(b),b.layerId=c(l.layer),Je(b,"click",this._onInputClick,this);var k=document.createElement("span");k.innerHTML=" "+l.name;var E=document.createElement("span");d.appendChild(E),E.appendChild(b),E.appendChild(k);var $=l.overlay?this._overlaysList:this._baseLayersList;return $.appendChild(d),this._checkDisabledLayers(),d},_onInputClick:function(){if(!this._preventClick){var l=this._layerControlInputs,d,m,b=[],k=[];this._handlingClick=!0;for(var E=l.length-1;E>=0;E--)d=l[E],m=this._getLayer(d.layerId).layer,d.checked?b.push(m):d.checked||k.push(m);for(E=0;E<k.length;E++)this._map.hasLayer(k[E])&&this._map.removeLayer(k[E]);for(E=0;E<b.length;E++)this._map.hasLayer(b[E])||this._map.addLayer(b[E]);this._handlingClick=!1,this._refocusOnMap()}},_checkDisabledLayers:function(){for(var l=this._layerControlInputs,d,m,b=this._map.getZoom(),k=l.length-1;k>=0;k--)d=l[k],m=this._getLayer(d.layerId).layer,d.disabled=m.options.minZoom!==void 0&&b<m.options.minZoom||m.options.maxZoom!==void 0&&b>m.options.maxZoom},_expandIfNotCollapsed:function(){return this._map&&!this.options.collapsed&&this.expand(),this},_expandSafely:function(){var l=this._section;this._preventClick=!0,Je(l,"click",nn),this.expand();var d=this;setTimeout(function(){ni(l,"click",nn),d._preventClick=!1})}}),Ag=function(l,d,m){return new Ih(l,d,m)},Ic=ls.extend({options:{position:"topleft",zoomInText:'<span aria-hidden="true">+</span>',zoomInTitle:"Zoom in",zoomOutText:'<span aria-hidden="true">&#x2212;</span>',zoomOutTitle:"Zoom out"},onAdd:function(l){var d="leaflet-control-zoom",m=me("div",d+" leaflet-bar"),b=this.options;return this._zoomInButton=this._createButton(b.zoomInText,b.zoomInTitle,d+"-in",m,this._zoomIn),this._zoomOutButton=this._createButton(b.zoomOutText,b.zoomOutTitle,d+"-out",m,this._zoomOut),this._updateDisabled(),l.on("zoomend zoomlevelschange",this._updateDisabled,this),m},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,d,m,b,k){var E=me("a",m,b);return E.innerHTML=l,E.href="#",E.title=d,E.setAttribute("role","button"),E.setAttribute("aria-label",d),vn(E),Je(E,"click",Ts),Je(E,"click",k,this),Je(E,"click",this._refocusOnMap,this),E},_updateDisabled:function(){var l=this._map,d="leaflet-disabled";z(this._zoomInButton,d),z(this._zoomOutButton,d),this._zoomInButton.setAttribute("aria-disabled","false"),this._zoomOutButton.setAttribute("aria-disabled","false"),(this._disabled||l._zoom===l.getMinZoom())&&(qe(this._zoomOutButton,d),this._zoomOutButton.setAttribute("aria-disabled","true")),(this._disabled||l._zoom===l.getMaxZoom())&&(qe(this._zoomInButton,d),this._zoomInButton.setAttribute("aria-disabled","true"))}});zi.mergeOptions({zoomControl:!0}),zi.addInitHook(function(){this.options.zoomControl&&(this.zoomControl=new Ic,this.addControl(this.zoomControl))});var Zr=function(l){return new Ic(l)},Pa=ls.extend({options:{position:"bottomleft",maxWidth:100,metric:!0,imperial:!0},onAdd:function(l){var d="leaflet-control-scale",m=me("div",d),b=this.options;return this._addScales(b,d+"-line",m),l.on(b.updateWhenIdle?"moveend":"move",this._update,this),l.whenReady(this._update,this),m},onRemove:function(l){l.off(this.options.updateWhenIdle?"moveend":"move",this._update,this)},_addScales:function(l,d,m){l.metric&&(this._mScale=me("div",d,m)),l.imperial&&(this._iScale=me("div",d,m))},_update:function(){var l=this._map,d=l.getSize().y/2,m=l.distance(l.containerPointToLatLng([0,d]),l.containerPointToLatLng([this.options.maxWidth,d]));this._updateScales(m)},_updateScales:function(l){this.options.metric&&l&&this._updateMetric(l),this.options.imperial&&l&&this._updateImperial(l)},_updateMetric:function(l){var d=this._getRoundNum(l),m=d<1e3?d+" m":d/1e3+" km";this._updateScale(this._mScale,m,d/l)},_updateImperial:function(l){var d=l*3.2808399,m,b,k;d>5280?(m=d/5280,b=this._getRoundNum(m),this._updateScale(this._iScale,b+" mi",b/m)):(k=this._getRoundNum(d),this._updateScale(this._iScale,k+" ft",k/d))},_updateScale:function(l,d,m){l.style.width=Math.round(this.options.maxWidth*m)+"px",l.innerHTML=d},_getRoundNum:function(l){var d=Math.pow(10,(Math.floor(l)+"").length-1),m=l/d;return m=m>=10?10:m>=5?5:m>=3?3:m>=2?2:1,d*m}}),Nw=function(l){return new Pa(l)},V='<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>',re=ls.extend({options:{position:"bottomright",prefix:'<a href="https://leafletjs.com" title="A JavaScript library for interactive maps">'+(Ee.inlineSvg?V+" ":"")+"Leaflet</a>"},initialize:function(l){y(this,l),this._attributions={}},onAdd:function(l){l.attributionControl=this,this._container=me("div","leaflet-control-attribution"),vn(this._container);for(var d in l._layers)l._layers[d].getAttribution&&this.addAttribution(l._layers[d].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 d in this._attributions)this._attributions[d]&&l.push(d);var m=[];this.options.prefix&&m.push(this.options.prefix),l.length&&m.push(l.join(", ")),this._container.innerHTML=m.join(' <span aria-hidden="true">|</span> ')}}});zi.mergeOptions({attributionControl:!0}),zi.addInitHook(function(){this.options.attributionControl&&new re().addTo(this)});var Pe=function(l){return new re(l)};ls.Layers=Ih,ls.Zoom=Ic,ls.Scale=Pa,ls.Attribution=re,$o.layers=Ag,$o.zoom=Zr,$o.scale=Nw,$o.attribution=Pe;var fe=dt.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}});fe.addTo=function(l,d){return l.addHandler(d,this),this};var Dt={Events:Mt},zt=Ee.touch?"touchstart mousedown":"mousedown",Ft=Jt.extend({options:{clickTolerance:3},initialize:function(l,d,m,b){y(this,b),this._element=l,this._dragStartTarget=d||l,this._preventOutline=m},enable:function(){this._enabled||(Je(this._dragStartTarget,zt,this._onDown,this),this._enabled=!0)},disable:function(){this._enabled&&(Ft._dragging===this&&this.finishDrag(!0),ni(this._dragStartTarget,zt,this._onDown,this),this._enabled=!1,this._moved=!1)},_onDown:function(l){if(this._enabled&&(this._moved=!1,!Ot(this._element,"leaflet-zoom-anim"))){if(l.touches&&l.touches.length!==1){Ft._dragging===this&&this.finishDrag();return}if(!(Ft._dragging||l.shiftKey||l.which!==1&&l.button!==1&&!l.touches)&&(Ft._dragging=this,this._preventOutline&&hi(this._element),Me(),ye(),!this._moving)){this.fire("down");var d=l.touches?l.touches[0]:l,m=Ke(this._element);this._startPoint=new ge(d.clientX,d.clientY),this._startPos=lt(this._element),this._parentScale=_t(m);var b=l.type==="mousedown";Je(document,b?"mousemove":"touchmove",this._onMove,this),Je(document,b?"mouseup":"touchend touchcancel",this._onUp,this)}}},_onMove:function(l){if(this._enabled){if(l.touches&&l.touches.length>1){this._moved=!0;return}var d=l.touches&&l.touches.length===1?l.touches[0]:l,m=new ge(d.clientX,d.clientY)._subtract(this._startPoint);!m.x&&!m.y||Math.abs(m.x)+Math.abs(m.y)<this.options.clickTolerance||(m.x/=this._parentScale.x,m.y/=this._parentScale.y,nn(l),this._moved||(this.fire("dragstart"),this._moved=!0,qe(document.body,"leaflet-dragging"),this._lastTarget=l.target||l.srcElement,window.SVGElementInstance&&this._lastTarget instanceof window.SVGElementInstance&&(this._lastTarget=this._lastTarget.correspondingUseElement),qe(this._lastTarget,"leaflet-drag-target")),this._newPos=this._startPos.add(m),this._moving=!0,this._lastEvent=l,this._updatePosition())}},_updatePosition:function(){var l={originalEvent:this._lastEvent};this.fire("predrag",l),de(this._element,this._newPos),this.fire("drag",l)},_onUp:function(){this._enabled&&this.finishDrag()},finishDrag:function(l){z(document.body,"leaflet-dragging"),this._lastTarget&&(z(this._lastTarget,"leaflet-drag-target"),this._lastTarget=null),ni(document,"mousemove touchmove",this._onMove,this),ni(document,"mouseup touchend touchcancel",this._onUp,this),Re(),he();var d=this._moved&&this._moving;this._moving=!1,Ft._dragging=!1,d&&this.fire("dragend",{noInertia:l,distance:this._newPos.distanceTo(this._startPos)})}});function Vi(l,d,m){var b,k=[1,4,2,8],E,$,te,le,Be,Rt,vi,Ki;for(E=0,Rt=l.length;E<Rt;E++)l[E]._code=fo(l[E],d);for(te=0;te<4;te++){for(vi=k[te],b=[],E=0,Rt=l.length,$=Rt-1;E<Rt;$=E++)le=l[E],Be=l[$],le._code&vi?Be._code&vi||(Ki=go(Be,le,vi,d,m),Ki._code=fo(Ki,d),b.push(Ki)):(Be._code&vi&&(Ki=go(Be,le,vi,d,m),Ki._code=fo(Ki,d),b.push(Ki)),b.push(le));l=b}return l}function $i(l,d){var m,b,k,E,$,te,le,Be,Rt;if(!l||l.length===0)throw new Error("latlngs not passed");ss(l)||(console.warn("latlngs are not flat! Only the first ring will be used"),l=l[0]);var vi=kt([0,0]),Ki=Gt(l),eo=Ki.getNorthWest().distanceTo(Ki.getSouthWest())*Ki.getNorthEast().distanceTo(Ki.getNorthWest());eo<1700&&(vi=Ni(l));var ks=l.length,Go=[];for(m=0;m<ks;m++){var po=kt(l[m]);Go.push(d.project(kt([po.lat-vi.lat,po.lng-vi.lng])))}for(te=le=Be=0,m=0,b=ks-1;m<ks;b=m++)k=Go[m],E=Go[b],$=k.y*E.x-E.y*k.x,le+=(k.x+E.x)*$,Be+=(k.y+E.y)*$,te+=$*3;te===0?Rt=Go[0]:Rt=[le/te,Be/te];var Rh=d.unproject(Ae(Rt));return kt([Rh.lat+vi.lat,Rh.lng+vi.lng])}function Ni(l){for(var d=0,m=0,b=0,k=0;k<l.length;k++){var E=kt(l[k]);d+=E.lat,m+=E.lng,b++}return kt([d/b,m/b])}var Ri={__proto__:null,clipPolygon:Vi,polygonCenter:$i,centroid:Ni};function Ti(l,d){if(!d||!l.length)return l.slice();var m=d*d;return l=ns(l,m),l=qo(l,m),l}function En(l,d,m){return Math.sqrt(Qs(l,d,m,!0))}function uo(l,d,m){return Qs(l,d,m)}function qo(l,d){var m=l.length,b=typeof Uint8Array<"u"?Uint8Array:Array,k=new b(m);k[0]=k[m-1]=1,Ko(l,k,d,0,m-1);var E,$=[];for(E=0;E<m;E++)k[E]&&$.push(l[E]);return $}function Ko(l,d,m,b,k){var E=0,$,te,le;for(te=b+1;te<=k-1;te++)le=Qs(l[te],l[b],l[k],!0),le>E&&($=te,E=le);E>m&&(d[$]=1,Ko(l,d,m,b,$),Ko(l,d,m,$,k))}function ns(l,d){for(var m=[l[0]],b=1,k=0,E=l.length;b<E;b++)Ma(l[b],l[k])>d&&(m.push(l[b]),k=b);return k<E-1&&m.push(l[E-1]),m}var yr;function Ta(l,d,m,b,k){var E=b?yr:fo(l,m),$=fo(d,m),te,le,Be;for(yr=$;;){if(!(E|$))return[l,d];if(E&$)return!1;te=E||$,le=go(l,d,te,m,k),Be=fo(le,m),te===E?(l=le,E=Be):(d=le,$=Be)}}function go(l,d,m,b,k){var E=d.x-l.x,$=d.y-l.y,te=b.min,le=b.max,Be,Rt;return m&8?(Be=l.x+E*(le.y-l.y)/$,Rt=le.y):m&4?(Be=l.x+E*(te.y-l.y)/$,Rt=te.y):m&2?(Be=le.x,Rt=l.y+$*(le.x-l.x)/E):m&1&&(Be=te.x,Rt=l.y+$*(te.x-l.x)/E),new ge(Be,Rt,k)}function fo(l,d){var m=0;return l.x<d.min.x?m|=1:l.x>d.max.x&&(m|=2),l.y<d.min.y?m|=4:l.y>d.max.y&&(m|=8),m}function Ma(l,d){var m=d.x-l.x,b=d.y-l.y;return m*m+b*b}function Qs(l,d,m,b){var k=d.x,E=d.y,$=m.x-k,te=m.y-E,le=$*$+te*te,Be;return le>0&&(Be=((l.x-k)*$+(l.y-E)*te)/le,Be>1?(k=m.x,E=m.y):Be>0&&(k+=$*Be,E+=te*Be)),$=l.x-k,te=l.y-E,b?$*$+te*te:new ge(k,E)}function ss(l){return!N(l[0])||typeof l[0][0]!="object"&&typeof l[0][0]<"u"}function Po(l){return console.warn("Deprecated use of _flat, please use L.LineUtil.isFlat instead."),ss(l)}function Dc(l,d){var m,b,k,E,$,te,le,Be;if(!l||l.length===0)throw new Error("latlngs not passed");ss(l)||(console.warn("latlngs are not flat! Only the first ring will be used"),l=l[0]);var Rt=kt([0,0]),vi=Gt(l),Ki=vi.getNorthWest().distanceTo(vi.getSouthWest())*vi.getNorthEast().distanceTo(vi.getNorthWest());Ki<1700&&(Rt=Ni(l));var eo=l.length,ks=[];for(m=0;m<eo;m++){var Go=kt(l[m]);ks.push(d.project(kt([Go.lat-Rt.lat,Go.lng-Rt.lng])))}for(m=0,b=0;m<eo-1;m++)b+=ks[m].distanceTo(ks[m+1])/2;if(b===0)Be=ks[0];else for(m=0,E=0;m<eo-1;m++)if($=ks[m],te=ks[m+1],k=$.distanceTo(te),E+=k,E>b){le=(E-b)/k,Be=[te.x-le*(te.x-$.x),te.y-le*(te.y-$.y)];break}var po=d.unproject(Ae(Be));return kt([po.lat+Rt.lat,po.lng+Rt.lng])}var Dh={__proto__:null,simplify:Ti,pointToSegmentDistance:En,closestPointOnSegment:uo,clipSegment:Ta,_getEdgeIntersection:go,_getBitCode:fo,_sqClosestPointOnSegment:Qs,isFlat:ss,_flat:Po,polylineCenter:Dc},Ec={project:function(l){return new ge(l.lng,l.lat)},unproject:function(l){return new Ct(l.y,l.x)},bounds:new Ze([-180,-90],[180,90])},os={R:6378137,R_MINOR:6356752314245179e-9,bounds:new Ze([-2003750834279e-5,-1549657073972e-5],[2003750834279e-5,1876465623138e-5]),project:function(l){var d=Math.PI/180,m=this.R,b=l.lat*d,k=this.R_MINOR/m,E=Math.sqrt(1-k*k),$=E*Math.sin(b),te=Math.tan(Math.PI/4-b/2)/Math.pow((1-$)/(1+$),E/2);return b=-m*Math.log(Math.max(te,1e-10)),new ge(l.lng*d*m,b)},unproject:function(l){for(var d=180/Math.PI,m=this.R,b=this.R_MINOR/m,k=Math.sqrt(1-b*b),E=Math.exp(-l.y/m),$=Math.PI/2-2*Math.atan(E),te=0,le=.1,Be;te<15&&Math.abs(le)>1e-7;te++)Be=k*Math.sin($),Be=Math.pow((1-Be)/(1+Be),k/2),le=Math.PI/2-2*Math.atan(E*Be)-$,$+=le;return new Ct($*d,l.x*d/m)}},wl={__proto__:null,LonLat:Ec,Mercator:os,SphericalMercator:Qi},Pc=n({},Hi,{code:"EPSG:3395",projection:os,transformation:(function(){var l=.5/(Math.PI*os.R);return xn(l,.5,-l,.5)})()}),Eh=n({},Hi,{code:"EPSG:4326",projection:Ec,transformation:xn(1/180,1,-1/180,.5)}),Rw=n({},yi,{projection:Ec,transformation:xn(1,0,-1,0),scale:function(l){return Math.pow(2,l)},zoom:function(l){return Math.log(l)/Math.LN2},distance:function(l,d){var m=d.lng-l.lng,b=d.lat-l.lat;return Math.sqrt(m*m+b*b)},infinite:!0});yi.Earth=Hi,yi.EPSG3395=Pc,yi.EPSG3857=pn,yi.EPSG900913=Vn,yi.EPSG4326=Eh,yi.Simple=Rw;var To=Jt.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[c(l)]=this,this},removeInteractiveTarget:function(l){return delete this._map._targets[c(l)],this},getAttribution:function(){return this.options.attribution},_layerAdd:function(l){var d=l.target;if(d.hasLayer(this)){if(this._map=d,this._zoomAnimated=d._zoomAnimated,this.getEvents){var m=this.getEvents();d.on(m,this),this.once("remove",function(){d.off(m,this)},this)}this.onAdd(d),this.fire("add"),d.fire("layeradd",{layer:this})}}});zi.include({addLayer:function(l){if(!l._layerAdd)throw new Error("The provided object is not a Layer.");var d=c(l);return this._layers[d]?this:(this._layers[d]=l,l._mapToAdd=this,l.beforeAdd&&l.beforeAdd(this),this.whenReady(l._layerAdd,l),this)},removeLayer:function(l){var d=c(l);return this._layers[d]?(this._loaded&&l.onRemove(this),delete this._layers[d],this._loaded&&(this.fire("layerremove",{layer:l}),l.fire("remove")),l._map=l._mapToAdd=null,this):this},hasLayer:function(l){return c(l)in this._layers},eachLayer:function(l,d){for(var m in this._layers)l.call(d,this._layers[m]);return this},_addLayers:function(l){l=l?N(l)?l:[l]:[];for(var d=0,m=l.length;d<m;d++)this.addLayer(l[d])},_addZoomLimit:function(l){(!isNaN(l.options.maxZoom)||!isNaN(l.options.minZoom))&&(this._zoomBoundLayers[c(l)]=l,this._updateZoomLevels())},_removeZoomLimit:function(l){var d=c(l);this._zoomBoundLayers[d]&&(delete this._zoomBoundLayers[d],this._updateZoomLevels())},_updateZoomLevels:function(){var l=1/0,d=-1/0,m=this._getZoomSpan();for(var b in this._zoomBoundLayers){var k=this._zoomBoundLayers[b].options;l=k.minZoom===void 0?l:Math.min(l,k.minZoom),d=k.maxZoom===void 0?d:Math.max(d,k.maxZoom)}this._layersMaxZoom=d===-1/0?void 0:d,this._layersMinZoom=l===1/0?void 0:l,m!==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 yl=To.extend({initialize:function(l,d){y(this,d),this._layers={};var m,b;if(l)for(m=0,b=l.length;m<b;m++)this.addLayer(l[m])},addLayer:function(l){var d=this.getLayerId(l);return this._layers[d]=l,this._map&&this._map.addLayer(l),this},removeLayer:function(l){var d=l in this._layers?l:this.getLayerId(l);return this._map&&this._layers[d]&&this._map.removeLayer(this._layers[d]),delete this._layers[d],this},hasLayer:function(l){var d=typeof l=="number"?l:this.getLayerId(l);return d in this._layers},clearLayers:function(){return this.eachLayer(this.removeLayer,this)},invoke:function(l){var d=Array.prototype.slice.call(arguments,1),m,b;for(m in this._layers)b=this._layers[m],b[l]&&b[l].apply(b,d);return this},onAdd:function(l){this.eachLayer(l.addLayer,l)},onRemove:function(l){this.eachLayer(l.removeLayer,l)},eachLayer:function(l,d){for(var m in this._layers)l.call(d,this._layers[m]);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 c(l)}}),Rn=function(l,d){return new yl(l,d)},rs=yl.extend({addLayer:function(l){return this.hasLayer(l)?this:(l.addEventParent(this),yl.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),yl.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 di;for(var d in this._layers){var m=this._layers[d];l.extend(m.getBounds?m.getBounds():m.getLatLng())}return l}}),Ph=function(l,d){return new rs(l,d)},Xr=dt.extend({options:{popupAnchor:[0,0],tooltipAnchor:[0,0],crossOrigin:!1},initialize:function(l){y(this,l)},createIcon:function(l){return this._createIcon("icon",l)},createShadow:function(l){return this._createIcon("shadow",l)},_createIcon:function(l,d){var m=this._getIconUrl(l);if(!m){if(l==="icon")throw new Error("iconUrl not set in Icon options (see the docs).");return null}var b=this._createImg(m,d&&d.tagName==="IMG"?d:null);return this._setIconStyles(b,l),(this.options.crossOrigin||this.options.crossOrigin==="")&&(b.crossOrigin=this.options.crossOrigin===!0?"":this.options.crossOrigin),b},_setIconStyles:function(l,d){var m=this.options,b=m[d+"Size"];typeof b=="number"&&(b=[b,b]);var k=Ae(b),E=Ae(d==="shadow"&&m.shadowAnchor||m.iconAnchor||k&&k.divideBy(2,!0));l.className="leaflet-marker-"+d+" "+(m.className||""),E&&(l.style.marginLeft=-E.x+"px",l.style.marginTop=-E.y+"px"),k&&(l.style.width=k.x+"px",l.style.height=k.y+"px")},_createImg:function(l,d){return d=d||document.createElement("img"),d.src=l,d},_getIconUrl:function(l){return Ee.retina&&this.options[l+"RetinaUrl"]||this.options[l+"Url"]}});function TR(l){return new Xr(l)}var Og=Xr.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 Og.imagePath!="string"&&(Og.imagePath=this._detectIconPath()),(this.options.imagePath||Og.imagePath)+Xr.prototype._getIconUrl.call(this,l)},_stripUrl:function(l){var d=function(m,b,k){var E=b.exec(m);return E&&E[k]};return l=d(l,/^url\((['"])?(.+)\1\)$/,2),l&&d(l,/^(.*)marker-icon\.png$/,1)},_detectIconPath:function(){var l=me("div","leaflet-default-icon-path",document.body),d=ue(l,"background-image")||ue(l,"backgroundImage");if(document.body.removeChild(l),d=this._stripUrl(d),d)return d;var m=document.querySelector('link[href$="leaflet.css"]');return m?m.href.substring(0,m.href.length-11-1):""}}),rL=fe.extend({initialize:function(l){this._marker=l},addHooks:function(){var l=this._marker._icon;this._draggable||(this._draggable=new Ft(l,l,!0)),this._draggable.on({dragstart:this._onDragStart,predrag:this._onPreDrag,drag:this._onDrag,dragend:this._onDragEnd},this).enable(),qe(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&&z(this._marker._icon,"leaflet-marker-draggable")},moved:function(){return this._draggable&&this._draggable._moved},_adjustPan:function(l){var d=this._marker,m=d._map,b=this._marker.options.autoPanSpeed,k=this._marker.options.autoPanPadding,E=lt(d._icon),$=m.getPixelBounds(),te=m.getPixelOrigin(),le=pt($.min._subtract(te).add(k),$.max._subtract(te).subtract(k));if(!le.contains(E)){var Be=Ae((Math.max(le.max.x,E.x)-le.max.x)/($.max.x-le.max.x)-(Math.min(le.min.x,E.x)-le.min.x)/($.min.x-le.min.x),(Math.max(le.max.y,E.y)-le.max.y)/($.max.y-le.max.y)-(Math.min(le.min.y,E.y)-le.min.y)/($.min.y-le.min.y)).multiplyBy(b);m.panBy(Be,{animate:!1}),this._draggable._newPos._add(Be),this._draggable._startPos._add(Be),de(d._icon,this._draggable._newPos),this._onDrag(l),this._panRequest=xe(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&&(ct(this._panRequest),this._panRequest=xe(this._adjustPan.bind(this,l)))},_onDrag:function(l){var d=this._marker,m=d._shadow,b=lt(d._icon),k=d._map.layerPointToLatLng(b);m&&de(m,b),d._latlng=k,l.latlng=k,l.oldLatLng=this._oldLatLng,d.fire("move",l).fire("drag",l)},_onDragEnd:function(l){ct(this._panRequest),delete this._oldLatLng,this._marker.fire("moveend").fire("dragend",l)}}),am=To.extend({options:{icon:new Og,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,d){y(this,d),this._latlng=kt(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 d=this._latlng;return this._latlng=kt(l),this.update(),this.fire("move",{oldLatLng:d,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,d="leaflet-zoom-"+(this._zoomAnimated?"animated":"hide"),m=l.icon.createIcon(this._icon),b=!1;m!==this._icon&&(this._icon&&this._removeIcon(),b=!0,l.title&&(m.title=l.title),m.tagName==="IMG"&&(m.alt=l.alt||"")),qe(m,d),l.keyboard&&(m.tabIndex="0",m.setAttribute("role","button")),this._icon=m,l.riseOnHover&&this.on({mouseover:this._bringToFront,mouseout:this._resetZIndex}),this.options.autoPanOnFocus&&Je(m,"focus",this._panOnFocus,this);var k=l.icon.createShadow(this._shadow),E=!1;k!==this._shadow&&(this._removeShadow(),E=!0),k&&(qe(k,d),k.alt=""),this._shadow=k,l.opacity<1&&this._updateOpacity(),b&&this.getPane().appendChild(this._icon),this._initInteraction(),k&&E&&this.getPane(l.shadowPane).appendChild(this._shadow)},_removeIcon:function(){this.options.riseOnHover&&this.off({mouseover:this._bringToFront,mouseout:this._resetZIndex}),this.options.autoPanOnFocus&&ni(this._icon,"focus",this._panOnFocus,this),De(this._icon),this.removeInteractiveTarget(this._icon),this._icon=null},_removeShadow:function(){this._shadow&&De(this._shadow),this._shadow=null},_setPos:function(l){this._icon&&de(this._icon,l),this._shadow&&de(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 d=this._map._latLngToNewLayerPoint(this._latlng,l.zoom,l.center).round();this._setPos(d)},_initInteraction:function(){if(this.options.interactive&&(qe(this._icon,"leaflet-interactive"),this.addInteractiveTarget(this._icon),rL)){var l=this.options.draggable;this.dragging&&(l=this.dragging.enabled(),this.dragging.disable()),this.dragging=new rL(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&&nt(this._icon,l),this._shadow&&nt(this._shadow,l)},_bringToFront:function(){this._updateZIndex(this.options.riseOffset)},_resetZIndex:function(){this._updateZIndex(0)},_panOnFocus:function(){var l=this._map;if(l){var d=this.options.icon.options,m=d.iconSize?Ae(d.iconSize):Ae(0,0),b=d.iconAnchor?Ae(d.iconAnchor):Ae(0,0);l.panInside(this._latlng,{paddingTopLeft:b,paddingBottomRight:m.subtract(b)})}},_getPopupAnchor:function(){return this.options.icon.options.popupAnchor},_getTooltipAnchor:function(){return this.options.icon.options.tooltipAnchor}});function MR(l,d){return new am(l,d)}var Sl=To.extend({options:{stroke:!0,color:"#3388ff",weight:3,opacity:1,lineCap:"round",lineJoin:"round",dashArray:null,dashOffset:null,fill:!1,fillColor:null,fillOpacity:.2,fillRule:"evenodd",interactive:!0,bubblingMouseEvents:!0},beforeAdd:function(l){this._renderer=l.getRenderer(this)},onAdd:function(){this._renderer._initPath(this),this._reset(),this._renderer._addPath(this)},onRemove:function(){this._renderer._removePath(this)},redraw:function(){return this._map&&this._renderer._updatePath(this),this},setStyle:function(l){return y(this,l),this._renderer&&(this._renderer._updateStyle(this),this.options.stroke&&l&&Object.prototype.hasOwnProperty.call(l,"weight")&&this._updateBounds()),this},bringToFront:function(){return this._renderer&&this._renderer._bringToFront(this),this},bringToBack:function(){return this._renderer&&this._renderer._bringToBack(this),this},getElement:function(){return this._path},_reset:function(){this._project(),this._update()},_clickTolerance:function(){return(this.options.stroke?this.options.weight/2:0)+(this._renderer.options.tolerance||0)}}),lm=Sl.extend({options:{fill:!0,radius:10},initialize:function(l,d){y(this,d),this._latlng=kt(l),this._radius=this.options.radius},setLatLng:function(l){var d=this._latlng;return this._latlng=kt(l),this.redraw(),this.fire("move",{oldLatLng:d,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 d=l&&l.radius||this._radius;return Sl.prototype.setStyle.call(this,l),this.setRadius(d),this},_project:function(){this._point=this._map.latLngToLayerPoint(this._latlng),this._updateBounds()},_updateBounds:function(){var l=this._radius,d=this._radiusY||l,m=this._clickTolerance(),b=[l+m,d+m];this._pxBounds=new Ze(this._point.subtract(b),this._point.add(b))},_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 NR(l,d){return new lm(l,d)}var Aw=lm.extend({initialize:function(l,d,m){if(typeof d=="number"&&(d=n({},m,{radius:d})),y(this,d),this._latlng=kt(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 di(this._map.layerPointToLatLng(this._point.subtract(l)),this._map.layerPointToLatLng(this._point.add(l)))},setStyle:Sl.prototype.setStyle,_project:function(){var l=this._latlng.lng,d=this._latlng.lat,m=this._map,b=m.options.crs;if(b.distance===Hi.distance){var k=Math.PI/180,E=this._mRadius/Hi.R/k,$=m.project([d+E,l]),te=m.project([d-E,l]),le=$.add(te).divideBy(2),Be=m.unproject(le).lat,Rt=Math.acos((Math.cos(E*k)-Math.sin(d*k)*Math.sin(Be*k))/(Math.cos(d*k)*Math.cos(Be*k)))/k;(isNaN(Rt)||Rt===0)&&(Rt=E/Math.cos(Math.PI/180*d)),this._point=le.subtract(m.getPixelOrigin()),this._radius=isNaN(Rt)?0:le.x-m.project([Be,l-Rt]).x,this._radiusY=le.y-$.y}else{var vi=b.unproject(b.project(this._latlng).subtract([this._mRadius,0]));this._point=m.latLngToLayerPoint(this._latlng),this._radius=this._point.x-m.latLngToLayerPoint(vi).x}this._updateBounds()}});function RR(l,d,m){return new Aw(l,d,m)}var Na=Sl.extend({options:{smoothFactor:1,noClip:!1},initialize:function(l,d){y(this,d),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 d=1/0,m=null,b=Qs,k,E,$=0,te=this._parts.length;$<te;$++)for(var le=this._parts[$],Be=1,Rt=le.length;Be<Rt;Be++){k=le[Be-1],E=le[Be];var vi=b(l,k,E,!0);vi<d&&(d=vi,m=b(l,k,E))}return m&&(m.distance=Math.sqrt(d)),m},getCenter:function(){if(!this._map)throw new Error("Must add layer to map before using getCenter()");return Dc(this._defaultShape(),this._map.options.crs)},getBounds:function(){return this._bounds},addLatLng:function(l,d){return d=d||this._defaultShape(),l=kt(l),d.push(l),this._bounds.extend(l),this.redraw()},_setLatLngs:function(l){this._bounds=new di,this._latlngs=this._convertLatLngs(l)},_defaultShape:function(){return ss(this._latlngs)?this._latlngs:this._latlngs[0]},_convertLatLngs:function(l){for(var d=[],m=ss(l),b=0,k=l.length;b<k;b++)m?(d[b]=kt(l[b]),this._bounds.extend(d[b])):d[b]=this._convertLatLngs(l[b]);return d},_project:function(){var l=new Ze;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(),d=new ge(l,l);this._rawPxBounds&&(this._pxBounds=new Ze([this._rawPxBounds.min.subtract(d),this._rawPxBounds.max.add(d)]))},_projectLatlngs:function(l,d,m){var b=l[0]instanceof Ct,k=l.length,E,$;if(b){for($=[],E=0;E<k;E++)$[E]=this._map.latLngToLayerPoint(l[E]),m.extend($[E]);d.push($)}else for(E=0;E<k;E++)this._projectLatlngs(l[E],d,m)},_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 d=this._parts,m,b,k,E,$,te,le;for(m=0,k=0,E=this._rings.length;m<E;m++)for(le=this._rings[m],b=0,$=le.length;b<$-1;b++)te=Ta(le[b],le[b+1],l,b,!0),te&&(d[k]=d[k]||[],d[k].push(te[0]),(te[1]!==le[b+1]||b===$-2)&&(d[k].push(te[1]),k++))}},_simplifyPoints:function(){for(var l=this._parts,d=this.options.smoothFactor,m=0,b=l.length;m<b;m++)l[m]=Ti(l[m],d)},_update:function(){this._map&&(this._clipPoints(),this._simplifyPoints(),this._updatePath())},_updatePath:function(){this._renderer._updatePoly(this)},_containsPoint:function(l,d){var m,b,k,E,$,te,le=this._clickTolerance();if(!this._pxBounds||!this._pxBounds.contains(l))return!1;for(m=0,E=this._parts.length;m<E;m++)for(te=this._parts[m],b=0,$=te.length,k=$-1;b<$;k=b++)if(!(!d&&b===0)&&En(l,te[k],te[b])<=le)return!0;return!1}});function AR(l,d){return new Na(l,d)}Na._flat=Po;var Th=Na.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 $i(this._defaultShape(),this._map.options.crs)},_convertLatLngs:function(l){var d=Na.prototype._convertLatLngs.call(this,l),m=d.length;return m>=2&&d[0]instanceof Ct&&d[0].equals(d[m-1])&&d.pop(),d},_setLatLngs:function(l){Na.prototype._setLatLngs.call(this,l),ss(this._latlngs)&&(this._latlngs=[this._latlngs])},_defaultShape:function(){return ss(this._latlngs[0])?this._latlngs[0]:this._latlngs[0][0]},_clipPoints:function(){var l=this._renderer._bounds,d=this.options.weight,m=new ge(d,d);if(l=new Ze(l.min.subtract(m),l.max.add(m)),this._parts=[],!(!this._pxBounds||!this._pxBounds.intersects(l))){if(this.options.noClip){this._parts=this._rings;return}for(var b=0,k=this._rings.length,E;b<k;b++)E=Vi(this._rings[b],l,!0),E.length&&this._parts.push(E)}},_updatePath:function(){this._renderer._updatePoly(this,!0)},_containsPoint:function(l){var d=!1,m,b,k,E,$,te,le,Be;if(!this._pxBounds||!this._pxBounds.contains(l))return!1;for(E=0,le=this._parts.length;E<le;E++)for(m=this._parts[E],$=0,Be=m.length,te=Be-1;$<Be;te=$++)b=m[$],k=m[te],b.y>l.y!=k.y>l.y&&l.x<(k.x-b.x)*(l.y-b.y)/(k.y-b.y)+b.x&&(d=!d);return d||Na.prototype._containsPoint.call(this,l,!0)}});function OR(l,d){return new Th(l,d)}var Ra=rs.extend({initialize:function(l,d){y(this,d),this._layers={},l&&this.addData(l)},addData:function(l){var d=N(l)?l:l.features,m,b,k;if(d){for(m=0,b=d.length;m<b;m++)k=d[m],(k.geometries||k.geometry||k.features||k.coordinates)&&this.addData(k);return this}var E=this.options;if(E.filter&&!E.filter(l))return this;var $=cm(l,E);return $?($.feature=um(l),$.defaultOptions=$.options,this.resetStyle($),E.onEachFeature&&E.onEachFeature(l,$),this.addLayer($)):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(d){this._setLayerStyle(d,l)},this)},_setLayerStyle:function(l,d){l.setStyle&&(typeof d=="function"&&(d=d(l.feature)),l.setStyle(d))}});function cm(l,d){var m=l.type==="Feature"?l.geometry:l,b=m?m.coordinates:null,k=[],E=d&&d.pointToLayer,$=d&&d.coordsToLatLng||Ow,te,le,Be,Rt;if(!b&&!m)return null;switch(m.type){case"Point":return te=$(b),aL(E,l,te,d);case"MultiPoint":for(Be=0,Rt=b.length;Be<Rt;Be++)te=$(b[Be]),k.push(aL(E,l,te,d));return new rs(k);case"LineString":case"MultiLineString":return le=dm(b,m.type==="LineString"?0:1,$),new Na(le,d);case"Polygon":case"MultiPolygon":return le=dm(b,m.type==="Polygon"?1:2,$),new Th(le,d);case"GeometryCollection":for(Be=0,Rt=m.geometries.length;Be<Rt;Be++){var vi=cm({geometry:m.geometries[Be],type:"Feature",properties:l.properties},d);vi&&k.push(vi)}return new rs(k);case"FeatureCollection":for(Be=0,Rt=m.features.length;Be<Rt;Be++){var Ki=cm(m.features[Be],d);Ki&&k.push(Ki)}return new rs(k);default:throw new Error("Invalid GeoJSON object.")}}function aL(l,d,m,b){return l?l(d,m):new am(m,b&&b.markersInheritOptions&&b)}function Ow(l){return new Ct(l[1],l[0],l[2])}function dm(l,d,m){for(var b=[],k=0,E=l.length,$;k<E;k++)$=d?dm(l[k],d-1,m):(m||Ow)(l[k]),b.push($);return b}function Fw(l,d){return l=kt(l),l.alt!==void 0?[p(l.lng,d),p(l.lat,d),p(l.alt,d)]:[p(l.lng,d),p(l.lat,d)]}function hm(l,d,m,b){for(var k=[],E=0,$=l.length;E<$;E++)k.push(d?hm(l[E],ss(l[E])?0:d-1,m,b):Fw(l[E],b));return!d&&m&&k.length>0&&k.push(k[0].slice()),k}function Mh(l,d){return l.feature?n({},l.feature,{geometry:d}):um(d)}function um(l){return l.type==="Feature"||l.type==="FeatureCollection"?l:{type:"Feature",properties:{},geometry:l}}var Hw={toGeoJSON:function(l){return Mh(this,{type:"Point",coordinates:Fw(this.getLatLng(),l)})}};am.include(Hw),Aw.include(Hw),lm.include(Hw),Na.include({toGeoJSON:function(l){var d=!ss(this._latlngs),m=hm(this._latlngs,d?1:0,!1,l);return Mh(this,{type:(d?"Multi":"")+"LineString",coordinates:m})}}),Th.include({toGeoJSON:function(l){var d=!ss(this._latlngs),m=d&&!ss(this._latlngs[0]),b=hm(this._latlngs,m?2:d?1:0,!0,l);return d||(b=[b]),Mh(this,{type:(m?"Multi":"")+"Polygon",coordinates:b})}}),yl.include({toMultiPoint:function(l){var d=[];return this.eachLayer(function(m){d.push(m.toGeoJSON(l).geometry.coordinates)}),Mh(this,{type:"MultiPoint",coordinates:d})},toGeoJSON:function(l){var d=this.feature&&this.feature.geometry&&this.feature.geometry.type;if(d==="MultiPoint")return this.toMultiPoint(l);var m=d==="GeometryCollection",b=[];return this.eachLayer(function(k){if(k.toGeoJSON){var E=k.toGeoJSON(l);if(m)b.push(E.geometry);else{var $=um(E);$.type==="FeatureCollection"?b.push.apply(b,$.features):b.push($)}}}),m?Mh(this,{geometries:b,type:"GeometryCollection"}):{type:"FeatureCollection",features:b}}});function lL(l,d){return new Ra(l,d)}var FR=lL,gm=To.extend({options:{opacity:1,alt:"",interactive:!1,crossOrigin:!1,errorOverlayUrl:"",zIndex:1,className:""},initialize:function(l,d,m){this._url=l,this._bounds=Gt(d),y(this,m)},onAdd:function(){this._image||(this._initImage(),this.options.opacity<1&&this._updateOpacity()),this.options.interactive&&(qe(this._image,"leaflet-interactive"),this.addInteractiveTarget(this._image)),this.getPane().appendChild(this._image),this._reset()},onRemove:function(){De(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&&Ge(this._image),this},bringToBack:function(){return this._map&&je(this._image),this},setUrl:function(l){return this._url=l,this._image&&(this._image.src=l),this},setBounds:function(l){return this._bounds=Gt(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",d=this._image=l?this._url:me("img");if(qe(d,"leaflet-image-layer"),this._zoomAnimated&&qe(d,"leaflet-zoom-animated"),this.options.className&&qe(d,this.options.className),d.onselectstart=f,d.onmousemove=f,d.onload=r(this.fire,this,"load"),d.onerror=r(this._overlayOnError,this,"error"),(this.options.crossOrigin||this.options.crossOrigin==="")&&(d.crossOrigin=this.options.crossOrigin===!0?"":this.options.crossOrigin),this.options.zIndex&&this._updateZIndex(),l){this._url=d.src;return}d.src=this._url,d.alt=this.options.alt},_animateZoom:function(l){var d=this._map.getZoomScale(l.zoom),m=this._map._latLngBoundsToNewLayerBounds(this._bounds,l.zoom,l.center).min;$e(this._image,m,d)},_reset:function(){var l=this._image,d=new Ze(this._map.latLngToLayerPoint(this._bounds.getNorthWest()),this._map.latLngToLayerPoint(this._bounds.getSouthEast())),m=d.getSize();de(l,d.min),l.style.width=m.x+"px",l.style.height=m.y+"px"},_updateOpacity:function(){nt(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()}}),HR=function(l,d,m){return new gm(l,d,m)},cL=gm.extend({options:{autoplay:!0,loop:!0,keepAspectRatio:!0,muted:!1,playsInline:!0},_initImage:function(){var l=this._url.tagName==="VIDEO",d=this._image=l?this._url:me("video");if(qe(d,"leaflet-image-layer"),this._zoomAnimated&&qe(d,"leaflet-zoom-animated"),this.options.className&&qe(d,this.options.className),d.onselectstart=f,d.onmousemove=f,d.onloadeddata=r(this.fire,this,"load"),l){for(var m=d.getElementsByTagName("source"),b=[],k=0;k<m.length;k++)b.push(m[k].src);this._url=m.length>0?b:[d.src];return}N(this._url)||(this._url=[this._url]),!this.options.keepAspectRatio&&Object.prototype.hasOwnProperty.call(d.style,"objectFit")&&(d.style.objectFit="fill"),d.autoplay=!!this.options.autoplay,d.loop=!!this.options.loop,d.muted=!!this.options.muted,d.playsInline=!!this.options.playsInline;for(var E=0;E<this._url.length;E++){var $=me("source");$.src=this._url[E],d.appendChild($)}}});function WR(l,d,m){return new cL(l,d,m)}var dL=gm.extend({_initImage:function(){var l=this._image=this._url;qe(l,"leaflet-image-layer"),this._zoomAnimated&&qe(l,"leaflet-zoom-animated"),this.options.className&&qe(l,this.options.className),l.onselectstart=f,l.onmousemove=f}});function BR(l,d,m){return new dL(l,d,m)}var Yr=To.extend({options:{interactive:!1,offset:[0,0],className:"",pane:void 0,content:""},initialize:function(l,d){l&&(l instanceof Ct||N(l))?(this._latlng=kt(l),y(this,d)):(y(this,l),this._source=d),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&&nt(this._container,0),clearTimeout(this._removeTimeout),this.getPane().appendChild(this._container),this.update(),l._fadeAnimated&&nt(this._container,1),this.bringToFront(),this.options.interactive&&(qe(this._container,"leaflet-interactive"),this.addInteractiveTarget(this._container))},onRemove:function(l){l._fadeAnimated?(nt(this._container,0),this._removeTimeout=setTimeout(r(De,void 0,this._container),200)):De(this._container),this.options.interactive&&(z(this._container,"leaflet-interactive"),this.removeInteractiveTarget(this._container))},getLatLng:function(){return this._latlng},setLatLng:function(l){return this._latlng=kt(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&&Ge(this._container),this},bringToBack:function(){return this._map&&je(this._container),this},_prepareOpen:function(l){var d=this._source;if(!d._map)return!1;if(d instanceof rs){d=null;var m=this._source._layers;for(var b in m)if(m[b]._map){d=m[b];break}if(!d)return!1;this._source=d}if(!l)if(d.getCenter)l=d.getCenter();else if(d.getLatLng)l=d.getLatLng();else if(d.getBounds)l=d.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,d=typeof this._content=="function"?this._content(this._source||this):this._content;if(typeof d=="string")l.innerHTML=d;else{for(;l.hasChildNodes();)l.removeChild(l.firstChild);l.appendChild(d)}this.fire("contentupdate")}},_updatePosition:function(){if(this._map){var l=this._map.latLngToLayerPoint(this._latlng),d=Ae(this.options.offset),m=this._getAnchor();this._zoomAnimated?de(this._container,l.add(m)):d=d.add(l).add(m);var b=this._containerBottom=-d.y,k=this._containerLeft=-Math.round(this._containerWidth/2)+d.x;this._container.style.bottom=b+"px",this._container.style.left=k+"px"}},_getAnchor:function(){return[0,0]}});zi.include({_initOverlay:function(l,d,m,b){var k=d;return k instanceof l||(k=new l(b).setContent(d)),m&&k.setLatLng(m),k}}),To.include({_initOverlay:function(l,d,m,b){var k=m;return k instanceof l?(y(k,b),k._source=this):(k=d&&!b?d:new l(b,this),k.setContent(m)),k}});var fm=Yr.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,Yr.prototype.openOn.call(this,l)},onAdd:function(l){Yr.prototype.onAdd.call(this,l),l.fire("popupopen",{popup:this}),this._source&&(this._source.fire("popupopen",{popup:this},!0),this._source instanceof Sl||this._source.on("preclick",an))},onRemove:function(l){Yr.prototype.onRemove.call(this,l),l.fire("popupclose",{popup:this}),this._source&&(this._source.fire("popupclose",{popup:this},!0),this._source instanceof Sl||this._source.off("preclick",an))},getEvents:function(){var l=Yr.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",d=this._container=me("div",l+" "+(this.options.className||"")+" leaflet-zoom-animated"),m=this._wrapper=me("div",l+"-content-wrapper",d);if(this._contentNode=me("div",l+"-content",m),vn(d),Ui(this._contentNode),Je(d,"contextmenu",an),this._tipContainer=me("div",l+"-tip-container",d),this._tip=me("div",l+"-tip",this._tipContainer),this.options.closeButton){var b=this._closeButton=me("a",l+"-close-button",d);b.setAttribute("role","button"),b.setAttribute("aria-label","Close popup"),b.href="#close",b.innerHTML='<span aria-hidden="true">&#215;</span>',Je(b,"click",function(k){nn(k),this.close()},this)}},_updateLayout:function(){var l=this._contentNode,d=l.style;d.width="",d.whiteSpace="nowrap";var m=l.offsetWidth;m=Math.min(m,this.options.maxWidth),m=Math.max(m,this.options.minWidth),d.width=m+1+"px",d.whiteSpace="",d.height="";var b=l.offsetHeight,k=this.options.maxHeight,E="leaflet-popup-scrolled";k&&b>k?(d.height=k+"px",qe(l,E)):z(l,E),this._containerWidth=this._container.offsetWidth},_animateZoom:function(l){var d=this._map._latLngToNewLayerPoint(this._latlng,l.zoom,l.center),m=this._getAnchor();de(this._container,d.add(m))},_adjustPan:function(){if(this.options.autoPan){if(this._map._panAnim&&this._map._panAnim.stop(),this._autopanning){this._autopanning=!1;return}var l=this._map,d=parseInt(ue(this._container,"marginBottom"),10)||0,m=this._container.offsetHeight+d,b=this._containerWidth,k=new ge(this._containerLeft,-m-this._containerBottom);k._add(lt(this._container));var E=l.layerPointToContainerPoint(k),$=Ae(this.options.autoPanPadding),te=Ae(this.options.autoPanPaddingTopLeft||$),le=Ae(this.options.autoPanPaddingBottomRight||$),Be=l.getSize(),Rt=0,vi=0;E.x+b+le.x>Be.x&&(Rt=E.x+b-Be.x+le.x),E.x-Rt-te.x<0&&(Rt=E.x-te.x),E.y+m+le.y>Be.y&&(vi=E.y+m-Be.y+le.y),E.y-vi-te.y<0&&(vi=E.y-te.y),(Rt||vi)&&(this.options.keepInView&&(this._autopanning=!0),l.fire("autopanstart").panBy([Rt,vi]))}},_getAnchor:function(){return Ae(this._source&&this._source._getPopupAnchor?this._source._getPopupAnchor():[0,0])}}),zR=function(l,d){return new fm(l,d)};zi.mergeOptions({closePopupOnClick:!0}),zi.include({openPopup:function(l,d,m){return this._initOverlay(fm,l,d,m).openOn(this),this},closePopup:function(l){return l=arguments.length?l:this._popup,l&&l.close(),this}}),To.include({bindPopup:function(l,d){return this._popup=this._initOverlay(fm,this._popup,l,d),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 rs||(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)){Ts(l);var d=l.layer||l.target;if(this._popup._source===d&&!(d instanceof Sl)){this._map.hasLayer(this._popup)?this.closePopup():this.openPopup(l.latlng);return}this._popup._source=d,this.openPopup(l.latlng)}},_movePopup:function(l){this._popup.setLatLng(l.latlng)},_onKeyPress:function(l){l.originalEvent.keyCode===13&&this._openPopup(l)}});var pm=Yr.extend({options:{pane:"tooltipPane",offset:[0,0],direction:"auto",permanent:!1,sticky:!1,opacity:.9},onAdd:function(l){Yr.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){Yr.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=Yr.prototype.getEvents.call(this);return this.options.permanent||(l.preclick=this.close),l},_initLayout:function(){var l="leaflet-tooltip",d=l+" "+(this.options.className||"")+" leaflet-zoom-"+(this._zoomAnimated?"animated":"hide");this._contentNode=this._container=me("div",d),this._container.setAttribute("role","tooltip"),this._container.setAttribute("id","leaflet-tooltip-"+c(this))},_updateLayout:function(){},_adjustPan:function(){},_setPosition:function(l){var d,m,b=this._map,k=this._container,E=b.latLngToContainerPoint(b.getCenter()),$=b.layerPointToContainerPoint(l),te=this.options.direction,le=k.offsetWidth,Be=k.offsetHeight,Rt=Ae(this.options.offset),vi=this._getAnchor();te==="top"?(d=le/2,m=Be):te==="bottom"?(d=le/2,m=0):te==="center"?(d=le/2,m=Be/2):te==="right"?(d=0,m=Be/2):te==="left"?(d=le,m=Be/2):$.x<E.x?(te="right",d=0,m=Be/2):(te="left",d=le+(Rt.x+vi.x)*2,m=Be/2),l=l.subtract(Ae(d,m,!0)).add(Rt).add(vi),z(k,"leaflet-tooltip-right"),z(k,"leaflet-tooltip-left"),z(k,"leaflet-tooltip-top"),z(k,"leaflet-tooltip-bottom"),qe(k,"leaflet-tooltip-"+te),de(k,l)},_updatePosition:function(){var l=this._map.latLngToLayerPoint(this._latlng);this._setPosition(l)},setOpacity:function(l){this.options.opacity=l,this._container&&nt(this._container,l)},_animateZoom:function(l){var d=this._map._latLngToNewLayerPoint(this._latlng,l.zoom,l.center);this._setPosition(d)},_getAnchor:function(){return Ae(this._source&&this._source._getTooltipAnchor&&!this.options.sticky?this._source._getTooltipAnchor():[0,0])}}),VR=function(l,d){return new pm(l,d)};zi.include({openTooltip:function(l,d,m){return this._initOverlay(pm,l,d,m).openOn(this),this},closeTooltip:function(l){return l.close(),this}}),To.include({bindTooltip:function(l,d){return this._tooltip&&this.isTooltipOpen()&&this.unbindTooltip(),this._tooltip=this._initOverlay(pm,this._tooltip,l,d),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 d=l?"off":"on",m={remove:this.closeTooltip,move:this._moveTooltip};this._tooltip.options.permanent?m.add=this._openTooltip:(m.mouseover=this._openTooltip,m.mouseout=this.closeTooltip,m.click=this._openTooltip,this._map?this._addFocusListeners():m.add=this._addFocusListeners),this._tooltip.options.sticky&&(m.mousemove=this._moveTooltip),this[d](m),this._tooltipHandlersAdded=!l}},openTooltip:function(l){return this._tooltip&&(this instanceof rs||(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 d=typeof l.getElement=="function"&&l.getElement();d&&(Je(d,"focus",function(){this._tooltip._source=l,this.openTooltip()},this),Je(d,"blur",this.closeTooltip,this))},_setAriaDescribedByOnLayer:function(l){var d=typeof l.getElement=="function"&&l.getElement();d&&d.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 d=this;this._map.once("moveend",function(){d._openOnceFlag=!1,d._openTooltip(l)});return}this._tooltip._source=l.layer||l.target,this.openTooltip(this._tooltip.options.sticky?l.latlng:void 0)}},_moveTooltip:function(l){var d=l.latlng,m,b;this._tooltip.options.sticky&&l.originalEvent&&(m=this._map.mouseEventToContainerPoint(l.originalEvent),b=this._map.containerPointToLayerPoint(m),d=this._map.layerPointToLatLng(b)),this._tooltip.setLatLng(d)}});var hL=Xr.extend({options:{iconSize:[12,12],html:!1,bgPos:null,className:"leaflet-div-icon"},createIcon:function(l){var d=l&&l.tagName==="DIV"?l:document.createElement("div"),m=this.options;if(m.html instanceof Element?(ft(d),d.appendChild(m.html)):d.innerHTML=m.html!==!1?m.html:"",m.bgPos){var b=Ae(m.bgPos);d.style.backgroundPosition=-b.x+"px "+-b.y+"px"}return this._setIconStyles(d,"icon"),d},createShadow:function(){return null}});function jR(l){return new hL(l)}Xr.Default=Og;var Fg=To.extend({options:{tileSize:256,opacity:1,updateWhenIdle:Ee.mobile,updateWhenZooming:!0,updateInterval:200,zIndex:1,bounds:null,minZoom:0,maxZoom:void 0,maxNativeZoom:void 0,minNativeZoom:void 0,noWrap:!1,pane:"tilePane",className:"",keepBuffer:2},initialize:function(l){y(this,l)},onAdd:function(){this._initContainer(),this._levels={},this._tiles={},this._resetView()},beforeAdd:function(l){l._addZoomLimit(this)},onRemove:function(l){this._removeAllTiles(),De(this._container),l._removeZoomLimit(this),this._container=null,this._tileZoom=void 0},bringToFront:function(){return this._map&&(Ge(this._container),this._setAutoZIndex(Math.max)),this},bringToBack:function(){return this._map&&(je(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=h(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 ge?l:new ge(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 d=this.getPane().children,m=-l(-1/0,1/0),b=0,k=d.length,E;b<k;b++)E=d[b].style.zIndex,d[b]!==this._container&&E&&(m=l(m,+E));isFinite(m)&&(this.options.zIndex=m+l(-1,1),this._updateZIndex())},_updateOpacity:function(){if(this._map&&!Ee.ielt9){nt(this._container,this.options.opacity);var l=+new Date,d=!1,m=!1;for(var b in this._tiles){var k=this._tiles[b];if(!(!k.current||!k.loaded)){var E=Math.min(1,(l-k.loaded)/200);nt(k.el,E),E<1?d=!0:(k.active?m=!0:this._onOpaqueTile(k),k.active=!0)}}m&&!this._noPrune&&this._pruneTiles(),d&&(ct(this._fadeFrame),this._fadeFrame=xe(this._updateOpacity,this))}},_onOpaqueTile:f,_initContainer:function(){this._container||(this._container=me("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,d=this.options.maxZoom;if(l!==void 0){for(var m in this._levels)m=Number(m),this._levels[m].el.children.length||m===l?(this._levels[m].el.style.zIndex=d-Math.abs(l-m),this._onUpdateLevel(m)):(De(this._levels[m].el),this._removeTilesAtZoom(m),this._onRemoveLevel(m),delete this._levels[m]);var b=this._levels[l],k=this._map;return b||(b=this._levels[l]={},b.el=me("div","leaflet-tile-container leaflet-zoom-animated",this._container),b.el.style.zIndex=d,b.origin=k.project(k.unproject(k.getPixelOrigin()),l).round(),b.zoom=l,this._setZoomTransform(b,k.getCenter(),k.getZoom()),f(b.el.offsetWidth),this._onCreateLevel(b)),this._level=b,b}},_onUpdateLevel:f,_onRemoveLevel:f,_onCreateLevel:f,_pruneTiles:function(){if(this._map){var l,d,m=this._map.getZoom();if(m>this.options.maxZoom||m<this.options.minZoom){this._removeAllTiles();return}for(l in this._tiles)d=this._tiles[l],d.retain=d.current;for(l in this._tiles)if(d=this._tiles[l],d.current&&!d.active){var b=d.coords;this._retainParent(b.x,b.y,b.z,b.z-5)||this._retainChildren(b.x,b.y,b.z,b.z+2)}for(l in this._tiles)this._tiles[l].retain||this._removeTile(l)}},_removeTilesAtZoom:function(l){for(var d in this._tiles)this._tiles[d].coords.z===l&&this._removeTile(d)},_removeAllTiles:function(){for(var l in this._tiles)this._removeTile(l)},_invalidateAll:function(){for(var l in this._levels)De(this._levels[l].el),this._onRemoveLevel(Number(l)),delete this._levels[l];this._removeAllTiles(),this._tileZoom=void 0},_retainParent:function(l,d,m,b){var k=Math.floor(l/2),E=Math.floor(d/2),$=m-1,te=new ge(+k,+E);te.z=+$;var le=this._tileCoordsToKey(te),Be=this._tiles[le];return Be&&Be.active?(Be.retain=!0,!0):(Be&&Be.loaded&&(Be.retain=!0),$>b?this._retainParent(k,E,$,b):!1)},_retainChildren:function(l,d,m,b){for(var k=2*l;k<2*l+2;k++)for(var E=2*d;E<2*d+2;E++){var $=new ge(k,E);$.z=m+1;var te=this._tileCoordsToKey($),le=this._tiles[te];if(le&&le.active){le.retain=!0;continue}else le&&le.loaded&&(le.retain=!0);m+1<b&&this._retainChildren(k,E,m+1,b)}},_resetView:function(l){var d=l&&(l.pinch||l.flyTo);this._setView(this._map.getCenter(),this._map.getZoom(),d,d)},_animateZoom:function(l){this._setView(l.center,l.zoom,!0,l.noUpdate)},_clampZoom:function(l){var d=this.options;return d.minNativeZoom!==void 0&&l<d.minNativeZoom?d.minNativeZoom:d.maxNativeZoom!==void 0&&d.maxNativeZoom<l?d.maxNativeZoom:l},_setView:function(l,d,m,b){var k=Math.round(d);this.options.maxZoom!==void 0&&k>this.options.maxZoom||this.options.minZoom!==void 0&&k<this.options.minZoom?k=void 0:k=this._clampZoom(k);var E=this.options.updateWhenZooming&&k!==this._tileZoom;(!b||E)&&(this._tileZoom=k,this._abortLoading&&this._abortLoading(),this._updateLevels(),this._resetGrid(),k!==void 0&&this._update(l),m||this._pruneTiles(),this._noPrune=!!m),this._setZoomTransforms(l,d)},_setZoomTransforms:function(l,d){for(var m in this._levels)this._setZoomTransform(this._levels[m],l,d)},_setZoomTransform:function(l,d,m){var b=this._map.getZoomScale(m,l.zoom),k=l.origin.multiplyBy(b).subtract(this._map._getNewPixelOrigin(d,m)).round();Ee.any3d?$e(l.el,k,b):de(l.el,k)},_resetGrid:function(){var l=this._map,d=l.options.crs,m=this._tileSize=this.getTileSize(),b=this._tileZoom,k=this._map.getPixelWorldBounds(this._tileZoom);k&&(this._globalTileRange=this._pxBoundsToTileRange(k)),this._wrapX=d.wrapLng&&!this.options.noWrap&&[Math.floor(l.project([0,d.wrapLng[0]],b).x/m.x),Math.ceil(l.project([0,d.wrapLng[1]],b).x/m.y)],this._wrapY=d.wrapLat&&!this.options.noWrap&&[Math.floor(l.project([d.wrapLat[0],0],b).y/m.x),Math.ceil(l.project([d.wrapLat[1],0],b).y/m.y)]},_onMoveEnd:function(){!this._map||this._map._animatingZoom||this._update()},_getTiledPixelBounds:function(l){var d=this._map,m=d._animatingZoom?Math.max(d._animateToZoom,d.getZoom()):d.getZoom(),b=d.getZoomScale(m,this._tileZoom),k=d.project(l,this._tileZoom).floor(),E=d.getSize().divideBy(b*2);return new Ze(k.subtract(E),k.add(E))},_update:function(l){var d=this._map;if(d){var m=this._clampZoom(d.getZoom());if(l===void 0&&(l=d.getCenter()),this._tileZoom!==void 0){var b=this._getTiledPixelBounds(l),k=this._pxBoundsToTileRange(b),E=k.getCenter(),$=[],te=this.options.keepBuffer,le=new Ze(k.getBottomLeft().subtract([te,-te]),k.getTopRight().add([te,-te]));if(!(isFinite(k.min.x)&&isFinite(k.min.y)&&isFinite(k.max.x)&&isFinite(k.max.y)))throw new Error("Attempted to load an infinite number of tiles");for(var Be in this._tiles){var Rt=this._tiles[Be].coords;(Rt.z!==this._tileZoom||!le.contains(new ge(Rt.x,Rt.y)))&&(this._tiles[Be].current=!1)}if(Math.abs(m-this._tileZoom)>1){this._setView(l,m);return}for(var vi=k.min.y;vi<=k.max.y;vi++)for(var Ki=k.min.x;Ki<=k.max.x;Ki++){var eo=new ge(Ki,vi);if(eo.z=this._tileZoom,!!this._isValidTile(eo)){var ks=this._tiles[this._tileCoordsToKey(eo)];ks?ks.current=!0:$.push(eo)}}if($.sort(function(po,Rh){return po.distanceTo(E)-Rh.distanceTo(E)}),$.length!==0){this._loading||(this._loading=!0,this.fire("loading"));var Go=document.createDocumentFragment();for(Ki=0;Ki<$.length;Ki++)this._addTile($[Ki],Go);this._level.el.appendChild(Go)}}}},_isValidTile:function(l){var d=this._map.options.crs;if(!d.infinite){var m=this._globalTileRange;if(!d.wrapLng&&(l.x<m.min.x||l.x>m.max.x)||!d.wrapLat&&(l.y<m.min.y||l.y>m.max.y))return!1}if(!this.options.bounds)return!0;var b=this._tileCoordsToBounds(l);return Gt(this.options.bounds).overlaps(b)},_keyToBounds:function(l){return this._tileCoordsToBounds(this._keyToTileCoords(l))},_tileCoordsToNwSe:function(l){var d=this._map,m=this.getTileSize(),b=l.scaleBy(m),k=b.add(m),E=d.unproject(b,l.z),$=d.unproject(k,l.z);return[E,$]},_tileCoordsToBounds:function(l){var d=this._tileCoordsToNwSe(l),m=new di(d[0],d[1]);return this.options.noWrap||(m=this._map.wrapLatLngBounds(m)),m},_tileCoordsToKey:function(l){return l.x+":"+l.y+":"+l.z},_keyToTileCoords:function(l){var d=l.split(":"),m=new ge(+d[0],+d[1]);return m.z=+d[2],m},_removeTile:function(l){var d=this._tiles[l];d&&(De(d.el),delete this._tiles[l],this.fire("tileunload",{tile:d.el,coords:this._keyToTileCoords(l)}))},_initTile:function(l){qe(l,"leaflet-tile");var d=this.getTileSize();l.style.width=d.x+"px",l.style.height=d.y+"px",l.onselectstart=f,l.onmousemove=f,Ee.ielt9&&this.options.opacity<1&&nt(l,this.options.opacity)},_addTile:function(l,d){var m=this._getTilePos(l),b=this._tileCoordsToKey(l),k=this.createTile(this._wrapCoords(l),r(this._tileReady,this,l));this._initTile(k),this.createTile.length<2&&xe(r(this._tileReady,this,l,null,k)),de(k,m),this._tiles[b]={el:k,coords:l,current:!0},d.appendChild(k),this.fire("tileloadstart",{tile:k,coords:l})},_tileReady:function(l,d,m){d&&this.fire("tileerror",{error:d,tile:m,coords:l});var b=this._tileCoordsToKey(l);m=this._tiles[b],m&&(m.loaded=+new Date,this._map._fadeAnimated?(nt(m.el,0),ct(this._fadeFrame),this._fadeFrame=xe(this._updateOpacity,this)):(m.active=!0,this._pruneTiles()),d||(qe(m.el,"leaflet-tile-loaded"),this.fire("tileload",{tile:m.el,coords:l})),this._noTilesToLoad()&&(this._loading=!1,this.fire("load"),Ee.ielt9||!this._map._fadeAnimated?xe(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 d=new ge(this._wrapX?g(l.x,this._wrapX):l.x,this._wrapY?g(l.y,this._wrapY):l.y);return d.z=l.z,d},_pxBoundsToTileRange:function(l){var d=this.getTileSize();return new Ze(l.min.unscaleBy(d).floor(),l.max.unscaleBy(d).ceil().subtract([1,1]))},_noTilesToLoad:function(){for(var l in this._tiles)if(!this._tiles[l].loaded)return!1;return!0}});function UR(l){return new Fg(l)}var Nh=Fg.extend({options:{minZoom:0,maxZoom:18,subdomains:"abc",errorTileUrl:"",zoomOffset:0,tms:!1,zoomReverse:!1,detectRetina:!1,crossOrigin:!1,referrerPolicy:!1},initialize:function(l,d){this._url=l,d=y(this,d),d.detectRetina&&Ee.retina&&d.maxZoom>0?(d.tileSize=Math.floor(d.tileSize/2),d.zoomReverse?(d.zoomOffset--,d.minZoom=Math.min(d.maxZoom,d.minZoom+1)):(d.zoomOffset++,d.maxZoom=Math.max(d.minZoom,d.maxZoom-1)),d.minZoom=Math.max(0,d.minZoom)):d.zoomReverse?d.minZoom=Math.min(d.maxZoom,d.minZoom):d.maxZoom=Math.max(d.minZoom,d.maxZoom),typeof d.subdomains=="string"&&(d.subdomains=d.subdomains.split("")),this.on("tileunload",this._onTileRemove)},setUrl:function(l,d){return this._url===l&&d===void 0&&(d=!0),this._url=l,d||this.redraw(),this},createTile:function(l,d){var m=document.createElement("img");return Je(m,"load",r(this._tileOnLoad,this,d,m)),Je(m,"error",r(this._tileOnError,this,d,m)),(this.options.crossOrigin||this.options.crossOrigin==="")&&(m.crossOrigin=this.options.crossOrigin===!0?"":this.options.crossOrigin),typeof this.options.referrerPolicy=="string"&&(m.referrerPolicy=this.options.referrerPolicy),m.alt="",m.src=this.getTileUrl(l),m},getTileUrl:function(l){var d={r:Ee.retina?"@2x":"",s:this._getSubdomain(l),x:l.x,y:l.y,z:this._getZoomForUrl()};if(this._map&&!this._map.options.crs.infinite){var m=this._globalTileRange.max.y-l.y;this.options.tms&&(d.y=m),d["-y"]=m}return P(this._url,n(d,this.options))},_tileOnLoad:function(l,d){Ee.ielt9?setTimeout(r(l,this,null,d),0):l(null,d)},_tileOnError:function(l,d,m){var b=this.options.errorTileUrl;b&&d.getAttribute("src")!==b&&(d.src=b),l(m,d)},_onTileRemove:function(l){l.tile.onload=null},_getZoomForUrl:function(){var l=this._tileZoom,d=this.options.maxZoom,m=this.options.zoomReverse,b=this.options.zoomOffset;return m&&(l=d-l),l+b},_getSubdomain:function(l){var d=Math.abs(l.x+l.y)%this.options.subdomains.length;return this.options.subdomains[d]},_abortLoading:function(){var l,d;for(l in this._tiles)if(this._tiles[l].coords.z!==this._tileZoom&&(d=this._tiles[l].el,d.onload=f,d.onerror=f,!d.complete)){d.src=H;var m=this._tiles[l].coords;De(d),delete this._tiles[l],this.fire("tileabort",{tile:d,coords:m})}},_removeTile:function(l){var d=this._tiles[l];if(d)return d.el.setAttribute("src",H),Fg.prototype._removeTile.call(this,l)},_tileReady:function(l,d,m){if(!(!this._map||m&&m.getAttribute("src")===H))return Fg.prototype._tileReady.call(this,l,d,m)}});function uL(l,d){return new Nh(l,d)}var gL=Nh.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,d){this._url=l;var m=n({},this.defaultWmsParams);for(var b in d)b in this.options||(m[b]=d[b]);d=y(this,d);var k=d.detectRetina&&Ee.retina?2:1,E=this.getTileSize();m.width=E.x*k,m.height=E.y*k,this.wmsParams=m},onAdd:function(l){this._crs=this.options.crs||l.options.crs,this._wmsVersion=parseFloat(this.wmsParams.version);var d=this._wmsVersion>=1.3?"crs":"srs";this.wmsParams[d]=this._crs.code,Nh.prototype.onAdd.call(this,l)},getTileUrl:function(l){var d=this._tileCoordsToNwSe(l),m=this._crs,b=pt(m.project(d[0]),m.project(d[1])),k=b.min,E=b.max,$=(this._wmsVersion>=1.3&&this._crs===Eh?[k.y,k.x,E.y,E.x]:[k.x,k.y,E.x,E.y]).join(","),te=Nh.prototype.getTileUrl.call(this,l);return te+S(this.wmsParams,te,this.options.uppercase)+(this.options.uppercase?"&BBOX=":"&bbox=")+$},setParams:function(l,d){return n(this.wmsParams,l),d||this.redraw(),this}});function $R(l,d){return new gL(l,d)}Nh.WMS=gL,uL.wms=$R;var Aa=To.extend({options:{padding:.1},initialize:function(l){y(this,l),c(this),this._layers=this._layers||{}},onAdd:function(){this._container||(this._initContainer(),qe(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,d){var m=this._map.getZoomScale(d,this._zoom),b=this._map.getSize().multiplyBy(.5+this.options.padding),k=this._map.project(this._center,d),E=b.multiplyBy(-m).add(k).subtract(this._map._getNewPixelOrigin(l,d));Ee.any3d?$e(this._container,E,m):de(this._container,E)},_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,d=this._map.getSize(),m=this._map.containerPointToLayerPoint(d.multiplyBy(-l)).round();this._bounds=new Ze(m,m.add(d.multiplyBy(1+l*2)).round()),this._center=this._map.getCenter(),this._zoom=this._map.getZoom()}}),fL=Aa.extend({options:{tolerance:0},getEvents:function(){var l=Aa.prototype.getEvents.call(this);return l.viewprereset=this._onViewPreReset,l},_onViewPreReset:function(){this._postponeUpdatePaths=!0},onAdd:function(){Aa.prototype.onAdd.call(this),this._draw()},_initContainer:function(){var l=this._container=document.createElement("canvas");Je(l,"mousemove",this._onMouseMove,this),Je(l,"click dblclick mousedown mouseup contextmenu",this._onClick,this),Je(l,"mouseout",this._handleMouseOut,this),l._leaflet_disable_events=!0,this._ctx=l.getContext("2d")},_destroyContainer:function(){ct(this._redrawRequest),delete this._ctx,De(this._container),ni(this._container),delete this._container},_updatePaths:function(){if(!this._postponeUpdatePaths){var l;this._redrawBounds=null;for(var d in this._layers)l=this._layers[d],l._update();this._redraw()}},_update:function(){if(!(this._map._animatingZoom&&this._bounds)){Aa.prototype._update.call(this);var l=this._bounds,d=this._container,m=l.getSize(),b=Ee.retina?2:1;de(d,l.min),d.width=b*m.x,d.height=b*m.y,d.style.width=m.x+"px",d.style.height=m.y+"px",Ee.retina&&this._ctx.scale(2,2),this._ctx.translate(-l.min.x,-l.min.y),this.fire("update")}},_reset:function(){Aa.prototype._reset.call(this),this._postponeUpdatePaths&&(this._postponeUpdatePaths=!1,this._updatePaths())},_initPath:function(l){this._updateDashArray(l),this._layers[c(l)]=l;var d=l._order={layer:l,prev:this._drawLast,next:null};this._drawLast&&(this._drawLast.next=d),this._drawLast=d,this._drawFirst=this._drawFirst||this._drawLast},_addPath:function(l){this._requestRedraw(l)},_removePath:function(l){var d=l._order,m=d.next,b=d.prev;m?m.prev=b:this._drawLast=b,b?b.next=m:this._drawFirst=m,delete l._order,delete this._layers[c(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 d=l.options.dashArray.split(/[, ]+/),m=[],b,k;for(k=0;k<d.length;k++){if(b=Number(d[k]),isNaN(b))return;m.push(b)}l.options._dashArray=m}else l.options._dashArray=l.options.dashArray},_requestRedraw:function(l){this._map&&(this._extendRedrawBounds(l),this._redrawRequest=this._redrawRequest||xe(this._redraw,this))},_extendRedrawBounds:function(l){if(l._pxBounds){var d=(l.options.weight||0)+1;this._redrawBounds=this._redrawBounds||new Ze,this._redrawBounds.extend(l._pxBounds.min.subtract([d,d])),this._redrawBounds.extend(l._pxBounds.max.add([d,d]))}},_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 d=l.getSize();this._ctx.clearRect(l.min.x,l.min.y,d.x,d.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,d=this._redrawBounds;if(this._ctx.save(),d){var m=d.getSize();this._ctx.beginPath(),this._ctx.rect(d.min.x,d.min.y,m.x,m.y),this._ctx.clip()}this._drawing=!0;for(var b=this._drawFirst;b;b=b.next)l=b.layer,(!d||l._pxBounds&&l._pxBounds.intersects(d))&&l._updatePath();this._drawing=!1,this._ctx.restore()},_updatePoly:function(l,d){if(this._drawing){var m,b,k,E,$=l._parts,te=$.length,le=this._ctx;if(te){for(le.beginPath(),m=0;m<te;m++){for(b=0,k=$[m].length;b<k;b++)E=$[m][b],le[b?"lineTo":"moveTo"](E.x,E.y);d&&le.closePath()}this._fillStroke(le,l)}}},_updateCircle:function(l){if(!(!this._drawing||l._empty())){var d=l._point,m=this._ctx,b=Math.max(Math.round(l._radius),1),k=(Math.max(Math.round(l._radiusY),1)||b)/b;k!==1&&(m.save(),m.scale(1,k)),m.beginPath(),m.arc(d.x,d.y/k,b,0,Math.PI*2,!1),k!==1&&m.restore(),this._fillStroke(m,l)}},_fillStroke:function(l,d){var m=d.options;m.fill&&(l.globalAlpha=m.fillOpacity,l.fillStyle=m.fillColor||m.color,l.fill(m.fillRule||"evenodd")),m.stroke&&m.weight!==0&&(l.setLineDash&&l.setLineDash(d.options&&d.options._dashArray||[]),l.globalAlpha=m.opacity,l.lineWidth=m.weight,l.strokeStyle=m.color,l.lineCap=m.lineCap,l.lineJoin=m.lineJoin,l.stroke())},_onClick:function(l){for(var d=this._map.mouseEventToLayerPoint(l),m,b,k=this._drawFirst;k;k=k.next)m=k.layer,m.options.interactive&&m._containsPoint(d)&&(!(l.type==="click"||l.type==="preclick")||!this._map._draggableMoved(m))&&(b=m);this._fireEvent(b?[b]:!1,l)},_onMouseMove:function(l){if(!(!this._map||this._map.dragging.moving()||this._map._animatingZoom)){var d=this._map.mouseEventToLayerPoint(l);this._handleMouseHover(l,d)}},_handleMouseOut:function(l){var d=this._hoveredLayer;d&&(z(this._container,"leaflet-interactive"),this._fireEvent([d],l,"mouseout"),this._hoveredLayer=null,this._mouseHoverThrottled=!1)},_handleMouseHover:function(l,d){if(!this._mouseHoverThrottled){for(var m,b,k=this._drawFirst;k;k=k.next)m=k.layer,m.options.interactive&&m._containsPoint(d)&&(b=m);b!==this._hoveredLayer&&(this._handleMouseOut(l),b&&(qe(this._container,"leaflet-interactive"),this._fireEvent([b],l,"mouseover"),this._hoveredLayer=b)),this._fireEvent(this._hoveredLayer?[this._hoveredLayer]:!1,l),this._mouseHoverThrottled=!0,setTimeout(r(function(){this._mouseHoverThrottled=!1},this),32)}},_fireEvent:function(l,d,m){this._map._fireDOMEvent(d,m||d.type,l)},_bringToFront:function(l){var d=l._order;if(d){var m=d.next,b=d.prev;if(m)m.prev=b;else return;b?b.next=m:m&&(this._drawFirst=m),d.prev=this._drawLast,this._drawLast.next=d,d.next=null,this._drawLast=d,this._requestRedraw(l)}},_bringToBack:function(l){var d=l._order;if(d){var m=d.next,b=d.prev;if(b)b.next=m;else return;m?m.prev=b:b&&(this._drawLast=b),d.prev=null,d.next=this._drawFirst,this._drawFirst.prev=d,this._drawFirst=d,this._requestRedraw(l)}}});function pL(l){return Ee.canvas?new fL(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">')}})(),qR={_initContainer:function(){this._container=me("div","leaflet-vml-container")},_update:function(){this._map._animatingZoom||(Aa.prototype._update.call(this),this.fire("update"))},_initPath:function(l){var d=l._container=Hg("shape");qe(d,"leaflet-vml-shape "+(this.options.className||"")),d.coordsize="1 1",l._path=Hg("path"),d.appendChild(l._path),this._updateStyle(l),this._layers[c(l)]=l},_addPath:function(l){var d=l._container;this._container.appendChild(d),l.options.interactive&&l.addInteractiveTarget(d)},_removePath:function(l){var d=l._container;De(d),l.removeInteractiveTarget(d),delete this._layers[c(l)]},_updateStyle:function(l){var d=l._stroke,m=l._fill,b=l.options,k=l._container;k.stroked=!!b.stroke,k.filled=!!b.fill,b.stroke?(d||(d=l._stroke=Hg("stroke")),k.appendChild(d),d.weight=b.weight+"px",d.color=b.color,d.opacity=b.opacity,b.dashArray?d.dashStyle=N(b.dashArray)?b.dashArray.join(" "):b.dashArray.replace(/( *, *)/g," "):d.dashStyle="",d.endcap=b.lineCap.replace("butt","flat"),d.joinstyle=b.lineJoin):d&&(k.removeChild(d),l._stroke=null),b.fill?(m||(m=l._fill=Hg("fill")),k.appendChild(m),m.color=b.fillColor||b.color,m.opacity=b.fillOpacity):m&&(k.removeChild(m),l._fill=null)},_updateCircle:function(l){var d=l._point.round(),m=Math.round(l._radius),b=Math.round(l._radiusY||m);this._setPath(l,l._empty()?"M0 0":"AL "+d.x+","+d.y+" "+m+","+b+" 0,"+65535*360)},_setPath:function(l,d){l._path.v=d},_bringToFront:function(l){Ge(l._container)},_bringToBack:function(l){je(l._container)}},mm=Ee.vml?Hg:Ln,Wg=Aa.extend({_initContainer:function(){this._container=mm("svg"),this._container.setAttribute("pointer-events","none"),this._rootGroup=mm("g"),this._container.appendChild(this._rootGroup)},_destroyContainer:function(){De(this._container),ni(this._container),delete this._container,delete this._rootGroup,delete this._svgSize},_update:function(){if(!(this._map._animatingZoom&&this._bounds)){Aa.prototype._update.call(this);var l=this._bounds,d=l.getSize(),m=this._container;(!this._svgSize||!this._svgSize.equals(d))&&(this._svgSize=d,m.setAttribute("width",d.x),m.setAttribute("height",d.y)),de(m,l.min),m.setAttribute("viewBox",[l.min.x,l.min.y,d.x,d.y].join(" ")),this.fire("update")}},_initPath:function(l){var d=l._path=mm("path");l.options.className&&qe(d,l.options.className),l.options.interactive&&qe(d,"leaflet-interactive"),this._updateStyle(l),this._layers[c(l)]=l},_addPath:function(l){this._rootGroup||this._initContainer(),this._rootGroup.appendChild(l._path),l.addInteractiveTarget(l._path)},_removePath:function(l){De(l._path),l.removeInteractiveTarget(l._path),delete this._layers[c(l)]},_updatePath:function(l){l._project(),l._update()},_updateStyle:function(l){var d=l._path,m=l.options;d&&(m.stroke?(d.setAttribute("stroke",m.color),d.setAttribute("stroke-opacity",m.opacity),d.setAttribute("stroke-width",m.weight),d.setAttribute("stroke-linecap",m.lineCap),d.setAttribute("stroke-linejoin",m.lineJoin),m.dashArray?d.setAttribute("stroke-dasharray",m.dashArray):d.removeAttribute("stroke-dasharray"),m.dashOffset?d.setAttribute("stroke-dashoffset",m.dashOffset):d.removeAttribute("stroke-dashoffset")):d.setAttribute("stroke","none"),m.fill?(d.setAttribute("fill",m.fillColor||m.color),d.setAttribute("fill-opacity",m.fillOpacity),d.setAttribute("fill-rule",m.fillRule||"evenodd")):d.setAttribute("fill","none"))},_updatePoly:function(l,d){this._setPath(l,mn(l._parts,d))},_updateCircle:function(l){var d=l._point,m=Math.max(Math.round(l._radius),1),b=Math.max(Math.round(l._radiusY),1)||m,k="a"+m+","+b+" 0 1,0 ",E=l._empty()?"M0 0":"M"+(d.x-m)+","+d.y+k+m*2+",0 "+k+-m*2+",0 ";this._setPath(l,E)},_setPath:function(l,d){l._path.setAttribute("d",d)},_bringToFront:function(l){Ge(l._path)},_bringToBack:function(l){je(l._path)}});Ee.vml&&Wg.include(qR);function mL(l){return Ee.svg||Ee.vml?new Wg(l):null}zi.include({getRenderer:function(l){var d=l.options.renderer||this._getPaneRenderer(l.options.pane)||this.options.renderer||this._renderer;return d||(d=this._renderer=this._createRenderer()),this.hasLayer(d)||this.addLayer(d),d},_getPaneRenderer:function(l){if(l==="overlayPane"||l===void 0)return!1;var d=this._paneRenderers[l];return d===void 0&&(d=this._createRenderer({pane:l}),this._paneRenderers[l]=d),d},_createRenderer:function(l){return this.options.preferCanvas&&pL(l)||mL(l)}});var _L=Th.extend({initialize:function(l,d){Th.prototype.initialize.call(this,this._boundsToLatLngs(l),d)},setBounds:function(l){return this.setLatLngs(this._boundsToLatLngs(l))},_boundsToLatLngs:function(l){return l=Gt(l),[l.getSouthWest(),l.getNorthWest(),l.getNorthEast(),l.getSouthEast()]}});function KR(l,d){return new _L(l,d)}Wg.create=mm,Wg.pointsToPath=mn,Ra.geometryToLayer=cm,Ra.coordsToLatLng=Ow,Ra.coordsToLatLngs=dm,Ra.latLngToCoords=Fw,Ra.latLngsToCoords=hm,Ra.getFeature=Mh,Ra.asFeature=um,zi.mergeOptions({boxZoom:!0});var vL=fe.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(){Je(this._container,"mousedown",this._onMouseDown,this)},removeHooks:function(){ni(this._container,"mousedown",this._onMouseDown,this)},moved:function(){return this._moved},_destroy:function(){De(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(),ye(),Me(),this._startPoint=this._map.mouseEventToContainerPoint(l),Je(document,{contextmenu:Ts,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseMove:function(l){this._moved||(this._moved=!0,this._box=me("div","leaflet-zoom-box",this._container),qe(this._container,"leaflet-crosshair"),this._map.fire("boxzoomstart")),this._point=this._map.mouseEventToContainerPoint(l);var d=new Ze(this._point,this._startPoint),m=d.getSize();de(this._box,d.min),this._box.style.width=m.x+"px",this._box.style.height=m.y+"px"},_finish:function(){this._moved&&(De(this._box),z(this._container,"leaflet-crosshair")),he(),Re(),ni(document,{contextmenu:Ts,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 d=new di(this._map.containerPointToLatLng(this._startPoint),this._map.containerPointToLatLng(this._point));this._map.fitBounds(d).fire("boxzoomend",{boxZoomBounds:d})}},_onKeyDown:function(l){l.keyCode===27&&(this._finish(),this._clearDeferredResetState(),this._resetState())}});zi.addInitHook("addHandler","boxZoom",vL),zi.mergeOptions({doubleClickZoom:!0});var bL=fe.extend({addHooks:function(){this._map.on("dblclick",this._onDoubleClick,this)},removeHooks:function(){this._map.off("dblclick",this._onDoubleClick,this)},_onDoubleClick:function(l){var d=this._map,m=d.getZoom(),b=d.options.zoomDelta,k=l.originalEvent.shiftKey?m-b:m+b;d.options.doubleClickZoom==="center"?d.setZoom(k):d.setZoomAround(l.containerPoint,k)}});zi.addInitHook("addHandler","doubleClickZoom",bL),zi.mergeOptions({dragging:!0,inertia:!0,inertiaDeceleration:3400,inertiaMaxSpeed:1/0,easeLinearity:.2,worldCopyJump:!1,maxBoundsViscosity:0});var wL=fe.extend({addHooks:function(){if(!this._draggable){var l=this._map;this._draggable=new Ft(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))}qe(this._map._container,"leaflet-grab leaflet-touch-drag"),this._draggable.enable(),this._positions=[],this._times=[]},removeHooks:function(){z(this._map._container,"leaflet-grab"),z(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 d=Gt(this._map.options.maxBounds);this._offsetLimit=pt(this._map.latLngToContainerPoint(d.getNorthWest()).multiplyBy(-1),this._map.latLngToContainerPoint(d.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 d=this._lastTime=+new Date,m=this._lastPos=this._draggable._absPos||this._draggable._newPos;this._positions.push(m),this._times.push(d),this._prunePositions(d)}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),d=this._map.latLngToLayerPoint([0,0]);this._initialWorldOffset=d.subtract(l).x,this._worldWidth=this._map.getPixelWorldBounds().getSize().x},_viscousLimit:function(l,d){return l-(l-d)*this._viscosity},_onPreDragLimit:function(){if(!(!this._viscosity||!this._offsetLimit)){var l=this._draggable._newPos.subtract(this._draggable._startPos),d=this._offsetLimit;l.x<d.min.x&&(l.x=this._viscousLimit(l.x,d.min.x)),l.y<d.min.y&&(l.y=this._viscousLimit(l.y,d.min.y)),l.x>d.max.x&&(l.x=this._viscousLimit(l.x,d.max.x)),l.y>d.max.y&&(l.y=this._viscousLimit(l.y,d.max.y)),this._draggable._newPos=this._draggable._startPos.add(l)}},_onPreDragWrap:function(){var l=this._worldWidth,d=Math.round(l/2),m=this._initialWorldOffset,b=this._draggable._newPos.x,k=(b-d+m)%l+d-m,E=(b+d+m)%l-d-m,$=Math.abs(k+m)<Math.abs(E+m)?k:E;this._draggable._absPos=this._draggable._newPos.clone(),this._draggable._newPos.x=$},_onDragEnd:function(l){var d=this._map,m=d.options,b=!m.inertia||l.noInertia||this._times.length<2;if(d.fire("dragend",l),b)d.fire("moveend");else{this._prunePositions(+new Date);var k=this._lastPos.subtract(this._positions[0]),E=(this._lastTime-this._times[0])/1e3,$=m.easeLinearity,te=k.multiplyBy($/E),le=te.distanceTo([0,0]),Be=Math.min(m.inertiaMaxSpeed,le),Rt=te.multiplyBy(Be/le),vi=Be/(m.inertiaDeceleration*$),Ki=Rt.multiplyBy(-vi/2).round();!Ki.x&&!Ki.y?d.fire("moveend"):(Ki=d._limitOffset(Ki,d.options.maxBounds),xe(function(){d.panBy(Ki,{duration:vi,easeLinearity:$,noMoveStart:!0,animate:!0})}))}}});zi.addInitHook("addHandler","dragging",wL),zi.mergeOptions({keyboard:!0,keyboardPanDelta:80});var yL=fe.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"),Je(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(),ni(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,d=document.documentElement,m=l.scrollTop||d.scrollTop,b=l.scrollLeft||d.scrollLeft;this._map._container.focus(),window.scrollTo(b,m)}},_onFocus:function(){this._focused=!0,this._map.fire("focus")},_onBlur:function(){this._focused=!1,this._map.fire("blur")},_setPanDelta:function(l){var d=this._panKeys={},m=this.keyCodes,b,k;for(b=0,k=m.left.length;b<k;b++)d[m.left[b]]=[-1*l,0];for(b=0,k=m.right.length;b<k;b++)d[m.right[b]]=[l,0];for(b=0,k=m.down.length;b<k;b++)d[m.down[b]]=[0,l];for(b=0,k=m.up.length;b<k;b++)d[m.up[b]]=[0,-1*l]},_setZoomDelta:function(l){var d=this._zoomKeys={},m=this.keyCodes,b,k;for(b=0,k=m.zoomIn.length;b<k;b++)d[m.zoomIn[b]]=l;for(b=0,k=m.zoomOut.length;b<k;b++)d[m.zoomOut[b]]=-l},_addHooks:function(){Je(document,"keydown",this._onKeyDown,this)},_removeHooks:function(){ni(document,"keydown",this._onKeyDown,this)},_onKeyDown:function(l){if(!(l.altKey||l.ctrlKey||l.metaKey)){var d=l.keyCode,m=this._map,b;if(d in this._panKeys){if(!m._panAnim||!m._panAnim._inProgress)if(b=this._panKeys[d],l.shiftKey&&(b=Ae(b).multiplyBy(3)),m.options.maxBounds&&(b=m._limitOffset(Ae(b),m.options.maxBounds)),m.options.worldCopyJump){var k=m.wrapLatLng(m.unproject(m.project(m.getCenter()).add(b)));m.panTo(k)}else m.panBy(b)}else if(d in this._zoomKeys)m.setZoom(m.getZoom()+(l.shiftKey?3:1)*this._zoomKeys[d]);else if(d===27&&m._popup&&m._popup.options.closeOnEscapeKey)m.closePopup();else return;Ts(l)}}});zi.addInitHook("addHandler","keyboard",yL),zi.mergeOptions({scrollWheelZoom:!0,wheelDebounceTime:40,wheelPxPerZoomLevel:60});var SL=fe.extend({addHooks:function(){Je(this._map._container,"wheel",this._onWheelScroll,this),this._delta=0},removeHooks:function(){ni(this._map._container,"wheel",this._onWheelScroll,this)},_onWheelScroll:function(l){var d=Gr(l),m=this._map.options.wheelDebounceTime;this._delta+=d,this._lastMousePos=this._map.mouseEventToContainerPoint(l),this._startTime||(this._startTime=+new Date);var b=Math.max(m-(+new Date-this._startTime),0);clearTimeout(this._timer),this._timer=setTimeout(r(this._performZoom,this),b),Ts(l)},_performZoom:function(){var l=this._map,d=l.getZoom(),m=this._map.options.zoomSnap||0;l._stop();var b=this._delta/(this._map.options.wheelPxPerZoomLevel*4),k=4*Math.log(2/(1+Math.exp(-Math.abs(b))))/Math.LN2,E=m?Math.ceil(k/m)*m:k,$=l._limitZoom(d+(this._delta>0?E:-E))-d;this._delta=0,this._startTime=null,$&&(l.options.scrollWheelZoom==="center"?l.setZoom(d+$):l.setZoomAround(this._lastMousePos,d+$))}});zi.addInitHook("addHandler","scrollWheelZoom",SL);var GR=600;zi.mergeOptions({tapHold:Ee.touchNative&&Ee.safari&&Ee.mobile,tapTolerance:15});var CL=fe.extend({addHooks:function(){Je(this._map._container,"touchstart",this._onDown,this)},removeHooks:function(){ni(this._map._container,"touchstart",this._onDown,this)},_onDown:function(l){if(clearTimeout(this._holdTimeout),l.touches.length===1){var d=l.touches[0];this._startPos=this._newPos=new ge(d.clientX,d.clientY),this._holdTimeout=setTimeout(r(function(){this._cancel(),this._isTapValid()&&(Je(document,"touchend",nn),Je(document,"touchend touchcancel",this._cancelClickPrevent),this._simulateEvent("contextmenu",d))},this),GR),Je(document,"touchend touchcancel contextmenu",this._cancel,this),Je(document,"touchmove",this._onMove,this)}},_cancelClickPrevent:function l(){ni(document,"touchend",nn),ni(document,"touchend touchcancel",l)},_cancel:function(){clearTimeout(this._holdTimeout),ni(document,"touchend touchcancel contextmenu",this._cancel,this),ni(document,"touchmove",this._onMove,this)},_onMove:function(l){var d=l.touches[0];this._newPos=new ge(d.clientX,d.clientY)},_isTapValid:function(){return this._newPos.distanceTo(this._startPos)<=this._map.options.tapTolerance},_simulateEvent:function(l,d){var m=new MouseEvent(l,{bubbles:!0,cancelable:!0,view:window,screenX:d.screenX,screenY:d.screenY,clientX:d.clientX,clientY:d.clientY});m._simulated=!0,d.target.dispatchEvent(m)}});zi.addInitHook("addHandler","tapHold",CL),zi.mergeOptions({touchZoom:Ee.touch,bounceAtZoomLimits:!0});var xL=fe.extend({addHooks:function(){qe(this._map._container,"leaflet-touch-zoom"),Je(this._map._container,"touchstart",this._onTouchStart,this)},removeHooks:function(){z(this._map._container,"leaflet-touch-zoom"),ni(this._map._container,"touchstart",this._onTouchStart,this)},_onTouchStart:function(l){var d=this._map;if(!(!l.touches||l.touches.length!==2||d._animatingZoom||this._zooming)){var m=d.mouseEventToContainerPoint(l.touches[0]),b=d.mouseEventToContainerPoint(l.touches[1]);this._centerPoint=d.getSize()._divideBy(2),this._startLatLng=d.containerPointToLatLng(this._centerPoint),d.options.touchZoom!=="center"&&(this._pinchStartLatLng=d.containerPointToLatLng(m.add(b)._divideBy(2))),this._startDist=m.distanceTo(b),this._startZoom=d.getZoom(),this._moved=!1,this._zooming=!0,d._stop(),Je(document,"touchmove",this._onTouchMove,this),Je(document,"touchend touchcancel",this._onTouchEnd,this),nn(l)}},_onTouchMove:function(l){if(!(!l.touches||l.touches.length!==2||!this._zooming)){var d=this._map,m=d.mouseEventToContainerPoint(l.touches[0]),b=d.mouseEventToContainerPoint(l.touches[1]),k=m.distanceTo(b)/this._startDist;if(this._zoom=d.getScaleZoom(k,this._startZoom),!d.options.bounceAtZoomLimits&&(this._zoom<d.getMinZoom()&&k<1||this._zoom>d.getMaxZoom()&&k>1)&&(this._zoom=d._limitZoom(this._zoom)),d.options.touchZoom==="center"){if(this._center=this._startLatLng,k===1)return}else{var E=m._add(b)._divideBy(2)._subtract(this._centerPoint);if(k===1&&E.x===0&&E.y===0)return;this._center=d.unproject(d.project(this._pinchStartLatLng,this._zoom).subtract(E),this._zoom)}this._moved||(d._moveStart(!0,!1),this._moved=!0),ct(this._animRequest);var $=r(d._move,d,this._center,this._zoom,{pinch:!0,round:!1},void 0);this._animRequest=xe($,this,!0),nn(l)}},_onTouchEnd:function(){if(!this._moved||!this._zooming){this._zooming=!1;return}this._zooming=!1,ct(this._animRequest),ni(document,"touchmove",this._onTouchMove,this),ni(document,"touchend touchcancel",this._onTouchEnd,this),this._map.options.zoomAnimation?this._map._animateZoom(this._center,this._map._limitZoom(this._zoom),!0,this._map.options.zoomSnap):this._map._resetView(this._center,this._map._limitZoom(this._zoom))}});zi.addInitHook("addHandler","touchZoom",xL),zi.BoxZoom=vL,zi.DoubleClickZoom=bL,zi.Drag=wL,zi.Keyboard=yL,zi.ScrollWheelZoom=SL,zi.TapHold=CL,zi.TouchZoom=xL,t.Bounds=Ze,t.Browser=Ee,t.CRS=yi,t.Canvas=fL,t.Circle=Aw,t.CircleMarker=lm,t.Class=dt,t.Control=ls,t.DivIcon=hL,t.DivOverlay=Yr,t.DomEvent=wr,t.DomUtil=Et,t.Draggable=Ft,t.Evented=Jt,t.FeatureGroup=rs,t.GeoJSON=Ra,t.GridLayer=Fg,t.Handler=fe,t.Icon=Xr,t.ImageOverlay=gm,t.LatLng=Ct,t.LatLngBounds=di,t.Layer=To,t.LayerGroup=yl,t.LineUtil=Dh,t.Map=zi,t.Marker=am,t.Mixin=Dt,t.Path=Sl,t.Point=ge,t.PolyUtil=Ri,t.Polygon=Th,t.Polyline=Na,t.Popup=fm,t.PosAnimation=kc,t.Projection=wl,t.Rectangle=_L,t.Renderer=Aa,t.SVG=Wg,t.SVGOverlay=dL,t.TileLayer=Nh,t.Tooltip=pm,t.Transformation=Mi,t.Util=Pt,t.VideoOverlay=cL,t.bind=r,t.bounds=pt,t.canvas=pL,t.circle=RR,t.circleMarker=NR,t.control=$o,t.divIcon=jR,t.extend=n,t.featureGroup=Ph,t.geoJSON=lL,t.geoJson=FR,t.gridLayer=UR,t.icon=TR,t.imageOverlay=HR,t.latLng=kt,t.latLngBounds=Gt,t.layerGroup=Rn,t.map=Js,t.marker=MR,t.point=Ae,t.polygon=OR,t.polyline=AR,t.popup=zR,t.rectangle=KR,t.setOptions=y,t.stamp=c,t.svg=mL,t.svgOverlay=BR,t.tileLayer=uL,t.tooltip=VR,t.transformation=xn,t.version=i,t.videoOverlay=WR;var ZR=window.L;t.noConflict=function(){return window.L=ZR,this},window.L=t}))})(ff,ff.exports)),ff.exports}var cG=lG();const Xg=uR(cG),dG="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=",hG="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==",uG="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACkAAAApCAQAAAACach9AAACMUlEQVR4Ae3ShY7jQBAE0Aoz/f9/HTMzhg1zrdKUrJbdx+Kd2nD8VNudfsL/Th///dyQN2TH6f3y/BGpC379rV+S+qqetBOxImNQXL8JCAr2V4iMQXHGNJxeCfZXhSRBcQMfvkOWUdtfzlLgAENmZDcmo2TVmt8OSM2eXxBp3DjHSMFutqS7SbmemzBiR+xpKCNUIRkdkkYxhAkyGoBvyQFEJEefwSmmvBfJuJ6aKqKWnAkvGZOaZXTUgFqYULWNSHUckZuR1HIIimUExutRxwzOLROIG4vKmCKQt364mIlhSyzAf1m9lHZHJZrlAOMMztRRiKimp/rpdJDc9Awry5xTZCte7FHtuS8wJgeYGrex28xNTd086Dik7vUMscQOa8y4DoGtCCSkAKlNwpgNtphjrC6MIHUkR6YWxxs6Sc5xqn222mmCRFzIt8lEdKx+ikCtg91qS2WpwVfBelJCiQJwvzixfI9cxZQWgiSJelKnwBElKYtDOb2MFbhmUigbReQBV0Cg4+qMXSxXSyGUn4UbF8l+7qdSGnTC0XLCmahIgUHLhLOhpVCtw4CzYXvLQWQbJNmxoCsOKAxSgBJno75avolkRw8iIAFcsdc02e9iyCd8tHwmeSSoKTowIgvscSGZUOA7PuCN5b2BX9mQM7S0wYhMNU74zgsPBj3HU7wguAfnxxjFQGBE6pwN+GjME9zHY7zGp8wVxMShYX9NXvEWD3HbwJf4giO4CFIQxXScH1/TM+04kkBiAAAAAElFTkSuQmCC",zn=(o,e=nw)=>{var t=gG(),i=x(C(t),2),n=C(i);Z(()=>K(n,e())),T(o,t)};var gG=R('<span class="tip svelte-767znw"><span class="tip-icon svelte-767znw">ℹ</span> <span class="tip-box svelte-767znw"> </span></span>'),fG=R("<button> </button>"),pG=R('<span class="err svelte-767znw"> </span>'),mG=R('<span class="ok svelte-767znw"> </span>'),_G=R('<div class="loading svelte-767znw">Loading…</div>'),vG=R('<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>'),bG=R('<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),wG=R('<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">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>'),yG=R('<div class="field svelte-767znw"><label class="svelte-767znw"> <!></label> <input type="password" placeholder="Enter new password" autocomplete="new-password" class="svelte-767znw"/></div>'),SG=R('<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),CG=R('<div class="field-error svelte-767znw"> </div>'),xG=R('<div class="field-ok svelte-767znw"> </div>'),LG=R('<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>'),kG=R('<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>'),IG=R('<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>'),DG=R('<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>'),EG=R('<section id="sec-solar" class="svelte-767znw"><h3 class="svelte-767znw">Solar events</h3> <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>'),PG=R('<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>'),TG=R('<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>'),MG=R('<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>'),NG=R('<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>'),RG=R("<option> </option>"),AG=R('<span class="free-badge svelte-767znw">FREE</span> ',1),OG=R('&nbsp;— <a target="_blank" rel="noreferrer" class="svelte-767znw">Get API key ↗</a>',1),FG=R("<div><!> <!></div>"),HG=R('<div class="field svelte-767znw"><label class="svelte-767znw">Base URL <!></label> <input type="text" class="svelte-767znw"/></div>'),WG=R('<div class="field svelte-767znw"><label class="svelte-767znw">API key <!></label> <input type="password" placeholder="sk-…" autocomplete="off" class="svelte-767znw"/></div>'),BG=R('<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>'),zG=R('<div class="config-form svelte-767znw"><!> <!> <!> <!> <!> <!> <!> <!> <!> <!></div>'),VG=R('<!> <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 jG(o,e){Do(e,!0),delete Xg.Icon.Default.prototype._getIconUrl,Xg.Icon.Default.mergeOptions({iconUrl:dG,iconRetinaUrl:hG,shadowUrl:uG});let t=U(bi(oG())),i=U("~/.she"),n=U("mqtt"),s=U(""),r=U(""),a=U(""),c=U(""),h=U(""),g=U(""),f=U("logic"),p=U("var"),v=U(!1),_=U(8080),y=U(""),S=U("none"),D=U(""),P=U("X-Remote-User"),N=U(""),j=U(!1),H=U(""),ee=U(""),X=U(""),pe=U(!1),be=U(48.7408),Te=U(9.1778),xe=U(!1),ct=U(void 0),Pt=U(!1),dt=U(null),ai=U("info"),Mt=U(""),Jt=U(""),ge=U(!1),rt=U(!1),Ae=U("");const Ze=[{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=U("ollama"),di=U("ollama"),Gt=U(""),Ct=U(""),kt=U("");const yi={};let Hi="ollama";function Cn(O,Q){return O==="anthropic"?"anthropic":O==="ollama"?"ollama":Q?Q.includes("localhost:1234")?"lmstudio":Q.includes("groq.com")?"groq":Q.includes("googleapis.com")?"gemini":"openai":"openai"}function Qi(){yi[Hi]={baseUrl:u(Gt),model:u(Ct),apiKey:u(kt)};const O=Ze.find(Ce=>Ce.id===u(pt));if(!O)return;I(di,O.provider,!0);const Q=yi[u(pt)];I(Gt,(Q==null?void 0:Q.baseUrl)??O.baseUrl,!0),I(Ct,(Q==null?void 0:Q.model)??O.defaultModel,!0),I(kt,(Q==null?void 0:Q.apiKey)??"",!0),Hi=u(pt)}const Mi=ot(()=>Ze.find(O=>O.id===u(pt)));let xn=U(bi({}));const pn=new Set(["url","name","variablePrefix","disableVariables","mqttUsername","mqttPassword","mqttCa","mqttCert","mqttKey","port","bindAddress","auth","password","proxyHeader","proxyLogoutUrl","dir","disableWatch","latitude","longitude","verbosity","dbPath","dbPrefix","dbPublish","dbRetain","redis","ai"]);An(()=>{if(!u(ct))return;const O=typeof u(be)=="number"?u(be):48.7408,Q=typeof u(Te)=="number"?u(Te):9.1778,Ce=Xg.map(u(ct)).setView([O,Q],10);Xg.tileLayer("https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png",{attribution:'© <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a>'}).addTo(Ce);const Qe=Xg.marker([O,Q],{draggable:!0}).addTo(Ce);I(dt,Qe,!0);const Nt=ke=>{I(be,+ke.lat.toFixed(6)),I(Te,+ke.lng.toFixed(6))};return Qe.on("dragend",()=>Nt(Qe.getLatLng())),Ce.on("click",ke=>{Qe.setLatLng(ke.latlng),Nt(ke.latlng)}),()=>{I(dt,null),Ce.remove()}}),An(()=>{!u(dt)||u(be)===""||u(Te)===""||u(dt).setLatLng([Number(u(be)),Number(u(Te))])});let Vn;function Ln(){if(!navigator.geolocation){Vn.show("Geolocation is not supported by this browser.",{alert:!0});return}I(Pt,!0),navigator.geolocation.getCurrentPosition(O=>{I(be,+O.coords.latitude.toFixed(6)),I(Te,+O.coords.longitude.toFixed(6)),I(Pt,!1)},()=>{I(Pt,!1)})}let mn=U(!0),Bn=U(!1),kn=U(""),Kn=U(""),Xe=U(""),Ht=U("appearance");const li=[{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"]},{id:"webserver",label:"Web server",terms:["port","http","server","bind","address"]},{id:"scripts",label:"Scripts",terms:["directory","watch","hot reload","dir"]},{id:"solar",label:"Solar events",terms:["latitude","longitude","sunrise","sunset","geo"]},{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 Bt=ot(()=>li.filter(O=>{const Q=u(Xe).trim().toLowerCase();return!Q||O.label.toLowerCase().includes(Q)||O.terms.some(Ce=>Ce.includes(Q))}));function pi(O){var Q;I(Ht,O,!0),(Q=document.getElementById("sec-"+O))==null||Q.scrollIntoView({behavior:"smooth",block:"start"})}vr(async()=>{try{const O=await v_();O.dataDir&&I(i,O.dataDir,!0)}catch{}try{const O=await eR();if(typeof O.url=="string"&&O.url)try{const Qe=new URL(O.url);I(n,Qe.protocol.replace(":",""),!0),I(s,Qe.host,!0)}catch{I(s,O.url,!0)}typeof O.mqttUsername=="string"&&I(r,O.mqttUsername,!0),typeof O.mqttPassword=="string"&&I(a,O.mqttPassword,!0),typeof O.mqttCa=="string"&&I(c,O.mqttCa,!0),typeof O.mqttCert=="string"&&I(h,O.mqttCert,!0),typeof O.mqttKey=="string"&&I(g,O.mqttKey,!0),typeof O.name=="string"&&I(f,O.name,!0),typeof O.variablePrefix=="string"&&I(p,O.variablePrefix,!0),typeof O.disableVariables=="boolean"&&I(v,O.disableVariables,!0),typeof O.port=="number"&&I(_,O.port,!0),typeof O.bindAddress=="string"&&I(y,O.bindAddress,!0),typeof O.auth=="string"&&I(S,O.auth,!0),typeof O.proxyHeader=="string"&&I(P,O.proxyHeader,!0),typeof O.proxyLogoutUrl=="string"&&I(N,O.proxyLogoutUrl,!0),typeof O.dir=="string"&&I(X,O.dir,!0),typeof O.disableWatch=="boolean"&&I(pe,O.disableWatch,!0),typeof O.latitude=="number"&&I(be,O.latitude,!0),typeof O.longitude=="number"&&I(Te,O.longitude,!0),typeof O.verbosity=="string"&&I(ai,O.verbosity,!0),typeof O.dbPath=="string"&&I(Mt,O.dbPath,!0),typeof O.dbPrefix=="string"&&I(Jt,O.dbPrefix,!0),typeof O.dbPublish=="boolean"&&I(ge,O.dbPublish,!0),typeof O.dbRetain=="boolean"&&I(rt,O.dbRetain,!0);const Q=O.redis;Q!=null&&Q.url&&I(Ae,Q.url,!0);const Ce=O.ai;Ce!=null&&Ce.provider&&I(di,Ce.provider,!0),Ce!=null&&Ce.baseUrl&&I(Gt,Ce.baseUrl,!0),Ce!=null&&Ce.model&&I(Ct,Ce.model,!0),Ce!=null&&Ce.apiKey&&I(kt,Ce.apiKey,!0),I(pt,Cn(u(di),u(Gt)),!0),Hi=u(pt),I(xn,Object.fromEntries(Object.entries(O).filter(([Qe])=>!pn.has(Qe))),!0)}catch(O){I(Kn,O.message,!0)}finally{I(mn,!1)}});async function In(){if(I(ee,""),I(H,""),u(S)==="password"&&!u(D)){I(ee,"A password is required to enable password authentication.");return}I(j,!0);try{await $7(u(S),u(S)==="password"?u(D):void 0,u(S)==="proxy"?u(P):void 0,u(S)==="proxy"?u(N):void 0),I(D,""),I(H,"Authentication settings saved.")}catch(O){I(ee,O.message,!0)}finally{I(j,!1)}}async function on(){I(Kn,""),I(kn,"");const O={...u(xn)};u(s)&&(O.url=`${u(n)}://${u(s)}`),O.name=u(f),O.variablePrefix=u(p),u(v)&&(O.disableVariables=!0),u(r)&&(O.mqttUsername=u(r)),u(a)&&(O.mqttPassword=u(a)),u(c)&&(O.mqttCa=u(c)),u(h)&&(O.mqttCert=u(h)),u(g)&&(O.mqttKey=u(g)),u(_)!==""&&(O.port=Number(u(_))),u(y)&&(O.bindAddress=u(y)),u(X)&&(O.dir=u(X)),u(pe)&&(O.disableWatch=!0),u(be)!==""&&(O.latitude=Number(u(be))),u(Te)!==""&&(O.longitude=Number(u(Te))),O.verbosity=u(ai),u(Mt)&&(O.dbPath=u(Mt),u(Jt)&&(O.dbPrefix=u(Jt)),u(ge)&&(O.dbPublish=!0,u(rt)&&(O.dbRetain=!0))),u(Ae)&&(O.redis={url:u(Ae)}),u(di)&&(O.ai={provider:u(di),...u(Gt)?{baseUrl:u(Gt)}:{},...u(Ct)?{model:u(Ct)}:{},...u(kt)?{apiKey:u(kt)}:{}}),I(Bn,!0);try{const Q=await e8(O);window.dispatchEvent(new CustomEvent("she:config-changed")),I(kn,Q.restartRequired?"Saved — restart required to apply changes.":"Saved.",!0)}catch(Q){I(Kn,Q.message,!0)}finally{I(Bn,!1)}}var en=VG(),dn=wt(en);xs(om(dn,{}),O=>Vn=O,()=>Vn);var $n=x(dn,2),Ei=C($n),_n=C(Ei),Tn=x(C(_n),2),Zn=x(_n,2);mi(Zn,21,()=>li,O=>O.id,(O,Q)=>{var Ce=Es(),Qe=wt(Ce);{var Nt=Ie=>{var Oe=fG();let Tt;var gt=C(Oe);Z(()=>{Tt=Vt(Oe,1,"section-link svelte-767znw",null,Tt,{active:u(Ht)===u(Q).id}),K(gt,u(Q).label)}),ne("click",Oe,()=>pi(u(Q).id)),T(Ie,Oe)},ke=ot(()=>u(Bt).some(Ie=>Ie.id===u(Q).id));q(Qe,Ie=>{u(ke)&&Ie(Nt)})}T(O,Ce)});var Mn=x(Ei,2),rn=C(Mn),Nn=x(C(rn),2);{var tn=O=>{var Q=pG(),Ce=C(Q);Z(()=>K(Ce,u(Kn))),T(O,Q)};q(Nn,O=>{u(Kn)&&O(tn)})}var Se=x(Nn,2);{var G=O=>{var Q=mG(),Ce=C(Q);Z(()=>K(Ce,u(kn))),T(O,Q)};q(Se,O=>{u(kn)&&O(G)})}var Le=x(Se,2),at=C(Le),It=x(rn,2);{var qt=O=>{var Q=_G();T(O,Q)},F=O=>{var Q=zG(),Ce=C(Q);{var Qe=W=>{var ae=vG(),ce=x(C(ae),2),ue=x(C(ce),2),me=C(ue);me.value=me.__value="dark";var De=x(me);De.value=De.__value="light";var ft=x(De);ft.value=ft.__value="system",ne("change",ue,()=>rG(u(t))),ua(ue,()=>u(t),Ge=>I(t,Ge)),T(W,ae)},Nt=ot(()=>u(Bt).some(W=>W.id==="appearance"));q(Ce,W=>{u(Nt)&&W(Qe)})}var ke=x(Ce,2);{var Ie=W=>{var ae=wG(),ce=x(C(ae),2),ue=C(ce),me=x(C(ue));zn(me,()=>"Transport protocol. Use mqtts or wss for TLS encryption.");var De=x(ue,2),ft=C(De);ft.value=ft.__value="mqtt";var Ge=x(ft);Ge.value=Ge.__value="mqtts";var je=x(Ge);je.value=je.__value="ws";var Ot=x(je);Ot.value=Ot.__value="wss";var qe=x(ce,2),z=C(qe),se=x(C(z));zn(se,()=>"Hostname and optional port of the MQTT broker. Example: 192.168.1.1:1883. Leave empty to run without MQTT.");var Fe=x(z,2),nt=x(qe,2),xt=C(nt),Ne=x(C(xt));zn(Ne,()=>"MQTT broker username. Leave empty if the broker does not require authentication.");var $e=x(xt,2),de=x(nt,2),lt=C(de),ye=x(C(lt));zn(ye,()=>"MQTT broker password. Stored in plain text in config.json.");var he=x(lt,2),Wt=x(de,2);{var it=Si=>{var Gi=bG(),si=wt(Gi),$t=C(si),an=x(C($t));zn(an,()=>"PEM-encoded CA certificate to verify the broker's TLS certificate. Leave empty to use the system's default CA store.");var Ui=x($t,2),vn=x(si,2),nn=C(vn),Ts=x(C(nn));zn(Ts,()=>"PEM-encoded client certificate for mutual TLS authentication.");var jo=x(nn,2),Uo=x(vn,2),Kr=C(Uo),Gr=x(C(Kr));zn(Gr,()=>"PEM-encoded private key matching the client certificate.");var br=x(Kr,2);Ii(Ui,()=>u(c),wr=>I(c,wr)),Ii(jo,()=>u(h),wr=>I(h,wr)),Ii(br,()=>u(g),wr=>I(g,wr)),T(Si,Gi)};q(Wt,Si=>{(u(n)==="mqtts"||u(n)==="wss")&&Si(it)})}var Me=x(Wt,2),Re=C(Me),Ue=x(C(Re));zn(Ue,()=>'MQTT client ID and topic prefix used for the "connected" status message. Default: she');var mt=x(Re,2),hi=x(Me,2),ve=C(hi),Ke=x(C(ve));zn(Ke,()=>"Topic prefix for the variable system (var/set/name → var/status/name). Default: var");var _t=x(ve,2),Et=x(hi,2),Je=x(C(Et),2),ui=C(Je),ni=x(ui,4);zn(ni,()=>"When enabled, var/set/… messages are not processed and no var/status/… retained messages are published."),ua(De,()=>u(n),Si=>I(n,Si)),Ii(Fe,()=>u(s),Si=>I(s,Si)),Ii($e,()=>u(r),Si=>I(r,Si)),Ii(he,()=>u(a),Si=>I(a,Si)),Ii(mt,()=>u(f),Si=>I(f,Si)),Ii(_t,()=>u(p),Si=>I(p,Si)),Us(ui,()=>u(v),Si=>I(v,Si)),T(W,ae)},Oe=ot(()=>u(Bt).some(W=>W.id==="mqtt"));q(ke,W=>{u(Oe)&&W(Ie)})}var Tt=x(ke,2);{var gt=W=>{var ae=LG(),ce=x(C(ae),2),ue=C(ce),me=x(C(ue));zn(me,()=>"none: no authentication required. password: single-user password login. proxy: trust a header set by nginx/authentik.");var De=x(ue,2),ft=C(De);ft.value=ft.__value="none";var Ge=x(ft);Ge.value=Ge.__value="password";var je=x(Ge);je.value=je.__value="proxy";var Ot=x(ce,2);{var qe=ye=>{var he=yG(),Wt=C(he),it=C(Wt),Me=x(it);zn(Me,()=>"Set a new password. Leave empty to keep the current password (if already set).");var Re=x(Wt,2);Z(()=>K(it,`${u(D)?"New password":"Password"} `)),Ii(Re,()=>u(D),Ue=>I(D,Ue)),T(ye,he)};q(Ot,ye=>{u(S)==="password"&&ye(qe)})}var z=x(Ot,2);{var se=ye=>{var he=SG(),Wt=wt(he),it=C(Wt),Me=x(C(it));zn(Me,()=>"The HTTP header that nginx/authentik sets after successful authentication. Default: X-Remote-User");var Re=x(it,2),Ue=x(Wt,2),mt=C(Ue),hi=x(C(mt));zn(hi,()=>"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 ve=x(mt,2);Ii(Re,()=>u(P),Ke=>I(P,Ke)),Ii(ve,()=>u(N),Ke=>I(N,Ke)),T(ye,he)};q(z,ye=>{u(S)==="proxy"&&ye(se)})}var Fe=x(z,2);{var nt=ye=>{var he=CG(),Wt=C(he);Z(()=>K(Wt,u(ee))),T(ye,he)};q(Fe,ye=>{u(ee)&&ye(nt)})}var xt=x(Fe,2);{var Ne=ye=>{var he=xG(),Wt=C(he);Z(()=>K(Wt,u(H))),T(ye,he)};q(xt,ye=>{u(H)&&ye(Ne)})}var $e=x(xt,2),de=x(C($e),2),lt=C(de);Z(()=>{de.disabled=u(j)||u(S)==="password"&&!u(D),K(lt,u(j)?"Saving…":"Apply authentication settings")}),ua(De,()=>u(S),ye=>I(S,ye)),ne("click",de,In),T(W,ae)},Ee=ot(()=>u(Bt).some(W=>W.id==="auth"));q(Tt,W=>{u(Ee)&&W(gt)})}var At=x(Tt,2);{var Qt=W=>{var ae=kG(),ce=x(C(ae),2),ue=C(ce),me=x(C(ue));zn(me,()=>"HTTP server port. Use 0 to let the OS pick a free port. Default: 8080");var De=x(ue,2),ft=x(ce,2),Ge=C(ft),je=x(C(Ge));zn(je,()=>"Interface she listens on. Use 127.0.0.1 when running behind nginx (recommended with proxy auth). Default: 0.0.0.0");var Ot=x(Ge,2);Ii(De,()=>u(_),qe=>I(_,qe)),Ii(Ot,()=>u(y),qe=>I(y,qe)),T(W,ae)},Yt=ot(()=>u(Bt).some(W=>W.id==="webserver"));q(At,W=>{u(Yt)&&W(Qt)})}var Ut=x(At,2);{var ei=W=>{var ae=IG(),ce=x(C(ae),2),ue=C(ce),me=x(C(ue));zn(me,()=>"Directory that is watched for .js script files. Defaults to {dataDir}/scripts");var De=x(ue,2),ft=x(ce,2),Ge=x(C(ft),2),je=C(Ge),Ot=x(je,4);zn(Ot,()=>"When enabled the daemon will not watch for file changes and will not hot-reload scripts."),Z(()=>Fn(De,"placeholder",`${u(i)??""}/scripts (default)`)),Ii(De,()=>u(X),qe=>I(X,qe)),Us(je,()=>u(pe),qe=>I(pe,qe)),T(W,ae)},Y=ot(()=>u(Bt).some(W=>W.id==="scripts"));q(Ut,W=>{u(Y)&&W(ei)})}var _e=x(Ut,2);{var We=W=>{var ae=EG(),ce=x(C(ae),2),ue=C(ce),me=x(C(ue));zn(me,()=>"Geographic latitude used for sunrise/sunset calculations. Default: 48.7408 (Stuttgart)");var De=x(ue,2),ft=x(ce,2),Ge=C(ft),je=x(C(Ge));zn(je,()=>"Geographic longitude used for sunrise/sunset calculations. Default: 9.1778 (Stuttgart)");var Ot=x(Ge,2),qe=x(ft,2),z=x(C(qe),2),se=C(z),Fe=C(se);{var nt=ye=>{var he=Hr("…");T(ye,he)},xt=ye=>{var he=Hr("📍 Use my location");T(ye,he)};q(Fe,ye=>{u(Pt)?ye(nt):ye(xt,-1)})}var Ne=x(se,2),$e=C(Ne),de=x(qe,2);{var lt=ye=>{var he=DG(),Wt=x(C(he),2);xs(Wt,it=>I(ct,it),()=>u(ct)),T(ye,he)};q(de,ye=>{u(xe)&&ye(lt)})}Z(()=>{se.disabled=u(Pt),K($e,u(xe)?"Hide map":"Pick on map")}),Ii(De,()=>u(be),ye=>I(be,ye)),Ii(Ot,()=>u(Te),ye=>I(Te,ye)),ne("click",se,Ln),ne("click",Ne,()=>I(xe,!u(xe))),T(W,ae)},Ye=ot(()=>u(Bt).some(W=>W.id==="solar"));q(_e,W=>{u(Ye)&&W(We)})}var bt=x(_e,2);{var Ve=W=>{var ae=PG(),ce=x(C(ae),2),ue=C(ce),me=x(C(ue));zn(me,()=>"Minimum log level. debug shows all messages including MQTT traffic details.");var De=x(ue,2),ft=C(De);ft.value=ft.__value="debug";var Ge=x(ft);Ge.value=Ge.__value="info";var je=x(Ge);je.value=je.__value="warn";var Ot=x(je);Ot.value=Ot.__value="error",ua(De,()=>u(ai),qe=>I(ai,qe)),T(W,ae)},tt=ot(()=>u(Bt).some(W=>W.id==="logging"));q(bt,W=>{u(tt)&&W(Ve)})}var Zt=x(bt,2);{var oi=W=>{var ae=MG(),ce=x(C(ae),2),ue=C(ce),me=x(C(ue));zn(me,()=>"Path to the sheDB data directory. Defaults to {dataDir}/db. Leave empty to disable sheDB.");var De=x(ue,2),ft=x(ce,2),Ge=C(ft),je=x(C(Ge));zn(je,()=>"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 Ot=x(Ge,2),qe=x(ft,2),z=x(C(qe),2);let se;var Fe=C(z),nt=x(Fe,4);zn(nt,()=>'When enabled, every document change is published to {dbPrefix}doc/{id}. Individual views can publish independently via their own "mqttpub" setting.');var xt=x(qe,2);{var Ne=$e=>{var de=TG(),lt=x(C(de),2);let ye;var he=C(lt),Wt=x(he,4);zn(Wt,()=>"When enabled, MQTT messages for document changes are published as retained messages."),Z(()=>{ye=Vt(lt,1,"check-label svelte-767znw",null,ye,{muted:!u(Mt)}),he.disabled=!u(Mt)}),Us(he,()=>u(rt),it=>I(rt,it)),T($e,de)};q(xt,$e=>{u(ge)&&$e(Ne)})}Z(()=>{Fn(De,"placeholder",`defaults to ${u(i)??""}/db`),Ot.disabled=!u(Mt),se=Vt(z,1,"check-label svelte-767znw",null,se,{muted:!u(Mt)}),Fe.disabled=!u(Mt)}),Ii(De,()=>u(Mt),$e=>I(Mt,$e)),Ii(Ot,()=>u(Jt),$e=>I(Jt,$e)),Us(Fe,()=>u(ge),$e=>I(ge,$e)),T(W,ae)},ii=ot(()=>u(Bt).some(W=>W.id==="shedb"));q(Zt,W=>{u(ii)&&W(oi)})}var Wi=x(Zt,2);{var Dn=W=>{var ae=NG(),ce=x(C(ae),2),ue=C(ce),me=x(C(ue));zn(me,()=>"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 De=x(ue,2);Ii(De,()=>u(Ae),ft=>I(Ae,ft)),T(W,ae)},Pi=ot(()=>u(Bt).some(W=>W.id==="redis"));q(Wi,W=>{u(Pi)&&W(Dn)})}var ti=x(Wi,2);{var Bi=W=>{var ae=BG(),ce=x(C(ae),2),ue=C(ce),me=x(C(ue));zn(me,()=>"Choose a provider. Free options need a free API key from the provider's website — no credit card required.");var De=x(ue,2);mi(De,21,()=>Ze,On,(Ne,$e)=>{var de=RG(),lt=C(de),ye={};Z(()=>{K(lt,u($e).label),ye!==(ye=u($e).id)&&(de.value=(de.__value=u($e).id)??"")}),T(Ne,de)});var ft=x(ce,2);{var Ge=Ne=>{var $e=FG();let de;var lt=C($e);{var ye=it=>{var Me=AG(),Re=x(wt(Me));Z(()=>K(Re,` ${u(Mi).freeNote??""}`)),T(it,Me)};q(lt,it=>{u(Mi).freeNote&&it(ye)})}var he=x(lt,2);{var Wt=it=>{var Me=OG(),Re=x(wt(Me));Z(()=>Fn(Re,"href",u(Mi).apiKeyUrl)),T(it,Me)};q(he,it=>{u(Mi).apiKeyUrl&&it(Wt)})}Z(()=>de=Vt($e,1,"preset-note svelte-767znw",null,de,{free:!!u(Mi).freeNote})),T(Ne,$e)};q(ft,Ne=>{var $e,de;(($e=u(Mi))!=null&&$e.freeNote||(de=u(Mi))!=null&&de.apiKeyUrl)&&Ne(Ge)})}var je=x(ft,2);{var Ot=Ne=>{var $e=HG(),de=C($e),lt=x(C(de));zn(lt,()=>"Base URL of the LLM API. Auto-filled for cloud presets. For Ollama: http://localhost:11434.");var ye=x(de,2);Z(()=>{var he;return Fn(ye,"placeholder",u(pt)==="ollama"?"http://localhost:11434":u(pt)==="lmstudio"?"http://localhost:1234":((he=u(Mi))==null?void 0:he.baseUrl)??"")}),Ii(ye,()=>u(Gt),he=>I(Gt,he)),T(Ne,$e)};q(je,Ne=>{u(pt)!=="anthropic"&&Ne(Ot)})}var qe=x(je,2),z=C(qe),se=x(C(z));zn(se,()=>"Model identifier. Suggested default is filled in when you choose a preset.");var Fe=x(z,2),nt=x(qe,2);{var xt=Ne=>{var $e=WG(),de=C($e),lt=x(C(de));zn(lt,()=>"Stored in config.json. Not needed for local providers.");var ye=x(de,2);Ii(ye,()=>u(kt),he=>I(kt,he)),T(Ne,$e)};q(nt,Ne=>{u(pt)!=="ollama"&&u(pt)!=="lmstudio"&&Ne(xt)})}Z(()=>{var Ne;return Fn(Fe,"placeholder",((Ne=u(Mi))==null?void 0:Ne.defaultModel)||"e.g. llama3.2")}),ne("change",De,Qi),ua(De,()=>u(pt),Ne=>I(pt,Ne)),Ii(Fe,()=>u(Ct),Ne=>I(Ct,Ne)),T(W,ae)},A=ot(()=>u(Bt).some(W=>W.id==="ai"));q(ti,W=>{u(A)&&W(Bi)})}T(O,Q)};q(It,O=>{u(mn)?O(qt):O(F,-1)})}Z(()=>{Le.disabled=u(Bn),K(at,u(Bn)?"Saving…":"Save")}),Ii(Tn,()=>u(Xe),O=>I(Xe,O)),ne("click",Le,on),T(o,en),Eo()}_r(["click","change"]);var UG=R("<option> </option>"),$G=R('<div><span class="ts svelte-18loop9"> </span> <span class="lvl svelte-18loop9"> </span> <span class="msg svelte-18loop9"> </span></div>'),qG=R('<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 KG(o,e){Do(e,!0);let t=U(bi(b8())),i,n=U(!0),s=U("all"),r=U(""),a=U(!1);const c=["all","debug","info","warn","error"],h={debug:0,info:1,warn:2,error:3};hR(X=>{I(t,[...u(t).slice(-1999),X],!0)}),vr(()=>{i&&(i.scrollTop=i.scrollHeight)}),An(()=>{u(t).length,u(n)&&i&&(i.scrollTop=i.scrollHeight)});function g(){I(t,[],!0)}function f(X){if(u(s)!=="all"&&h[X.level]<h[u(s)])return!1;if(!u(r))return!0;if(u(a))try{return new RegExp(u(r),"i").test(X.msg)}catch{}return X.msg.toLowerCase().includes(u(r).toLowerCase())}function p(X){return new Date(X).toLocaleTimeString()}var v=qG(),_=C(v),y=x(C(_),2);mi(y,21,()=>c,On,(X,pe)=>{var be=UG(),Te=C(be),xe={};Z(()=>{K(Te,u(pe)),xe!==(xe=u(pe))&&(be.value=(be.__value=u(pe))??"")}),T(X,be)});var S=x(y,2),D=x(S,2),P=C(D),N=x(D,2),j=C(N),H=x(N,2),ee=x(_,2);mi(ee,21,()=>u(t).filter(f),X=>X.ts+X.msg,(X,pe)=>{var be=$G(),Te=C(be),xe=C(Te),ct=x(Te,2),Pt=C(ct),dt=x(ct,2),ai=C(dt);Z((Mt,Jt)=>{Vt(be,1,`line ${u(pe).level??""}`,"svelte-18loop9"),K(xe,Mt),K(Pt,Jt),K(ai,u(pe).msg)},[()=>p(u(pe).ts),()=>u(pe).level.toUpperCase()]),T(X,be)}),xs(ee,X=>i=X,()=>i),ua(y,()=>u(s),X=>I(s,X)),Ii(S,()=>u(r),X=>I(r,X)),Us(P,()=>u(a),X=>I(a,X)),Us(j,()=>u(n),X=>I(n,X)),ne("click",H,g),T(o,v),Eo()}_r(["click"]);var GG=R('<span class="chat-model svelte-1twuiul"><!></span>'),ZG=R('<button class="clear-btn svelte-1twuiul" title="Clear conversation">✕</button>'),XG=R('<div class="unconfigured svelte-1twuiul">Configure an AI provider in the <strong class="svelte-1twuiul">Config</strong> tab to use the AI assistant.</div>'),YG=R('Working on view <code class="svelte-1twuiul"> </code>',1),JG=R('<button class="chip svelte-1twuiul"> </button>'),QG=R('<div class="suggestions svelte-1twuiul"><p class="suggestions-hint svelte-1twuiul"><!></p> <!></div>'),e9=R('<div class="msg-content user-text svelte-1twuiul"> </div>'),MD=R('<div class="tool-event tool-call svelte-1twuiul"><span class="tool-icon svelte-1twuiul">🔧</span><span class="tool-name svelte-1twuiul"> </span></div>'),ND=R('<div class="tool-event tool-result svelte-1twuiul"><span class="tool-icon svelte-1twuiul">✓</span><span class="tool-name svelte-1twuiul"> </span></div>'),RD=R('<div class="tool-events svelte-1twuiul"></div>'),AD=R('<div class="text-block svelte-1twuiul"></div>'),t9=R('<button class="expand-btn svelte-1twuiul"> </button>'),i9=R('<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>'),n9=R('<div class="apply-view-row svelte-1twuiul"><button class="apply-view-btn svelte-1twuiul"> </button></div>'),s9=R('<!> <div class="msg-content svelte-1twuiul"><!> <!></div>',1),o9=R("<div><!></div>"),r9=R('<div class="message assistant svelte-1twuiul"><div class="msg-content svelte-1twuiul"><span class="status-shimmer svelte-1twuiul"> </span></div></div>'),a9=R('<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>'),l9=R('<div class="message assistant streaming svelte-1twuiul"><div class="msg-content svelte-1twuiul"></div></div>'),c9=R('<div class="chat-error svelte-1twuiul"> </div>'),d9=R('<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>'),h9=R('<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>'),u9=R('<button class="stop-btn svelte-1twuiul" title="Stop generation">■</button>'),g9=R('<button class="send-btn svelte-1twuiul">↑</button>'),f9=R('<option class="svelte-1twuiul"> </option>'),p9=R('<select class="model-select svelte-1twuiul"></select>'),m9=R('<span class="model-name svelte-1twuiul"> </span>'),_9=R('<button class="info-btn svelte-1twuiul" title="Model info">ℹ</button>'),v9=R('<div class="model-bar svelte-1twuiul"><span class="model-provider svelte-1twuiul"> </span> <!> <!></div>'),b9=R('<p class="info-status svelte-1twuiul">Loading…</p>'),w9=R('<p class="info-status info-err svelte-1twuiul"> </p>'),y9=R('<dt class="svelte-1twuiul">Ollama version</dt><dd class="svelte-1twuiul"> </dd>',1),S9=R('<dt class="svelte-1twuiul">Family</dt><dd class="svelte-1twuiul"> </dd>',1),C9=R('<dt class="svelte-1twuiul">Parameters</dt><dd class="svelte-1twuiul"> </dd>',1),x9=R('<dt class="svelte-1twuiul">Quantization</dt><dd class="svelte-1twuiul"> </dd>',1),L9=R('<div class="running-model svelte-1twuiul"> </div>'),k9=R('<dt class="svelte-1twuiul">Loaded</dt> <dd class="svelte-1twuiul"></dd>',1),I9=R('<dt class="svelte-1twuiul">Loaded</dt><dd class="dim svelte-1twuiul">Not in memory</dd>',1),D9=R('<dl class="svelte-1twuiul"><!> <!> <!> <!> <!></dl>'),E9=R('<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>'),P9=R('<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 T9(o,e){Do(e,!0),Hv.registerLanguage("javascript",mR),Pn.use({breaks:!0,gfm:!0});let t=og(e,"currentView",3,null);const i="she:viewchat:messages";let n=U(bi(JSON.parse(localStorage.getItem(i)??"[]"))),s=U(null),r=U(""),a=U(!1),c=U(""),h=U(null),g=U(bi([])),f=U(bi(localStorage.getItem("she:selectedModel")??""));An(()=>{localStorage.setItem(i,JSON.stringify(u(n)))});let p=U(bi(new Set)),v=U(!1),_=U(null),y=U(!1),S=U(""),D=null,P=U(0);const N=["[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 j=U(!0),H=U(!0),ee=U(!0),X=U(bi([])),pe=U(!0),be=U(!1),Te,xe=U(bi([])),ct=U(0),Pt,dt;const ai=ot(()=>({apiref:!1,shedb:u(j),sampleDocs:u(H),tools:u(ee)})),Mt=ot(()=>{var A;return((A=u(h))==null?void 0:A.configured)??!1}),Jt=ot(()=>u(ct)+new TextEncoder().encode(u(r)).length),ge=ot(()=>u(pe)?t():null);async function rt(){try{const A=await oR();I(h,A,!0),A.configured&&!u(f)&&I(f,A.model,!0)}catch{}}An(()=>(window.addEventListener("she:config-changed",rt),()=>window.removeEventListener("she:config-changed",rt))),vr(()=>{rt()}),An(()=>{u(f)&&localStorage.setItem("she:selectedModel",u(f))}),An(()=>{var A;(A=u(h))!=null&&A.provider&&rR().then(W=>{I(g,W.models,!0),!u(f)&&W.models.length>0&&I(f,W.models[0],!0)}).catch(()=>{})}),An(()=>{u(f),I(_,null),I(S,"")}),An(()=>{const A=u(ai),W=u(ge),ae=u(X);u(Mt)&&lR({context:A,currentView:W??null,extraFiles:ae.length>0?ae:void 0}).then(ce=>{I(ct,new TextEncoder().encode(ce.prompt).length,!0)}).catch(()=>{})}),An(()=>{if(!u(a))return;I(P,Math.floor(Math.random()*N.length),!0);const A=setInterval(()=>{I(P,(u(P)+1)%N.length)},1e4);return()=>clearInterval(A)}),An(()=>{var A;dt&&(u(n).length+(((A=u(s))==null?void 0:A.length)??0),requestAnimationFrame(()=>{dt&&(dt.scrollTop=dt.scrollHeight)}))});function Ae(A){const W=[],ae=/```(\w*)\n([\s\S]*?)```/g;let ce=0,ue;for(;(ue=ae.exec(A))!==null;)ue.index>ce&&W.push({type:"text",text:A.slice(ce,ue.index)}),W.push({type:"code",lang:ue[1]||"text",text:ue[2].trimEnd()}),ce=ue.index+ue[0].length;return ce<A.length&&W.push({type:"text",text:A.slice(ce)}),W}function Ze(A){const W=[],ae=/```(\w*)\n([\s\S]*?)```/g;let ce=0,ue;for(;(ue=ae.exec(A))!==null;)ue.index>ce&&W.push({type:"text",text:A.slice(ce,ue.index)}),W.push({type:"code",lang:ue[1]||"text",text:ue[2].trimEnd()}),ce=ue.index+ue[0].length;const me=A.slice(ce),De=me.match(/```(\w*)\n([\s\S]*)$/);return De?(De.index>0&&W.push({type:"text",text:me.slice(0,De.index)}),W.push({type:"code",lang:De[1]||"text",text:De[2]})):me&&W.push({type:"text",text:me}),W}function pt(A){const W={};for(const ae of A)if(ae.type==="code"){if(ae.lang==="filter")W.filter=ae.text.trim();else if(Qi(ae.lang)){const ce=ae.text.split(`
218
- `)[0].trim();ce==="// @view-map"?W.map=ae.text.split(`
219
- `).slice(1).join(`
220
- `).trim():ce==="// @view-reduce"&&(W.reduce=ae.text.split(`
221
- `).slice(1).join(`
222
- `).trim())}}return W}function di(A){return A.filter!==void 0||A.map!==void 0||A.reduce!==void 0}function Gt(A){const W=[];return A.filter!==void 0&&W.push("filter"),A.map!==void 0&&W.push("map"),A.reduce!==void 0&&W.push("reduce"),`Apply ${W.join(" + ")}`}const Ct=15;function kt(A){return A.split(`
223
- `).length>Ct}function yi(A){const W=new Set(u(p));W.has(A)?W.delete(A):W.add(A),I(p,W,!0)}function Hi(A,W){if(Qi(W))try{return Hv.highlight(A,{language:"javascript"}).value}catch{}return A.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function Cn(A){return Pn.parse(A)}function Qi(A){return!A||A==="js"||A==="javascript"}function Mi(A){navigator.clipboard.writeText(A).catch(()=>{})}async function xn(){if(I(v,!0),!(u(_)||u(y))){I(y,!0),I(S,"");try{I(_,await aR(u(f)||u(h).model),!0)}catch(A){I(S,A.message,!0)}I(y,!1)}}function pn(A){return A>=1e9?`${(A/1e9).toFixed(1)} GB`:A>=1e6?`${(A/1e6).toFixed(0)} MB`:`${A} B`}function Vn(A){const W=A.match(/\.([^.]+)$/);return W?W[1].toUpperCase():"?"}function Ln(A){switch(A){case"SH":case"BASH":return"$";case"MD":case"MARKDOWN":return"↓";case"JSON":case"JSONC":return"{}";default:return A}}function mn(A){I(X,u(X).filter((W,ae)=>ae!==A),!0)}function Bn(){Te.click()}async function kn(A){if(!(!A||A.length===0))for(const W of Array.from(A)){const ae=await W.text();I(X,[...u(X),{name:W.name,content:ae}],!0)}}function Kn(A){const W=A.target;kn(W.files),W.value=""}function Xe(A){var W;A.preventDefault(),I(be,!1),kn(((W=A.dataTransfer)==null?void 0:W.files)??null)}function Ht(A){var W;(W=A.dataTransfer)!=null&&W.types.includes("Files")&&(A.preventDefault(),I(be,!0))}function li(){I(be,!1)}async function Bt(){const A=u(r).trim();if(!(!A||u(a))){I(r,""),I(c,""),I(a,!0),I(n,[...u(n),{role:"user",content:A}],!0),D=new AbortController,I(xe,[],!0);try{await cR({messages:u(n),currentView:u(ge),context:u(ai),modelOverride:u(f)||void 0,extraFiles:u(X).length>0?u(X):void 0},W=>{I(s,(u(s)??"")+W)},D.signal,W=>{I(xe,[...u(xe),W],!0)}),I(n,[...u(n),{role:"assistant",content:u(s)??"",toolEvents:u(xe).length>0?[...u(xe)]:void 0}],!0),I(xe,[],!0)}catch(W){if(W.name==="AbortError"){const ae=u(s);ae!=null&&ae.trim()&&I(n,[...u(n),{role:"assistant",content:ae+`
224
-
225
- *[stopped]*`,toolEvents:u(xe).length>0?[...u(xe)]:void 0}],!0)}else I(c,W.message,!0)}finally{D=null,I(s,null),I(xe,[],!0),I(a,!1)}}}function pi(){D==null||D.abort()}function In(A){A.key==="Enter"&&!A.shiftKey&&(A.preventDefault(),Bt())}function on(){I(n,[],!0),I(c,"")}const en=["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 dn(A){I(r,A,!0),Pt==null||Pt.focus()}var $n=P9(),Ei=wt($n),_n=C(Ei),Tn=x(C(_n),2);{var Zn=A=>{var W=GG(),ae=C(W);{var ce=me=>{var De=Hr();Z(()=>K(De,`${u(h).provider??""} · ${(u(f)||u(h).model)??""}`)),T(me,De)},ue=me=>{var De=Hr("Not configured");T(me,De)};q(ae,me=>{u(Mt)?me(ce):me(ue,-1)})}Z(()=>Fn(W,"title",`Provider: ${u(h).provider??""}`)),T(A,W)};q(Tn,A=>{u(h)&&A(Zn)})}var Mn=x(Tn,2);{var rn=A=>{var W=ZG();ne("click",W,on),T(A,W)};q(Mn,A=>{u(n).length>0&&A(rn)})}var Nn=x(_n,2),tn=C(Nn);{var Se=A=>{var W=XG();T(A,W)},G=A=>{var W=QG(),ae=C(W),ce=C(ae);{var ue=ft=>{var Ge=YG(),je=x(wt(Ge)),Ot=C(je);Z(()=>K(Ot,t().id)),T(ft,Ge)},me=ft=>{var Ge=Hr("No view selected. Ask a general sheDB view question.");T(ft,Ge)};q(ce,ft=>{t()?ft(ue):ft(me,-1)})}var De=x(ae,2);mi(De,17,()=>en,On,(ft,Ge)=>{var je=JG(),Ot=C(je);Z(()=>K(Ot,u(Ge))),ne("click",je,()=>dn(u(Ge))),T(ft,je)}),T(A,W)};q(tn,A=>{u(Mt)?u(n).length===0&&u(s)===null&&A(G,1):A(Se)})}var Le=x(tn,2);mi(Le,17,()=>u(n),On,(A,W,ae)=>{var ce=o9(),ue=C(ce);{var me=ft=>{var Ge=e9(),je=C(Ge);Z(()=>K(je,u(W).content)),T(ft,Ge)},De=ft=>{const Ge=ot(()=>Ae(u(W).content)),je=ot(()=>pt(u(Ge)));var Ot=s9(),qe=wt(Ot);{var z=$e=>{var de=RD();mi(de,21,()=>u(W).toolEvents,On,(lt,ye)=>{var he=Es(),Wt=wt(he);{var it=Re=>{var Ue=MD(),mt=x(C(Ue)),hi=C(mt);Z(ve=>K(hi,ve),[()=>u(ye).name.replace(/_/g," ")]),T(Re,Ue)},Me=Re=>{var Ue=ND(),mt=x(C(Ue)),hi=C(mt);Z(ve=>K(hi,ve),[()=>u(ye).name.replace(/_/g," ")]),T(Re,Ue)};q(Wt,Re=>{u(ye).type==="tool_call"?Re(it):Re(Me,-1)})}T(lt,he)}),T($e,de)};q(qe,$e=>{var de;(de=u(W).toolEvents)!=null&&de.length&&$e(z)})}var se=x(qe,2),Fe=C(se);mi(Fe,17,()=>u(Ge),On,($e,de,lt)=>{var ye=Es(),he=wt(ye);{var Wt=Me=>{var Re=AD();Bl(Re,()=>Cn(u(de).text),!0),T(Me,Re)},it=Me=>{const Re=ot(()=>`${ae}:${lt}`),Ue=ot(()=>kt(u(de).text)),mt=ot(()=>u(p).has(u(Re))),hi=ot(()=>u(de).lang==="filter");var ve=i9(),Ke=C(ve),_t=C(Ke),Et=C(_t),Je=x(_t,2),ui=C(Je),ni=x(Ke,2);let Si;var Gi=C(ni),si=C(Gi);Bl(si,()=>Hi(u(de).text,u(de).lang??""),!0);var $t=x(Gi,2);{var an=Ui=>{var vn=t9(),nn=C(vn);Z(()=>K(nn,u(mt)?"▲ collapse":"▼ expand")),ne("click",vn,()=>yi(u(Re))),T(Ui,vn)};q($t,Ui=>{u(Ue)&&Ui(an)})}Z(()=>{K(Et,u(hi)?"filter":u(de).lang),Si=Vt(ni,1,"code-body svelte-1twuiul",null,Si,{collapsed:u(Ue)&&!u(mt)})}),ne("click",ui,()=>Mi(u(de).text)),T(Me,ve)};q(he,Me=>{u(de).type==="text"?Me(Wt):Me(it,-1)})}T($e,ye)});var nt=x(Fe,2);{var xt=$e=>{var de=n9(),lt=C(de),ye=C(lt);Z(he=>K(ye,he),[()=>Gt(u(je))]),ne("click",lt,()=>e.onApplyView(u(je))),T($e,de)},Ne=ot(()=>di(u(je))&&e.onApplyView);q(nt,$e=>{u(Ne)&&$e(xt)})}T(ft,Ot)};q(ue,ft=>{u(W).role==="user"?ft(me):ft(De,-1)})}Z(()=>Vt(ce,1,`message ${u(W).role??""}`,"svelte-1twuiul")),T(A,ce)});var at=x(Le,2);{var It=A=>{var W=RD();mi(W,21,()=>u(xe),On,(ae,ce)=>{var ue=Es(),me=wt(ue);{var De=Ge=>{var je=MD(),Ot=x(C(je)),qe=C(Ot);Z(z=>K(qe,z),[()=>u(ce).name.replace(/_/g," ")]),T(Ge,je)},ft=Ge=>{var je=ND(),Ot=x(C(je)),qe=C(Ot);Z(z=>K(qe,z),[()=>u(ce).name.replace(/_/g," ")]),T(Ge,je)};q(me,Ge=>{u(ce).type==="tool_call"?Ge(De):Ge(ft,-1)})}T(ae,ue)}),T(A,W)};q(at,A=>{u(xe).length>0&&A(It)})}var qt=x(at,2);{var F=A=>{var W=r9(),ae=C(W),ce=C(ae),ue=C(ce);Z(()=>K(ue,N[u(P)])),T(A,W)};q(qt,A=>{u(a)&&u(s)===null&&u(xe).length===0&&A(F)})}var O=x(qt,2);{var Q=A=>{var W=l9(),ae=C(W);mi(ae,21,()=>Ze(u(s)),On,(ce,ue)=>{var me=Es(),De=wt(me);{var ft=je=>{var Ot=AD();Bl(Ot,()=>Cn(u(ue).text),!0),T(je,Ot)},Ge=je=>{var Ot=a9(),qe=C(Ot),z=C(qe),se=C(z),Fe=x(qe,2),nt=C(Fe);Bl(nt,()=>Hi(u(ue).text,u(ue).lang??""),!0),Z(()=>K(se,u(ue).lang)),T(je,Ot)};q(De,je=>{u(ue).type==="text"?je(ft):je(Ge,-1)})}T(ce,me)}),T(A,W)};q(O,A=>{u(s)!==null&&A(Q)})}xs(Nn,A=>dt=A,()=>dt);var Ce=x(Nn,2);{var Qe=A=>{var W=c9(),ae=C(W);Z(()=>K(ae,u(c))),T(A,W)};q(Ce,A=>{u(c)&&A(Qe)})}var Nt=x(Ce,2),ke=C(Nt),Ie=C(ke),Oe=x(ke,2),Tt=C(Oe),gt=x(Oe,2),Ee=C(gt),At=x(gt,2),Qt=C(At),Yt=x(Nt,2),Ut=C(Yt);{var ei=A=>{var W=d9();let ae;var ce=x(C(W),2),ue=C(ce),me=x(ce,2),De=C(me);Z(()=>{ae=Vt(W,1,"file-chip svelte-1twuiul",null,ae,{inactive:!u(pe)}),K(ue,t().id),Fn(me,"title",u(pe)?"Remove from context":"Re-add to context"),K(De,u(pe)?"×":"+")}),ne("click",me,()=>I(pe,!u(pe))),T(A,W)};q(Ut,A=>{t()&&A(ei)})}var Y=x(Ut,2);mi(Y,17,()=>u(X),On,(A,W,ae)=>{const ce=ot(()=>Vn(u(W).name));var ue=h9(),me=C(ue),De=C(me),ft=x(me,2),Ge=C(ft),je=x(ft,2);Z((Ot,qe)=>{Vt(me,1,`badge badge-${Ot??""}`,"svelte-1twuiul"),K(De,qe),K(Ge,u(W).name)},[()=>u(ce).toLowerCase(),()=>Ln(u(ce))]),ne("click",je,()=>mn(ae)),T(A,ue)});var _e=x(Y,2),We=x(_e,2);xs(We,A=>Te=A,()=>Te);var Ye=x(Yt,2);let bt;var Ve=C(Ye);let tt;var Zt=C(Ve);xs(Zt,A=>Pt=A,()=>Pt);var oi=x(Ve,2);{var ii=A=>{var W=u9();ne("click",W,pi),T(A,W)},Wi=A=>{var W=g9();Z(ae=>W.disabled=ae,[()=>!u(r).trim()||!u(Mt)]),ne("click",W,Bt),T(A,W)};q(oi,A=>{u(a)?A(ii):A(Wi,-1)})}var Dn=x(Ye,2);{var Pi=A=>{var W=v9(),ae=C(W),ce=C(ae),ue=x(ae,2);{var me=je=>{var Ot=p9();mi(Ot,21,()=>u(g),On,(qe,z)=>{var se=f9(),Fe=C(se),nt={};Z(()=>{K(Fe,u(z)),nt!==(nt=u(z))&&(se.value=(se.__value=u(z))??"")}),T(qe,se)}),Z(()=>Ot.disabled=u(a)),ua(Ot,()=>u(f),qe=>I(f,qe)),T(je,Ot)},De=je=>{var Ot=m9(),qe=C(Ot);Z(()=>K(qe,u(f)||u(h).model)),T(je,Ot)};q(ue,je=>{u(g).length>0?je(me):je(De,-1)})}var ft=x(ue,2);{var Ge=je=>{var Ot=_9();ne("click",Ot,xn),T(je,Ot)};q(ft,je=>{u(h).provider==="ollama"&&je(Ge)})}Z(()=>K(ce,u(h).provider)),T(A,W)};q(Dn,A=>{u(Mt)&&u(h)&&A(Pi)})}var ti=x(Ei,2);{var Bi=A=>{var W=E9(),ae=C(W),ce=C(ae),ue=C(ce),me=C(ue),De=x(ue,2),ft=x(ce,2),Ge=C(ft);{var je=z=>{var se=b9();T(z,se)},Ot=z=>{var se=w9(),Fe=C(se);Z(()=>K(Fe,u(S))),T(z,se)},qe=z=>{var se=D9(),Fe=C(se);{var nt=Me=>{var Re=y9(),Ue=x(wt(Re)),mt=C(Ue);Z(()=>K(mt,u(_).version)),T(Me,Re)};q(Fe,Me=>{u(_).version&&Me(nt)})}var xt=x(Fe,2);{var Ne=Me=>{var Re=S9(),Ue=x(wt(Re)),mt=C(Ue);Z(()=>K(mt,u(_).details.family)),T(Me,Re)};q(xt,Me=>{var Re;(Re=u(_).details)!=null&&Re.family&&Me(Ne)})}var $e=x(xt,2);{var de=Me=>{var Re=C9(),Ue=x(wt(Re)),mt=C(Ue);Z(()=>K(mt,u(_).details.parameter_size)),T(Me,Re)};q($e,Me=>{var Re;(Re=u(_).details)!=null&&Re.parameter_size&&Me(de)})}var lt=x($e,2);{var ye=Me=>{var Re=x9(),Ue=x(wt(Re)),mt=C(Ue);Z(()=>K(mt,u(_).details.quantization_level)),T(Me,Re)};q(lt,Me=>{var Re;(Re=u(_).details)!=null&&Re.quantization_level&&Me(ye)})}var he=x(lt,2);{var Wt=Me=>{var Re=k9(),Ue=x(wt(Re),2);mi(Ue,21,()=>u(_).running,On,(mt,hi)=>{var ve=L9(),Ke=C(ve);Z(_t=>K(Ke,`${u(hi).name??""} · ${_t??""} VRAM`),[()=>pn(u(hi).size_vram)]),T(mt,ve)}),T(Me,Re)},it=Me=>{var Re=I9();T(Me,Re)};q(he,Me=>{u(_).running&&u(_).running.length>0?Me(Wt):u(_).running!==null&&Me(it,1)})}T(z,se)};q(Ge,z=>{u(y)?z(je):u(S)?z(Ot,1):u(_)&&z(qe,2)})}Z(()=>{var z;return K(me,`Ollama · ${(u(f)||((z=u(h))==null?void 0:z.model))??""}`)}),ne("click",W,()=>I(v,!1)),ne("click",ae,z=>z.stopPropagation()),ne("click",De,()=>I(v,!1)),T(A,W)};q(ti,A=>{u(v)&&A(Bi)})}Z(A=>{K(Qt,A),bt=Vt(Ye,1,"input-row svelte-1twuiul",null,bt,{"drag-over":u(be)}),tt=Vt(Ve,1,"textarea-wrap svelte-1twuiul",null,tt,{loading:u(a)}),Fn(Zt,"placeholder",u(Mt)?"Ask anything… (Enter to send, Shift+Enter for newline, drag & drop files to add context)":"AI not configured"),Zt.disabled=u(a)||!u(Mt)},[()=>pn(u(Jt))]),Us(Ie,()=>u(j),A=>I(j,A)),Us(Tt,()=>u(H),A=>I(H,A)),Us(Ee,()=>u(ee),A=>I(ee,A)),ne("click",_e,Bn),ne("change",We,Kn),es("dragover",Ye,Ht),es("dragleave",Ye,li),es("drop",Ye,Xe),ne("keydown",Zt,In),Ii(Zt,()=>u(r),A=>I(r,A)),T(o,$n),Eo()}_r(["click","change","keydown"]);var M9=R('<div class="me svelte-1pxdb1"></div>');function Fy(o,e){Do(e,!0);let t=og(e,"value",15,""),i=og(e,"language",3,"javascript"),n,s,r=!1;vr(()=>{const c=i()==="json"?{formatOnPaste:!0,autoIndent:"full"}:{};s=Ha.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},...c}),s.onDidChangeModelContent(()=>{r||t(s.getValue())})}),lw(()=>s==null?void 0:s.dispose()),An(()=>{!s||s.getValue()===t()||(r=!0,s.setValue(t()),r=!1)});var a=M9();xs(a,c=>n=c,()=>n),T(o,a),Eo()}var N9=R('<!> <div class="welcome svelte-rrt0o"><div class="welcome-inner svelte-rrt0o"><div class="welcome-logo svelte-rrt0o">db</div> <p class="welcome-sub svelte-rrt0o">sheDB — embedded JSON document store with MapReduce views</p> <div class="welcome-hint svelte-rrt0o"><strong>In scripts:</strong> use <code class="svelte-rrt0o">she.db.get(id)</code>, <code class="svelte-rrt0o">she.db.set(id, doc)</code>, <code class="svelte-rrt0o">she.db.extend(id, partial)</code>, <code class="svelte-rrt0o">she.db.sub(pattern, cb)</code>.<br/> <strong>Views:</strong> <code class="svelte-rrt0o">this</code> = current document &mdash; call <code class="svelte-rrt0o">emit(value)</code> to add to result.</div> <div class="welcome-links svelte-rrt0o"><a href="https://github.com/hobbyquaker/she/blob/main/doc/db/README.md" target="_blank" rel="noopener" class="svelte-rrt0o">sheDB docs</a> <span class="svelte-rrt0o">·</span> <a href="https://github.com/hobbyquaker/she/blob/main/doc/db/view-examples.md" target="_blank" rel="noopener" class="svelte-rrt0o">View examples</a> <span class="svelte-rrt0o">·</span> <a href="https://github.com/hobbyquaker/she" target="_blank" rel="noopener" class="svelte-rrt0o">GitHub</a></div></div></div>',1),R9=R('<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>'),OD=R('<div class="form-error svelte-rrt0o"> </div>'),A9=R('<div class="new-item-form svelte-rrt0o"><input placeholder="device/lamp1" class="svelte-rrt0o"/> <button class="svelte-rrt0o">Create</button></div> <!>',1),FD=R("<li> </li>"),HD=R('<div class="error-bar svelte-rrt0o"> </div>'),WD=R('<div class="loading svelte-rrt0o">Loading…</div>'),O9=R('<div class="monaco-doc-wrap svelte-rrt0o"><!></div>'),F9=R('<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),H9=R('<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>'),W9=R('<div class="new-item-form svelte-rrt0o"><input placeholder="myView" class="svelte-rrt0o"/> <button class="svelte-rrt0o">Create</button></div> <!>',1),B9=R('<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>'),z9=R('<span class="badge-error svelte-rrt0o">error</span>'),V9=R('<span class="badge-ok svelte-rrt0o"> </span>'),j9=R('<pre class="result-error svelte-rrt0o"> </pre>'),U9=R('<pre class="result-json svelte-rrt0o"> </pre>'),$9=R('<div class="view-result svelte-rrt0o"><div class="result-header svelte-rrt0o">Result <!></div> <!></div>'),q9=R('<div class="view-sections svelte-rrt0o"><div class="view-section svelte-rrt0o"><div class="section-title svelte-rrt0o">Description <span class="section-hint svelte-rrt0o">— optional, shown in sidebar</span></div> <div class="section-body svelte-rrt0o"><input class="filter-input svelte-rrt0o" placeholder="(optional description)"/></div></div> <div class="view-section svelte-rrt0o"><div class="section-title svelte-rrt0o">Filter <span class="section-hint svelte-rrt0o">— MQTT wildcard, optional</span></div> <div class="section-body svelte-rrt0o"><input class="filter-input svelte-rrt0o" placeholder="#"/></div></div> <div class="view-section svelte-rrt0o"><div class="section-title svelte-rrt0o">Map <span class="section-hint svelte-rrt0o">— <code>this</code> = document &nbsp;·&nbsp; call <code>emit(this)</code> to include in result</span></div> <div class="monaco-view-wrap monaco-view-wrap--map svelte-rrt0o"><!></div></div> <div class="view-section svelte-rrt0o"><div class="section-title svelte-rrt0o">Reduce <span class="section-hint svelte-rrt0o">— receives <code>result</code> array, must <code>return</code> new value (optional)</span></div> <div class="monaco-view-wrap monaco-view-wrap--reduce svelte-rrt0o"><!></div></div> <div class="view-section view-section--options svelte-rrt0o"><label class="opt-check svelte-rrt0o"><input type="checkbox" class="svelte-rrt0o"/> <span class="checkmark svelte-rrt0o"></span> Publish to MQTT <span class="section-hint svelte-rrt0o">— publish view to MQTT topic <code> </code></span></label> <!></div> <!></div>'),K9=R('<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),G9=R('<div class="chat-resize-handle svelte-rrt0o" role="separator"></div> <div class="chat-pane svelte-rrt0o"><!></div>',1),Z9=R('<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>'),X9=R('<div class="db-root svelte-rrt0o" role="presentation"><div class="panel-tabs svelte-rrt0o"><button>Documents</button> <button>Views</button> <!></div> <!></div>');function Y9(o,e){Do(e,!0);const t=Se=>{var G=N9(),Le=wt(G);xs(om(Le,{}),at=>Ln=at,()=>Ln),T(Se,G)};let i=U(bi([])),n=U(null),s=U("{}"),r=U(!1),a=U(null);const c="she-db-selected-view";let h=U(bi([])),g=U(bi(localStorage.getItem(c))),f=U("#"),p=U("// emit(this.someProperty)"),v=U(""),_=U(""),y=U(!1),S=U(!1),D=U(null),P=U(!1),N=U(null),j=U("she/db/view/");const H="she-db-panel";let ee=U(bi(localStorage.getItem(H)??"docs")),X=U(""),pe=U(!1),be=U(null),Te=U(""),xe=U(!1),ct=U(null);const Pt="she-db-sidebar-width";let dt=U(bi(parseInt(localStorage.getItem(Pt)??"220",10))),ai=!1,Mt=0,Jt=0;const ge="she-db-chat-width",rt="she-db-chat-open";let Ae=U(localStorage.getItem(rt)==="true"),Ze=U(bi(parseInt(localStorage.getItem(ge)??"320",10))),pt=!1,di=0,Gt=0;const Ct=ot(()=>u(g)?{id:u(g),filter:u(f),map:u(p),reduce:u(v)}:null);function kt(Se){Se.filter!==void 0&&I(f,Se.filter,!0),Se.map!==void 0&&I(p,Se.map,!0),Se.reduce!==void 0&&I(v,Se.reduce,!0)}An(()=>{localStorage.setItem(rt,String(u(Ae)))}),An(()=>{localStorage.setItem(H,u(ee))}),An(()=>{u(g)?localStorage.setItem(c,u(g)):localStorage.removeItem(c)});function yi(Se){ai=!0,Mt=Se.clientX,Jt=u(dt),Se.preventDefault()}function Hi(Se){ai&&I(dt,Math.max(140,Math.min(500,Jt+Se.clientX-Mt)),!0),pt&&I(Ze,Math.max(240,Math.min(600,Gt-(Se.clientX-di))),!0)}function Cn(){ai&&(ai=!1,localStorage.setItem(Pt,String(u(dt)))),pt&&(pt=!1,localStorage.setItem(ge,String(u(Ze))))}function Qi(Se){pt=!0,di=Se.clientX,Gt=u(Ze),Se.preventDefault()}async function Mi(){try{I(i,await tR(),!0)}catch{}}async function xn(){try{I(h,await iR(),!0)}catch{}}async function pn(Se){I(n,Se,!0),I(a,null),I(r,!0);try{const G=await t8(Se);I(s,JSON.stringify(G,null,2),!0)}catch(G){I(a,G instanceof Error?G.message:String(G),!0)}finally{I(r,!1)}}async function Vn(){if(u(n)){I(a,null);try{const Se=JSON.parse(u(s));await aD(u(n),Se)}catch(Se){I(a,Se instanceof Error?Se.message:String(Se),!0)}}}let Ln;async function mn(){if(u(n)&&await Ln.show(`Delete document "${u(n)}"?`,{confirm:"Delete",danger:!0}))try{await i8(u(n)),I(n,null),I(s,"{}")}catch(Se){I(a,Se instanceof Error?Se.message:String(Se),!0)}}async function Bn(){const Se=u(X).trim();if(Se){I(be,null);try{await aD(Se,{}),I(pe,!1),I(X,""),await pn(Se)}catch(G){I(be,G instanceof Error?G.message:String(G),!0)}}}async function kn(Se){I(g,Se,!0),I(N,null),I(P,!0),I(D,null);try{const G=await n8(Se);I(f,G.filter??"",!0),I(p,G.map,!0),I(v,G.reduce??"",!0),I(_,G.description??"",!0),I(y,G.mqttpub??!1,!0),I(S,G.retain??!1,!0),I(D,await Ay(Se).catch(()=>null),!0)}catch(G){I(N,G instanceof Error?G.message:String(G),!0)}finally{I(P,!1)}}async function Kn(){if(u(g)){I(N,null);try{const Se={map:u(p)};u(f).trim()&&(Se.filter=u(f).trim()),u(v).trim()&&(Se.reduce=u(v).trim()),u(_).trim()&&(Se.description=u(_).trim()),u(y)&&(Se.mqttpub=!0),u(S)&&(Se.retain=!0),await lD(u(g),Se)}catch(Se){I(N,Se instanceof Error?Se.message:String(Se),!0)}}}async function Xe(){if(u(g))try{I(D,await Ay(u(g)),!0)}catch(Se){I(N,Se instanceof Error?Se.message:String(Se),!0)}}async function Ht(){if(u(g)&&await Ln.show(`Delete view "${u(g)}"?`,{confirm:"Delete",danger:!0}))try{await s8(u(g)),I(g,null),I(f,""),I(p,"// emit(this.someProperty)"),I(v,""),I(_,""),I(y,!1),I(S,!1),I(D,null)}catch(Se){I(N,Se instanceof Error?Se.message:String(Se),!0)}}async function li(){if(!u(Te).trim())return;const Se=u(Te).trim();I(ct,null);try{await lD(Se,{map:"// emit(this.someProperty)"}),I(xe,!1),I(Te,""),await xn(),await kn(Se)}catch(G){I(ct,G instanceof Error?G.message:String(G),!0)}}let Bt=U(""),pi=U(""),In=ot(()=>[...u(i)].filter(Se=>!u(Bt)||Se.toLowerCase().includes(u(Bt).toLowerCase())).sort()),on=ot(()=>[...u(h)].filter(Se=>!u(pi)||Se.toLowerCase().includes(u(pi).toLowerCase())).sort());vr(()=>{Mi(),xn().then(()=>{u(g)&&u(h).includes(u(g))?kn(u(g)):I(g,null)}),eR().then(It=>{const qt=It.dbPrefix||"she/db/",F=qt.endsWith("/")?qt:qt+"/";I(j,F+"view/")}).catch(()=>{});const Se=$l("db:ids",It=>{I(i,It.ids??[],!0)}),G=$l("db:viewIds",It=>{I(h,It.ids??[],!0)}),Le=$l("db:change",async It=>{const qt=It.id;u(n)===qt&&(It.doc===null?(I(n,null),I(s,"{}")):I(s,JSON.stringify(It.doc,null,2),!0))}),at=$l("db:viewUpdate",async It=>{const qt=It.id;u(g)===qt&&I(D,await Ay(qt).catch(()=>null),!0)});return()=>{Se(),G(),Le(),at()}});var en=X9(),dn=C(en),$n=C(dn);let Ei;var _n=x($n,2);let Tn;var Zn=x(_n,2);{var Mn=Se=>{var G=R9();let Le;Z(()=>{Le=Vt(G,1,"ai-toggle svelte-rrt0o",null,Le,{"ai-open":u(Ae)}),Fn(G,"title",u(Ae)?"Close AI assistant":"Open AI assistant")}),ne("click",G,()=>I(Ae,!u(Ae))),T(Se,G)};q(Zn,Se=>{u(ee)==="views"&&Se(Mn)})}var rn=x(dn,2);{var Nn=Se=>{var G=H9(),Le=C(G);let at;var It=C(Le),qt=C(It),F=x(It,2);{var O=gt=>{var Ee=A9(),At=wt(Ee),Qt=C(At),Yt=x(Qt,2),Ut=x(At,2);{var ei=Y=>{var _e=OD(),We=C(_e);Z(()=>K(We,u(be))),T(Y,_e)};q(Ut,Y=>{u(be)&&Y(ei)})}ne("keydown",Qt,Y=>Y.key==="Enter"&&Bn()),Ii(Qt,()=>u(X),Y=>I(X,Y)),ne("click",Yt,Bn),T(gt,Ee)};q(F,gt=>{u(pe)&&gt(O)})}var Q=x(F,2),Ce=C(Q),Qe=x(Q,2);mi(Qe,20,()=>u(In),gt=>gt,(gt,Ee)=>{var At=FD();let Qt;var Yt=C(At);Z(()=>{Qt=Vt(At,1,"flat-item svelte-rrt0o",null,Qt,{"active-item":u(n)===Ee}),K(Yt,Ee)}),ne("click",At,()=>pn(Ee)),T(gt,At)});var Nt=x(Le,2),ke=x(Nt,2),Ie=C(ke);{var Oe=gt=>{var Ee=F9(),At=wt(Ee),Qt=C(At),Yt=C(Qt),Ut=x(Qt,2),ei=x(Ut,2),Y=x(At,2);{var _e=Ve=>{var tt=HD(),Zt=C(tt);Z(()=>K(Zt,u(a))),T(Ve,tt)};q(Y,Ve=>{u(a)&&Ve(_e)})}var We=x(Y,2);{var Ye=Ve=>{var tt=WD();T(Ve,tt)},bt=Ve=>{var tt=O9(),Zt=C(tt);Fy(Zt,{language:"json",get value(){return u(s)},set value(oi){I(s,oi,!0)}}),T(Ve,tt)};q(We,Ve=>{u(r)?Ve(Ye):Ve(bt,-1)})}Z(()=>K(Yt,u(n))),ne("click",Ut,Vn),ne("click",ei,mn),T(gt,Ee)},Tt=gt=>{t(gt)};q(Ie,gt=>{u(n)?gt(Oe):gt(Tt,-1)})}Z(()=>at=Bo(Le,"",at,{width:`${u(dt)??""}px`})),ne("click",qt,()=>{I(pe,!u(pe)),I(be,null)}),Ii(Ce,()=>u(Bt),gt=>I(Bt,gt)),ne("mousedown",Nt,yi),T(Se,G)},tn=Se=>{var G=Z9(),Le=C(G);let at;var It=C(Le),qt=C(It),F=x(It,2);{var O=At=>{var Qt=W9(),Yt=wt(Qt),Ut=C(Yt),ei=x(Ut,2),Y=x(Yt,2);{var _e=We=>{var Ye=OD(),bt=C(Ye);Z(()=>K(bt,u(ct))),T(We,Ye)};q(Y,We=>{u(ct)&&We(_e)})}ne("keydown",Ut,We=>We.key==="Enter"&&li()),Ii(Ut,()=>u(Te),We=>I(Te,We)),ne("click",ei,li),T(At,Qt)};q(F,At=>{u(xe)&&At(O)})}var Q=x(F,2),Ce=C(Q),Qe=x(Q,2);mi(Qe,20,()=>u(on),At=>At,(At,Qt)=>{var Yt=FD();let Ut;var ei=C(Yt);Z(()=>{Ut=Vt(Yt,1,"flat-item svelte-rrt0o",null,Ut,{"active-item":u(g)===Qt}),K(ei,Qt)}),ne("click",Yt,()=>kn(Qt)),T(At,Yt)});var Nt=x(Le,2),ke=x(Nt,2),Ie=C(ke);{var Oe=At=>{var Qt=K9(),Yt=wt(Qt),Ut=C(Yt),ei=C(Ut),Y=x(Ut,2),_e=x(Y,2),We=x(_e,2),Ye=x(Yt,2);{var bt=oi=>{var ii=HD(),Wi=C(ii);Z(()=>K(Wi,u(N))),T(oi,ii)};q(Ye,oi=>{u(N)&&oi(bt)})}var Ve=x(Ye,2);{var tt=oi=>{var ii=WD();T(oi,ii)},Zt=oi=>{var ii=q9(),Wi=C(ii),Dn=x(C(Wi),2),Pi=C(Dn),ti=x(Wi,2),Bi=x(C(ti),2),A=C(Bi),W=x(ti,2),ae=x(C(W),2),ce=C(ae);Fy(ce,{language:"javascript",get value(){return u(p)},set value(Ne){I(p,Ne,!0)}});var ue=x(W,2),me=x(C(ue),2),De=C(me);Fy(De,{language:"javascript",get value(){return u(v)},set value(Ne){I(v,Ne,!0)}});var ft=x(ue,2),Ge=C(ft),je=C(Ge),Ot=x(je,4),qe=x(C(Ot)),z=C(qe),se=x(Ge,2);{var Fe=Ne=>{var $e=B9(),de=C($e);Us(de,()=>u(S),lt=>I(S,lt)),T(Ne,$e)};q(se,Ne=>{u(y)&&Ne(Fe)})}var nt=x(ft,2);{var xt=Ne=>{var $e=$9(),de=C($e),lt=x(C(de));{var ye=Re=>{var Ue=z9();T(Re,Ue)},he=Re=>{var Ue=V9(),mt=C(Ue);Z(()=>K(mt,`${u(D).length??0??""} items · rev ${u(D)._rev??""}`)),T(Re,Ue)};q(lt,Re=>{u(D).error?Re(ye):Re(he,-1)})}var Wt=x(de,2);{var it=Re=>{var Ue=j9(),mt=C(Ue);Z(()=>K(mt,u(D).error)),T(Re,Ue)},Me=Re=>{var Ue=U9(),mt=C(Ue);Z(hi=>K(mt,hi),[()=>JSON.stringify(u(D).result,null,2)]),T(Re,Ue)};q(Wt,Re=>{u(D).error?Re(it):Re(Me,-1)})}T(Ne,$e)};q(nt,Ne=>{u(D)&&Ne(xt)})}Z(()=>K(z,`${u(j)??""}${u(g)??""} on every update`)),Ii(Pi,()=>u(_),Ne=>I(_,Ne)),Ii(A,()=>u(f),Ne=>I(f,Ne)),Us(je,()=>u(y),Ne=>I(y,Ne)),T(oi,ii)};q(Ve,oi=>{u(P)?oi(tt):oi(Zt,-1)})}Z(()=>K(ei,u(g))),ne("click",Y,Kn),ne("click",_e,Xe),ne("click",We,Ht),T(At,Qt)},Tt=At=>{t(At)};q(Ie,At=>{u(g)?At(Oe):At(Tt,-1)})}var gt=x(ke,2);{var Ee=At=>{var Qt=G9(),Yt=wt(Qt),Ut=x(Yt,2);let ei;var Y=C(Ut);T9(Y,{get currentView(){return u(Ct)},onApplyView:kt}),Z(()=>ei=Bo(Ut,"",ei,{width:`${u(Ze)??""}px`})),ne("mousedown",Yt,Qi),T(At,Qt)};q(gt,At=>{u(Ae)&&At(Ee)})}Z(()=>at=Bo(Le,"",at,{width:`${u(dt)??""}px`})),ne("click",qt,()=>{I(xe,!u(xe)),I(ct,null)}),Ii(Ce,()=>u(pi),At=>I(pi,At)),ne("mousedown",Nt,yi),T(Se,G)};q(rn,Se=>{u(ee)==="docs"?Se(Nn):Se(tn,-1)})}Z(()=>{Ei=Vt($n,1,"svelte-rrt0o",null,Ei,{active:u(ee)==="docs"}),Tn=Vt(_n,1,"svelte-rrt0o",null,Tn,{active:u(ee)==="views"})}),ne("mousemove",en,Hi),ne("mouseup",en,Cn),es("mouseleave",en,Cn),ne("click",$n,()=>I(ee,"docs")),ne("click",_n,()=>I(ee,"views")),T(o,en),Eo()}_r(["mousemove","mouseup","click","keydown","mousedown"]);var J9=R('<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),Q9=R('<label class="svelte-1ua3isv">Pairing Code / QR <input type="text" placeholder="MT:..." class="svelte-1ua3isv"/></label>'),BD=R('<p class="err svelte-1ua3isv"> </p>'),eZ=R('<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>'),tZ=R('<span class="device-name svelte-1ua3isv"> </span> <span class="device-nodeid svelte-1ua3isv"> </span>',1),iZ=R('<span class="device-name svelte-1ua3isv"> </span>'),nZ=R('<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>'),sZ=R('<li class="empty svelte-1ua3isv">No paired devices</li>'),oZ=R('<p class="info svelte-1ua3isv">Loading…</p>'),rZ=R('<p class="device-subtitle svelte-1ua3isv"> </p>'),aZ=R('<span class="ep-chip svelte-1ua3isv"> </span>'),lZ=R('<span class="attr-id svelte-1ua3isv"> </span>'),cZ=R('<button class="attr-action-btn svelte-1ua3isv"> </button>'),dZ=R('<div class="attr-actions svelte-1ua3isv"></div>'),hZ=R('<span class="cmd-sep svelte-1ua3isv">,</span>'),uZ=R('<span class="cmd-name svelte-1ua3isv"> </span><span class="cmd-id svelte-1ua3isv"> </span>',1),gZ=R('<span class="cmd-id svelte-1ua3isv"> </span>'),fZ=R("<!> <!>",1),pZ=R('<span class="cmd-list svelte-1ua3isv"></span>'),mZ=R(' <span class="cmd-id svelte-1ua3isv"> </span>',1),_Z=R('<tr class="svelte-1ua3isv"><td class="svelte-1ua3isv"><!></td><td class="svelte-1ua3isv"> </td></tr>'),vZ=R('<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>'),bZ=R('<th class="svelte-1ua3isv"> </th>'),wZ=R('<td class="svelte-1ua3isv"> </td>'),yZ=R('<tr class="svelte-1ua3isv"></tr>'),SZ=R('<table class="attr-arr-table svelte-1ua3isv"><thead class="svelte-1ua3isv"><tr class="svelte-1ua3isv"></tr></thead><tbody class="svelte-1ua3isv"></tbody></table>'),CZ=R('<tr class="svelte-1ua3isv"><td class="attr-obj-key svelte-1ua3isv"> </td><td class="attr-obj-val svelte-1ua3isv"> </td></tr>'),xZ=R('<table class="attr-obj-table svelte-1ua3isv"><tbody class="svelte-1ua3isv"></tbody></table>'),LZ=R('<a class="attr-link svelte-1ua3isv" target="_blank" rel="noopener noreferrer"> </a>'),kZ=R('<span class="attr-val svelte-1ua3isv"> </span>'),IZ=R('<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>'),DZ=R('<tr class="cluster-hdr-row svelte-1ua3isv"><td colspan="3" class="cluster-hdr-cell svelte-1ua3isv"> </td></tr> <!>',1),EZ=R('<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>'),PZ=R('<p class="no-clusters svelte-1ua3isv">No clusters</p>'),TZ=R('<details class="svelte-1ua3isv"><summary class="svelte-1ua3isv"> <span class="ep-id svelte-1ua3isv"> </span> <span class="ep-chips svelte-1ua3isv"></span></summary> <!></details>'),MZ=R('<div class="detail-hdr svelte-1ua3isv"><h2 class="svelte-1ua3isv"> </h2> <!> <p class="detail-nodeid svelte-1ua3isv"> </p></div> <!>',1),NZ=R('<p class="info svelte-1ua3isv">Select a device to view its endpoints.</p>'),RZ=R('<span class="stream-badge svelte-1ua3isv"> </span>'),AZ=R('<span class="stream-empty svelte-1ua3isv">Waiting for events…</span>'),Hy=R('&nbsp;<span class="e-sub svelte-1ua3isv"> </span>',1),OZ=R('<span class="e-badge e-badge-status svelte-1ua3isv">status</span> <span class="e-node svelte-1ua3isv"> <!></span> <span> </span>',1),FZ=R('<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),HZ=R('<div class="er svelte-1ua3isv"><span class="e-ts svelte-1ua3isv"> </span> <!></div>'),WZ=R('<div class="stream-body svelte-1ua3isv"><!></div>'),BZ=R('<!> <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 zZ(o,e){Do(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(G,Le,at,It,qt){try{await _8(G,Le,at,It,qt)}catch(F){console.error("matter command failed",F)}}const n={identify:{0:"identify",1:"triggerEffect"},groups:{0:"addGroup",1:"viewGroup",2:"getGroupMembership",3:"removeGroup",4:"removeAllGroups",5:"addGroupIfIdentifying"},scenes:{0:"addScene",1:"viewScene",2:"removeScene",3:"removeAllScenes",4:"storeScene",5:"recallScene",6:"getSceneMembership",64:"enhancedAddScene",65:"enhancedViewScene",66:"copyScene"},onOff:{0:"off",1:"on",2:"toggle",64:"offWithEffect",65:"onWithRecallGlobalScene",66:"onWithTimedOff"},levelControl:{0:"moveToLevel",1:"move",2:"step",3:"stop",4:"moveToLevelWithOnOff",5:"moveWithOnOff",6:"stepWithOnOff",7:"stopWithOnOff",8:"moveToClosestFrequency"},colorControl:{0:"moveToHue",1:"moveHue",2:"stepHue",3:"moveToSaturation",4:"moveSaturation",5:"stepSaturation",6:"moveToHueAndSaturation",7:"moveToColor",8:"moveColor",9:"stepColor",10:"moveToColorTemperature",64:"enhancedMoveToHue",65:"enhancedMoveHue",66:"enhancedStepHue",67:"enhancedMoveToHueAndSaturation",68:"colorLoopSet",71:"stopMoveStep",75:"moveColorTemperature",76:"stepColorTemperature"},thermostat:{0:"setpointRaiseLower",1:"setWeeklySchedule",2:"getWeeklySchedule",3:"clearWeeklySchedule"},doorLock:{0:"lockDoor",1:"unlockDoor",3:"unlockWithTimeout",11:"setWeekDaySchedule",12:"getWeekDaySchedule",13:"clearWeekDaySchedule",14:"setYearDaySchedule",15:"getYearDaySchedule",16:"clearYearDaySchedule",17:"setHolidaySchedule",18:"getHolidaySchedule",19:"clearHolidaySchedule",26:"setUser",27:"getUser",28:"clearUser",34:"setCredential",36:"getCredential",38:"clearCredential"},windowCovering:{0:"upOrOpen",1:"downOrClose",2:"stopMotion",4:"goToLiftValue",5:"goToLiftPercentage",7:"goToTiltValue",8:"goToTiltPercentage"},fanControl:{0:"step"}};function s(G,Le){const at=n[G];return Le.map(It=>{const qt=typeof It=="number"?It:Number(It);return{id:qt,name:(at==null?void 0:at[qt])??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},c={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 h(G){return"0x"+G.toString(16).toUpperCase().padStart(4,"0")}let g=U(bi([])),f=bi(new Map);function p(G){if(G==null)return"—";if(typeof G=="boolean"||typeof G=="number")return String(G);if(typeof G=="string")return G.length>50?G.slice(0,47)+"…":G;const Le=JSON.stringify(G);return Le.length>60?Le.slice(0,57)+"…":Le}function v(G){return G==null?"—":typeof G=="boolean"||typeof G=="number"?String(G):typeof G=="string"?G:JSON.stringify(G)}function _(G){return G!==null&&typeof G=="object"&&!Array.isArray(G)}function y(G){return Array.isArray(G)&&G.length>0&&G.every(_)}function S(G,Le){return!!(Le==="attributeList"||Array.isArray(G)&&G.length===0||_(G)&&Object.keys(G).length===0)}function D(G){return new Date(G).toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1})}const P=500,N=20,j=32;let H=0,ee=U(bi([])),X=U(!0),pe=U(180),be=ot(()=>{const G=Math.max(1,Math.floor((u(pe)-j)/N)+1);return u(ee).slice(0,G)});function Te(G){G.preventDefault();const Le=G.clientY,at=u(pe);function It(F){I(pe,Math.max(60,Math.min(600,at+Le-F.clientY)),!0)}function qt(){document.removeEventListener("mousemove",It),document.removeEventListener("mouseup",qt)}document.addEventListener("mousemove",It),document.addEventListener("mouseup",qt)}let xe=U(null),ct=U(!1),Pt=U(null),dt=U(!1),ai=U("passcode"),Mt=U(""),Jt=U(""),ge=U(""),rt=U(!1),Ae=U(null),Ze=U("");const pt="she:matter:selectedNodeId";async function di(){try{I(g,await nR(),!0);for(const G of u(g))b_(G.nodeId).then(Le=>{f.set(G.nodeId,Le)}).catch(()=>{});if(u(g).length>0&&!u(xe)){const G=localStorage.getItem(pt),Le=G&&u(g).find(at=>at.nodeId===G)?G:u(g)[0].nodeId;Gt(Le)}}catch{I(g,[],!0)}}async function Gt(G){I(ct,!0),I(Pt,null);try{I(xe,await b_(G),!0),f.set(G,u(xe)),localStorage.setItem(pt,G)}catch(Le){I(Pt,Le instanceof Error?Le.message:String(Le),!0)}finally{I(ct,!1)}}let Ct;async function kt(G){var Le;if(await Ct.show(`Unpair device ${G}?`,{confirm:"Unpair",danger:!0}))try{await m8(G),((Le=u(xe))==null?void 0:Le.nodeId)===G&&I(xe,null),await di()}catch(at){I(Pt,at instanceof Error?at.message:String(at),!0)}}async function yi(){I(rt,!0),I(Ae,null);try{let G;u(ai)==="passcode"?(G={passcode:Number(u(Mt))},u(Jt)&&(G={...G,discriminator:Number(u(Jt))})):G={pairingCode:u(ge).trim()},u(Ze).trim()&&(G={...G,discoveryAddress:u(Ze).trim()}),await p8(G),I(dt,!1),I(Mt,""),I(Jt,""),I(ge,""),I(Ze,""),await di()}catch(G){I(Ae,G instanceof Error?G.message:String(G),!0)}finally{I(rt,!1)}}vr(()=>{di()});const Hi=$l("matter:deviceList",G=>{if(!Array.isArray(G.devices))return;const Le=G.devices;for(const at of Le)f.has(at.nodeId)||b_(at.nodeId).then(It=>{f.set(at.nodeId,It)}).catch(()=>{});I(g,Le,!0)}),Cn=$l("matter:deviceStatus",G=>{if(G.nodeId===void 0)return;const Le=String(G.nodeId),at=!!G.online;I(g,u(g).map(It=>It.nodeId===Le?{...It,online:at}:It),!0),I(ee,[{id:H++,kind:"status",nodeId:Le,online:at,ts:Date.now()},...u(ee).slice(0,P-1)],!0)}),Qi=$l("matter:attr",G=>{const Le=String(G.nodeId),at=G.endpointId,It=String(G.clusterName),qt=String(G.attrName),F=G.value;if(u(xe)&&u(xe).nodeId===Le){const Q=u(xe).endpoints.find(Qe=>Qe.endpointId===at),Ce=Q==null?void 0:Q.clusters.find(Qe=>Qe.name===It);Ce&&(Ce.attrs[qt]=F)}const O=f.get(Le);if(O){const Q=O.endpoints.find(Qe=>Qe.endpointId===at),Ce=Q==null?void 0:Q.clusters.find(Qe=>Qe.name===It);Ce&&(Ce.attrs[qt]=F)}I(ee,[{id:H++,kind:"attr",nodeId:Le,endpointId:at,clusterName:It,attrName:qt,value:F,ts:G.ts??Date.now()},...u(ee).slice(0,P-1)],!0)});lw(()=>{Hi(),Cn(),Qi()});var Mi=BZ(),xn=wt(Mi);xs(om(xn,{}),G=>Ct=G,()=>Ct);var pn=x(xn,2),Vn=C(pn),Ln=C(Vn),mn=C(Ln),Bn=x(C(mn),2),kn=x(mn,2);{var Kn=G=>{var Le=eZ(),at=C(Le),It=C(at);let qt;var F=x(It,2);let O;var Q=x(at,2);{var Ce=Ee=>{var At=J9(),Qt=wt(At),Yt=x(C(Qt)),Ut=x(Qt,2),ei=x(C(Ut));Ii(Yt,()=>u(Mt),Y=>I(Mt,Y)),Ii(ei,()=>u(Jt),Y=>I(Jt,Y)),T(Ee,At)},Qe=Ee=>{var At=Q9(),Qt=x(C(At));Ii(Qt,()=>u(ge),Yt=>I(ge,Yt)),T(Ee,At)};q(Q,Ee=>{u(ai)==="passcode"?Ee(Ce):Ee(Qe,-1)})}var Nt=x(Q,2),ke=x(C(Nt)),Ie=x(Nt,2);{var Oe=Ee=>{var At=BD(),Qt=C(At);Z(()=>K(Qt,u(Ae))),T(Ee,At)};q(Ie,Ee=>{u(Ae)&&Ee(Oe)})}var Tt=x(Ie,2),gt=C(Tt);Z(()=>{qt=Vt(It,1,"svelte-1ua3isv",null,qt,{active:u(ai)==="passcode"}),O=Vt(F,1,"svelte-1ua3isv",null,O,{active:u(ai)==="pairingCode"}),Tt.disabled=u(rt),K(gt,u(rt)?"Commissioning…":"Commission")}),ne("click",It,()=>I(ai,"passcode")),ne("click",F,()=>I(ai,"pairingCode")),Ii(ke,()=>u(Ze),Ee=>I(Ze,Ee)),ne("click",Tt,yi),T(G,Le)};q(kn,G=>{u(dt)&&G(Kn)})}var Xe=x(kn,2),Ht=C(Xe);mi(Ht,17,()=>u(g),G=>G.nodeId,(G,Le)=>{var at=nZ();let It;var qt=C(at),F=C(qt);let O;var Q=x(F,2),Ce=C(Q);{var Qe=Ie=>{var Oe=tZ(),Tt=wt(Oe),gt=C(Tt),Ee=x(Tt,2),At=C(Ee);Z(()=>{K(gt,u(Le).name),K(At,`#${u(Le).nodeId??""}`)}),T(Ie,Oe)},Nt=Ie=>{var Oe=iZ(),Tt=C(Oe);Z(()=>K(Tt,`Node ${u(Le).nodeId??""}`)),T(Ie,Oe)};q(Ce,Ie=>{u(Le).name?Ie(Qe):Ie(Nt,-1)})}var ke=x(qt,2);Z(()=>{var Ie;It=Vt(at,1,"svelte-1ua3isv",null,It,{selected:((Ie=u(xe))==null?void 0:Ie.nodeId)===u(Le).nodeId}),O=Vt(F,1,"status-dot svelte-1ua3isv",null,O,{online:u(Le).online})}),ne("click",qt,()=>Gt(u(Le).nodeId)),ne("click",ke,()=>kt(u(Le).nodeId)),T(G,at)});var li=x(Ht,2);{var Bt=G=>{var Le=sZ();T(G,Le)};q(li,G=>{u(g).length===0&&G(Bt)})}var pi=x(Ln,2),In=C(pi);{var on=G=>{var Le=oZ();T(G,Le)},en=G=>{var Le=BD(),at=C(Le);Z(()=>K(at,u(Pt))),T(G,Le)},dn=G=>{var Le=MZ(),at=wt(Le),It=C(at),qt=C(It),F=x(It,2);{var O=Nt=>{var ke=rZ(),Ie=C(ke);Z(()=>K(Ie,u(xe).subtitle)),T(Nt,ke)};q(F,Nt=>{u(xe).subtitle&&Nt(O)})}var Q=x(F,2),Ce=C(Q),Qe=x(at,2);mi(Qe,17,()=>u(xe).endpoints,Nt=>Nt.endpointId,(Nt,ke)=>{var Ie=TZ(),Oe=C(Ie),Tt=C(Oe),gt=x(Tt),Ee=C(gt),At=x(gt,2);mi(At,21,()=>u(ke).clusters,On,(ei,Y)=>{var _e=aZ(),We=C(_e);Z(()=>K(We,u(Y).name)),T(ei,_e)});var Qt=x(Oe,2);{var Yt=ei=>{var Y=EZ(),_e=x(C(Y));mi(_e,21,()=>u(ke).clusters,On,(We,Ye)=>{var bt=DZ(),Ve=wt(bt),tt=C(Ve),Zt=C(tt),oi=x(Ve,2);mi(oi,17,()=>Object.entries(u(Ye).attrs),On,(ii,Wi)=>{var Dn=ot(()=>ak(u(Wi),2));let Pi=()=>u(Dn)[0],ti=()=>u(Dn)[1];var Bi=Es(),A=wt(Bi);{var W=ce=>{const ue=ot(()=>{var Ue;return(Ue=t[u(Ye).name])==null?void 0:Ue[Pi()]}),me=ot(()=>(Pi()==="acceptedCommandList"||Pi()==="generatedCommandList")&&Array.isArray(ti())),De=ot(()=>{var Ue;return((Ue=c[u(Ye).name])==null?void 0:Ue[Pi()])??a[Pi()]});var ft=IZ(),Ge=C(ft),je=C(Ge),Ot=C(je),qe=x(je);{var z=Ue=>{var mt=lZ(),hi=C(mt);Z(ve=>K(hi,`(${ve??""})`),[()=>h(u(De))]),T(Ue,mt)};q(qe,Ue=>{u(De)!==void 0&&Ue(z)})}var se=x(Ge),Fe=C(se);{var nt=Ue=>{var mt=dZ();mi(mt,21,()=>u(ue),On,(hi,ve)=>{var Ke=cZ(),_t=C(Ke);Z(()=>K(_t,u(ve).label)),ne("click",Ke,()=>i(u(xe).nodeId,u(ke).endpointId,u(Ye).name,u(ve).command,u(ve).args)),T(hi,Ke)}),T(Ue,mt)};q(Fe,Ue=>{u(ue)&&Ue(nt)})}var xt=x(se),Ne=C(xt);{var $e=Ue=>{var mt=pZ();mi(mt,21,()=>s(u(Ye).name,ti()),On,(hi,ve,Ke)=>{var _t=fZ(),Et=wt(_t);{var Je=Gi=>{var si=hZ();T(Gi,si)};q(Et,Gi=>{Ke>0&&Gi(Je)})}var ui=x(Et,2);{var ni=Gi=>{var si=uZ(),$t=wt(si),an=C($t),Ui=x($t),vn=C(Ui);Z(()=>{K(an,u(ve).name),K(vn,`(${u(ve).id??""})`)}),T(Gi,si)},Si=Gi=>{var si=gZ(),$t=C(si);Z(()=>K($t,u(ve).id)),T(Gi,si)};q(ui,Gi=>{u(ve).name?Gi(ni):Gi(Si,-1)})}T(hi,_t)}),T(Ue,mt)},de=Ue=>{var mt=vZ(),hi=x(C(mt));mi(hi,21,ti,On,(ve,Ke)=>{const _t=ot(()=>u(Ke)),Et=ot(()=>u(_t).deviceType),Je=ot(()=>r[u(Et)]);var ui=_Z(),ni=C(ui),Si=C(ni);{var Gi=Ui=>{var vn=mZ(),nn=wt(vn),Ts=x(nn),jo=C(Ts);Z(Uo=>{K(nn,`${u(Je)??""} `),K(jo,`(${Uo??""})`)},[()=>h(u(Et))]),T(Ui,vn)},si=Ui=>{var vn=Hr();Z(nn=>K(vn,nn),[()=>h(u(Et))]),T(Ui,vn)};q(Si,Ui=>{u(Je)?Ui(Gi):Ui(si,-1)})}var $t=x(ni),an=C($t);Z(Ui=>K(an,Ui),[()=>v(u(_t).revision)]),T(ve,ui)}),T(Ue,mt)},lt=ot(()=>Pi()==="deviceTypeList"&&Array.isArray(ti())),ye=Ue=>{const mt=ot(()=>[...new Set(ti().flatMap(Et=>Object.keys(Et)))]);var hi=SZ(),ve=C(hi),Ke=C(ve);mi(Ke,21,()=>u(mt),On,(Et,Je)=>{var ui=bZ(),ni=C(ui);Z(()=>K(ni,u(Je))),T(Et,ui)});var _t=x(ve);mi(_t,21,ti,On,(Et,Je)=>{var ui=yZ();mi(ui,21,()=>u(mt),On,(ni,Si)=>{var Gi=wZ(),si=C(Gi);Z($t=>K(si,$t),[()=>v(u(Je)[u(Si)])]),T(ni,Gi)}),T(Et,ui)}),T(Ue,hi)},he=ot(()=>y(ti())),Wt=Ue=>{var mt=xZ(),hi=C(mt);mi(hi,21,()=>Object.entries(ti()),On,(ve,Ke)=>{var _t=ot(()=>ak(u(Ke),2));let Et=()=>u(_t)[0],Je=()=>u(_t)[1];var ui=CZ(),ni=C(ui),Si=C(ni),Gi=x(ni),si=C(Gi);Z($t=>{K(Si,Et()),K(si,$t)},[()=>v(Je())]),T(ve,ui)}),T(Ue,mt)},it=ot(()=>_(ti())),Me=Ue=>{var mt=LZ(),hi=C(mt);Z(()=>{Fn(mt,"href",ti()),K(hi,ti())}),T(Ue,mt)},Re=Ue=>{var mt=kZ(),hi=C(mt);Z(ve=>K(hi,ve),[()=>v(ti())]),T(Ue,mt)};q(Ne,Ue=>{u(me)?Ue($e):u(lt)?Ue(de,1):u(he)?Ue(ye,2):u(it)?Ue(Wt,3):(Pi()==="productUrl"||Pi()==="productURL")&&typeof ti()=="string"?Ue(Me,4):Ue(Re,-1)})}Z(()=>{Fn(Ge,"title",Pi()),K(Ot,Pi())}),T(ce,ft)},ae=ot(()=>!S(ti(),Pi()));q(A,ce=>{u(ae)&&ce(W)})}T(ii,Bi)}),Z(()=>K(Zt,u(Ye).name)),T(We,bt)}),T(ei,Y)},Ut=ei=>{var Y=PZ();T(ei,Y)};q(Qt,ei=>{u(ke).clusters.length>0?ei(Yt):ei(Ut,-1)})}Z(()=>{K(Tt,`${u(ke).name??`Endpoint ${u(ke).endpointId}`??""} `),K(Ee,`ep${u(ke).endpointId??""}`)}),T(Nt,Ie)}),Z(()=>{K(qt,u(xe).name??`Node ${u(xe).nodeId}`),K(Ce,`Node ID: ${u(xe).nodeId??""}`)}),T(G,Le)},$n=G=>{var Le=NZ();T(G,Le)};q(In,G=>{u(ct)?G(on):u(Pt)?G(en,1):u(xe)?G(dn,2):G($n,-1)})}var Ei=x(Vn,2),_n=C(Ei),Tn=x(_n,2),Zn=x(C(Tn),2);{var Mn=G=>{var Le=RZ(),at=C(Le);Z(()=>K(at,u(ee).length)),T(G,Le)};q(Zn,G=>{!u(X)&&u(ee).length>0&&G(Mn)})}var rn=x(Zn,2),Nn=C(rn),tn=x(Tn,2);{var Se=G=>{var Le=WZ(),at=C(Le);{var It=F=>{var O=AZ();T(F,O)},qt=F=>{var O=Es(),Q=wt(O);mi(Q,17,()=>u(be),Ce=>Ce.id,(Ce,Qe)=>{const Nt=ot(()=>{var Yt,Ut;return((Yt=f.get(u(Qe).nodeId))==null?void 0:Yt.name)??((Ut=u(g).find(ei=>ei.nodeId===u(Qe).nodeId))==null?void 0:Ut.name)??null}),ke=ot(()=>{var Yt,Ut;return u(Qe).endpointId!==void 0?((Ut=(Yt=f.get(u(Qe).nodeId))==null?void 0:Yt.endpoints.find(ei=>ei.endpointId===u(Qe).endpointId))==null?void 0:Ut.name)??null:null}),Ie=ot(()=>u(Qe).attrName??u(Qe).clusterName);var Oe=HZ(),Tt=C(Oe),gt=C(Tt),Ee=x(Tt,2);{var At=Yt=>{var Ut=OZ(),ei=x(wt(Ut),2),Y=C(ei),_e=x(Y);{var We=tt=>{var Zt=Hy(),oi=x(wt(Zt)),ii=C(oi);Z(()=>K(ii,`(#${u(Qe).nodeId??""})`)),T(tt,Zt)};q(_e,tt=>{u(Nt)&&tt(We)})}var Ye=x(ei,2);let bt;var Ve=C(Ye);Z(()=>{K(Y,u(Nt)??`#${u(Qe).nodeId}`),bt=Vt(Ye,1,"e-val svelte-1ua3isv",null,bt,{"e-online":u(Qe).online,"e-offline":!u(Qe).online}),K(Ve,u(Qe).online?"online":"offline")}),T(Yt,Ut)},Qt=Yt=>{var Ut=FZ(),ei=x(wt(Ut),2),Y=C(ei),_e=x(Y);{var We=ti=>{var Bi=Hy(),A=x(wt(Bi)),W=C(A);Z(()=>K(W,`(#${u(Qe).nodeId??""})`)),T(ti,Bi)};q(_e,ti=>{u(Nt)&&ti(We)})}var Ye=x(ei,2),bt=C(Ye),Ve=x(bt);{var tt=ti=>{var Bi=Hy(),A=x(wt(Bi)),W=C(A);Z(()=>K(W,`(ep ${u(Qe).endpointId??""})`)),T(ti,Bi)};q(Ve,ti=>{u(ke)&&ti(tt)})}var Zt=x(Ye,2),oi=C(Zt),ii=x(Zt,2),Wi=C(ii),Dn=x(ii,2),Pi=C(Dn);Z(ti=>{K(Y,u(Nt)??`#${u(Qe).nodeId}`),K(bt,u(ke)??`ep${u(Qe).endpointId}`),K(oi,u(Qe).clusterName),K(Wi,u(Ie)),K(Pi,ti)},[()=>p(u(Qe).value)]),T(Yt,Ut)};q(Ee,Yt=>{u(Qe).kind==="status"?Yt(At):Yt(Qt,-1)})}Z(Yt=>K(gt,Yt),[()=>D(u(Qe).ts)]),T(Ce,Oe)}),T(F,O)};q(at,F=>{u(be).length===0?F(It):F(qt,-1)})}T(G,Le)};q(tn,G=>{u(X)&&G(Se)})}Z(()=>{Bo(Ei,u(X)?`height: ${u(pe)}px;`:""),K(Nn,u(X)?"▾":"▸")}),ne("click",Bn,()=>I(dt,!u(dt))),ne("mousedown",_n,Te),ne("click",rn,()=>{I(X,!u(X))}),T(o,Mi),Eo()}_r(["click","mousedown"]);var VZ=R("<button>›</button>"),jZ=R('<span class="chev-ph svelte-1vejtrc"></span>'),UZ=R('<span class="tv svelte-1vejtrc"> </span> <span class="tt svelte-1vejtrc"> </span>',1),$Z=R('<div class="tc svelte-1vejtrc"></div>'),qZ=R('<div class="tn svelte-1vejtrc"><div><!> <span class="seg svelte-1vejtrc"> </span> <!></div> <!></div>'),KZ=R("<option></option>"),GZ=R('<span class="pub-ok svelte-1vejtrc">✓</span>'),ZZ=R('<span class="pub-err svelte-1vejtrc"> </span>'),XZ=R('<div class="info svelte-1vejtrc">Loading…</div>'),YZ=R('<div class="info err svelte-1vejtrc"> </div>'),JZ=R('<div class="info svelte-1vejtrc">No topics match.</div>'),QZ=R('<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>'),eX=R('<div class="vs svelte-1vejtrc"><div><div class="vrows-abs svelte-1vejtrc"></div></div></div>'),tX=R('<div class="info svelte-1vejtrc">No topics yet.</div>'),iX=R('<div class="tree-wrap svelte-1vejtrc"><!></div>'),nX=R('<span class="stream-badge"> </span>'),sX=R('<span class="stream-empty svelte-1vejtrc">Waiting for messages…</span>'),oX=R('<span class="s-ret svelte-1vejtrc" title="retained snapshot">&#x229B;</span>'),rX=R('<div><span class="s-ts svelte-1vejtrc"> </span> <!> <span class="s-topic svelte-1vejtrc"> </span> <span class="s-val svelte-1vejtrc"> </span></div>'),aX=R('<div class="stream-body svelte-1vejtrc"><!></div>'),lX=R('<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),cX=R('<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>'),dX=R('<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),hX=R('<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 uX(o,e){Do(e,!0);const t=(Y,_e=nw)=>{const We=ot(()=>u(f).has(_e().path)),Ye=ot(()=>u(a)>=0&&_e().children.size>0),bt=ot(()=>u(a)>=0&&_e().isLeaf&&!n.has(_e().path));var Ve=qZ(),tt=C(Ve);let Zt;var oi=C(tt);{var ii=ce=>{var ue=VZ();let me;Z(()=>{me=Vt(ue,1,"chev svelte-1vejtrc",null,me,{open:u(We)}),Fn(ue,"aria-label",u(We)?"Collapse":"Expand")}),ne("click",ue,()=>p(_e().path)),T(ce,ue)},Wi=ce=>{var ue=jZ();T(ce,ue)};q(oi,ce=>{u(Ye)?ce(ii):ce(Wi,-1)})}var Dn=x(oi,2),Pi=C(Dn),ti=x(Dn,2);{var Bi=ce=>{var ue=UZ(),me=wt(ue),De=C(me),ft=x(me,2),Ge=C(ft);Z((je,Ot,qe)=>{Fn(me,"title",je),K(De,Ot),K(Ge,qe)},[()=>{var je;return pn((je=mn(_e().path))==null?void 0:je.val)},()=>{var je;return pn((je=mn(_e().path))==null?void 0:je.val)},()=>{var je;return((je=mn(_e().path))==null?void 0:je.ts)!=null?Vn(mn(_e().path).ts):""}]),T(ce,ue)},A=ot(()=>_e().isLeaf&&i.has(_e().path));q(ti,ce=>{u(A)&&ce(Bi)})}var W=x(tt,2);{var ae=ce=>{var ue=$Z();mi(ue,21,()=>[..._e().children.values()].sort((me,De)=>me.seg.localeCompare(De.seg)),me=>me.path,(me,De)=>{t(me,()=>u(De))}),T(ce,ue)};q(W,ce=>{u(Ye)&&u(We)&&ce(ae)})}Z(()=>{Zt=Vt(tt,1,"tr svelte-1vejtrc",null,Zt,{stale:u(bt)}),K(Pi,_e().seg)}),ne("click",tt,()=>{I(ct,_e().path+"/#")}),ne("contextmenu",tt,ce=>{ce.preventDefault(),I(Ze,{x:ce.clientX,y:ce.clientY,topic:_e().path},!0)}),T(Y,Ve)},i=new Map,n=new Set,s=new Set;let r=null,a=U(0);function c(){r===null&&(r=requestAnimationFrame(()=>{r=null;for(const Y of s)g(Y);s.clear(),dk(a)}))}const h=new Map;function g(Y){const _e=Y.split("/");let We=h,Ye="";for(let bt=0;bt<_e.length;bt++){const Ve=_e[bt];Ye=bt===0?Ve:`${Ye}/${Ve}`,We.has(Ve)||We.set(Ve,{seg:Ve,path:Ye,children:new Map,isLeaf:!1});const tt=We.get(Ve);bt===_e.length-1&&(tt.isLeaf=!0),We=tt.children}}let f=U(bi(new Set));function p(Y){const _e=new Set(u(f));_e.has(Y)?_e.delete(Y):_e.add(Y),I(f,_e,!0)}let v=U("");const _=24,y=5;let S=U(0),D=U(300),P=ot(()=>{if(u(a),!u(v))return[];const Y=u(v).toLowerCase().split(/\s+/).filter(Boolean),_e=[];for(const[We,Ye]of i){const bt=We.toLowerCase();Y.every(Ve=>bt.includes(Ve))&&_e.push({topic:We,...Ye})}return _e.sort((We,Ye)=>We.topic.localeCompare(Ye.topic))}),N=ot(()=>{const Y=u(P).length,_e=Math.max(0,Math.floor(u(S)/_)-y),We=Math.min(Y,Math.ceil((u(S)+u(D))/_)+y);return{start:_e,end:We,totalH:Y*_,top:_e*_}});const j=1e3,H=200,ee=20,X=36;let pe=0,be=U(bi([])),Te=U(bi([])),xe=U(!0),ct=U("#"),Pt=U(200);An(()=>{const Y=u(ct).trim(),_e=vl(()=>u(be)),We=!Y||Y==="#"?_e.slice(0,H):_e.filter(Ye=>dt(Y,Ye.topic)).slice(0,H);if(Y&&Y!=="#"){const Ye=new Set(We.map(Ve=>Ve.topic)),bt=[];for(const[Ve,tt]of i)Ye.has(Ve)||dt(Y,Ve)&&bt.push({id:-(bt.length+1),topic:Ve,val:tt.val,ts:tt.ts,retained:!0});bt.sort((Ve,tt)=>Ve.topic.localeCompare(tt.topic)),I(Te,[...We,...bt],!0)}else I(Te,We,!0)});function dt(Y,_e){if(Y==="#")return!0;const We=Y.split("/"),Ye=_e.split("/");for(let bt=0;bt<We.length;bt++){if(We[bt]==="#")return!0;if(bt>=Ye.length||We[bt]!=="+"&&We[bt]!==Ye[bt])return!1}return We.length===Ye.length}function ai(Y){Y.preventDefault();const _e=Y.clientY,We=u(Pt);function Ye(Ve){I(Pt,Math.max(60,Math.min(800,We+_e-Ve.clientY)),!0)}function bt(){document.removeEventListener("mousemove",Ye),document.removeEventListener("mouseup",bt)}document.addEventListener("mousemove",Ye),document.addEventListener("mouseup",bt)}let Mt=ot(()=>{const Y=Math.max(1,Math.floor((u(Pt)-X)/ee)+1);return u(Te).slice(0,Y)}),Jt=U(!0),ge=U(null);async function rt(){I(Jt,!0),I(ge,null);try{const Y=await sR();for(const _e of Y)i.set(_e.topic,{val:_e.val,ts:_e.ts}),g(_e.topic)}catch(Y){I(ge,Y instanceof Error?Y.message:String(Y),!0)}finally{I(Jt,!1),dk(a)}}const Ae=$l("mqtt",Y=>{const{topic:_e,val:We,ts:Ye}=Y;i.set(_e,{val:We,ts:Ye}),n.add(_e),s.add(_e),c();const bt={id:pe++,topic:_e,val:We,ts:Ye};I(be,[bt,...u(be).slice(0,j-1)],!0);const Ve=u(ct).trim();(!Ve||Ve==="#"||dt(Ve,_e))&&I(Te,[bt,...u(Te).filter(tt=>!(tt.retained&&tt.topic===_e)).slice(0,H-1)],!0)});let Ze=U(null),pt=U(null);async function di(Y,_e){const We=[Y];if(_e){const Ye=Y+"/";for(const bt of i.keys())bt.startsWith(Ye)&&We.push(bt)}for(const Ye of We)await dD(Ye,"",!0,0)}let Gt=ot(()=>(u(a),[...i.keys()].sort())),Ct=U(""),kt=U(""),yi=U(!1),Hi=U(0),Cn=U(!1),Qi=U(null),Mi=U(!1);async function xn(){if(u(Ct)){I(Cn,!0),I(Qi,null),I(Mi,!1);try{await dD(u(Ct),u(kt),u(yi),u(Hi)),I(Mi,!0),setTimeout(()=>{I(Mi,!1)},2e3)}catch(Y){I(Qi,Y instanceof Error?Y.message:String(Y),!0)}finally{I(Cn,!1)}}}function pn(Y){return Y==null?"":typeof Y=="object"?JSON.stringify(Y):String(Y)}function Vn(Y){return new Date(Y).toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1})}function Ln(Y){return new Date(Y).toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1})}function mn(Y){return u(a),i.get(Y)}let Bn=ot(()=>(u(a),[...h.values()].sort((Y,_e)=>Y.seg.localeCompare(_e.seg)))),kn=ot(()=>(u(a),i.size));vr(rt),lw(()=>{Ae(),r!==null&&cancelAnimationFrame(r)});var Kn=hX(),Xe=x(C(Kn),2),Ht=C(Xe),li=C(Ht),Bt=x(li,2);mi(Bt,20,()=>u(Gt),Y=>Y,(Y,_e)=>{var We=KZ(),Ye={};Z(()=>{Ye!==(Ye=_e)&&(We.value=(We.__value=_e)??"")}),T(Y,We)});var pi=x(Bt,2),In=x(pi,2),on=C(In),en=x(In,2),dn=C(en);dn.value=dn.__value=0;var $n=x(dn);$n.value=$n.__value=1;var Ei=x($n);Ei.value=Ei.__value=2;var _n=x(en,2),Tn=x(_n,2);{var Zn=Y=>{var _e=GZ();T(Y,_e)};q(Tn,Y=>{u(Mi)&&Y(Zn)})}var Mn=x(Tn,2);{var rn=Y=>{var _e=ZZ(),We=C(_e);Z(()=>K(We,u(Qi))),T(Y,_e)};q(Mn,Y=>{u(Qi)&&Y(rn)})}var Nn=x(Ht,2),tn=C(Nn),Se=x(tn,2),G=C(Se);{var Le=Y=>{var _e=Hr();Z(()=>K(_e,`${u(P).length??""} /`)),T(Y,_e)};q(G,Y=>{u(v)&&Y(Le)})}var at=x(G),It=x(Nn,2);{var qt=Y=>{var _e=XZ();T(Y,_e)},F=Y=>{var _e=YZ(),We=C(_e);Z(()=>K(We,u(ge))),T(Y,_e)},O=Y=>{var _e=Es(),We=wt(_e);{var Ye=Ve=>{var tt=JZ();T(Ve,tt)},bt=Ve=>{var tt=eX(),Zt=C(tt),oi=C(Zt);mi(oi,21,()=>u(P).slice(u(N).start,u(N).end),ii=>ii.topic,(ii,Wi)=>{var Dn=QZ(),Pi=C(Dn),ti=C(Pi),Bi=x(Pi,2),A=C(Bi),W=x(Bi,2),ae=C(W);Z((ce,ue,me)=>{K(ti,u(Wi).topic),Fn(Bi,"title",ce),K(A,ue),K(ae,me)},[()=>pn(u(Wi).val),()=>pn(u(Wi).val),()=>Vn(u(Wi).ts)]),T(ii,Dn)}),Z(()=>{Bo(Zt,`height: ${u(N).totalH??""}px; position: relative;`),Bo(oi,`top: ${u(N).top??""}px;`)}),es("scroll",tt,ii=>{I(S,ii.currentTarget.scrollTop,!0)}),yW(tt,"clientHeight",ii=>I(D,ii)),T(Ve,tt)};q(We,Ve=>{u(P).length===0?Ve(Ye):Ve(bt,-1)})}T(Y,_e)},Q=Y=>{var _e=iX(),We=C(_e);{var Ye=Ve=>{var tt=tX();T(Ve,tt)},bt=Ve=>{var tt=Es(),Zt=wt(tt);mi(Zt,17,()=>u(Bn),oi=>oi.path,(oi,ii)=>{t(oi,()=>u(ii))}),T(Ve,tt)};q(We,Ve=>{u(Bn).length===0?Ve(Ye):Ve(bt,-1)})}T(Y,_e)};q(It,Y=>{u(Jt)?Y(qt):u(ge)?Y(F,1):u(v)?Y(O,2):Y(Q,-1)})}var Ce=x(Xe,2),Qe=C(Ce),Nt=x(Qe,2),ke=C(Nt),Ie=x(ke,2);{var Oe=Y=>{var _e=nX(),We=C(_e);Z(()=>K(We,u(Te).length)),T(Y,_e)};q(Ie,Y=>{!u(xe)&&u(Te).length>0&&Y(Oe)})}var Tt=x(Ie,2),gt=C(Tt),Ee=x(Nt,2);{var At=Y=>{var _e=aX(),We=C(_e);{var Ye=Ve=>{var tt=sX();T(Ve,tt)},bt=Ve=>{var tt=Es(),Zt=wt(tt);mi(Zt,17,()=>u(Mt),oi=>oi.id,(oi,ii)=>{var Wi=rX();let Dn;var Pi=C(Wi),ti=C(Pi),Bi=x(Pi,2);{var A=me=>{var De=oX();T(me,De)};q(Bi,me=>{u(ii).retained&&me(A)})}var W=x(Bi,2),ae=C(W),ce=x(W,2),ue=C(ce);Z((me,De,ft)=>{Dn=Vt(Wi,1,"sr svelte-1vejtrc",null,Dn,{retained:u(ii).retained}),K(ti,me),K(ae,u(ii).topic),Fn(ce,"title",De),K(ue,ft)},[()=>Ln(u(ii).ts),()=>pn(u(ii).val),()=>pn(u(ii).val)]),T(oi,Wi)}),T(Ve,tt)};q(We,Ve=>{u(Mt).length===0?Ve(Ye):Ve(bt,-1)})}T(Y,_e)};q(Ee,Y=>{u(xe)&&Y(At)})}var Qt=x(Ce,2);{var Yt=Y=>{var _e=lX(),We=wt(_e),Ye=x(We,2);let bt;var Ve=C(Ye),tt=x(Ve,2);Z(()=>bt=Bo(Ye,"",bt,{left:`${u(Ze).x??""}px`,top:`${u(Ze).y??""}px`})),ne("click",We,()=>I(Ze,null)),ne("contextmenu",We,Zt=>{Zt.preventDefault(),I(Ze,null)}),ne("click",Ve,()=>{navigator.clipboard.writeText(u(Ze).topic),I(Ze,null)}),ne("click",tt,()=>{const Zt=u(Ze).topic,oi=Zt+"/",ii=[...i.keys()].some(Wi=>Wi.startsWith(oi));I(pt,{topic:Zt,hasChildren:ii,recursive:!1},!0),I(Ze,null)}),T(Y,_e)};q(Qt,Y=>{u(Ze)&&Y(Yt)})}var Ut=x(Qt,2);{var ei=Y=>{var _e=dX(),We=wt(_e),Ye=x(We,2),bt=x(C(Ye),2),Ve=C(bt),tt=x(C(Ve)),Zt=C(tt),oi=x(Ve,2);{var ii=ti=>{var Bi=cX(),A=C(Bi);Us(A,()=>u(pt).recursive,W=>u(pt).recursive=W),T(ti,Bi)};q(oi,ti=>{u(pt).hasChildren&&ti(ii)})}var Wi=x(bt,2),Dn=C(Wi),Pi=x(Dn,2);Z(()=>K(Zt,u(pt).topic)),ne("click",We,()=>I(pt,null)),ne("click",Dn,()=>I(pt,null)),ne("click",Pi,()=>{const{topic:ti,recursive:Bi}=u(pt);I(pt,null),di(ti,Bi)}),T(Y,_e)};q(Ut,Y=>{u(pt)&&Y(ei)})}Z(()=>{_n.disabled=u(Cn)||!u(Ct),K(at,` ${u(kn)??""}`),Bo(Ce,u(xe)?`height: ${u(Pt)}px;`:""),K(gt,u(xe)?"▾":"▸")}),Ii(li,()=>u(Ct),Y=>I(Ct,Y)),Ii(pi,()=>u(kt),Y=>I(kt,Y)),Us(on,()=>u(yi),Y=>I(yi,Y)),ua(en,()=>u(Hi),Y=>I(Hi,Y)),ne("click",_n,xn),Ii(tn,()=>u(v),Y=>I(v,Y)),ne("mousedown",Qe,ai),Ii(ke,()=>u(ct),Y=>I(ct,Y)),ne("click",Tt,()=>{I(xe,!u(xe))}),T(o,Kn),Eo()}_r(["click","contextmenu","mousedown"]);var gX=R('<div class="restart-banner svelte-twakcj">⚠ Package changes require a daemon restart to take effect. Use the ↺ button in the topbar.</div>'),fX=R('<div class="err svelte-twakcj"> </div>'),pX=R('<span class="pane-count pane-count--warn svelte-twakcj"> </span>'),mX=R('<p class="empty svelte-twakcj">No packages installed.</p>'),_X=R('<p class="empty svelte-twakcj">No match.</p>'),vX=R('<span class="dep-latest svelte-twakcj"> </span>'),bX=cT('<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>'),wX=cT('<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>'),yX=R('<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><!></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>'),SX=R('<span class="result-author svelte-twakcj"> </span>'),CX=R('<span class="result-date svelte-twakcj"> </span>'),xX=R('<span class="result-desc svelte-twakcj"> </span>'),LX=R('<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>'),kX=R('<div class="results-list svelte-twakcj"></div>'),IX=R('<pre class="npm-output svelte-twakcj"> </pre>'),DX=R(`<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>`),EX=R('<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>');function PX(o,e){Do(e,!0);let t=U(bi([])),i=U(""),n=U(bi({})),s=U(!1),r=U(""),a=U(bi([])),c=U(!1),h=U(!1),g=U(""),f=U(""),p=bi({});const v=ot(()=>u(i).trim()?u(t).filter(Xe=>Xe.name.toLowerCase().includes(u(i).toLowerCase())):u(t)),_=ot(()=>Object.keys(u(n)).length);vr(async()=>{await Promise.all([y(),S()])});async function y(){try{I(t,await o8(),!0),I(g,"")}catch(Xe){I(g,Xe.message,!0)}}async function S(){try{I(n,await d8(),!0)}catch{}}async function D(){I(s,!0);try{I(n,await h8(),!0)}catch{}finally{I(s,!1)}}async function P(){const Xe=u(r).trim();if(!Xe){I(a,[],!0);return}I(h,!0),I(g,"");try{I(a,await r8(Xe),!0)}catch(Ht){I(g,Ht.message,!0)}finally{I(h,!1)}}function N(Xe){if(!Xe)return"";try{return new Date(Xe).toLocaleDateString(void 0,{year:"numeric",month:"short",day:"numeric"})}catch{return""}}async function j(Xe,Ht){p[Xe]=!0,I(g,""),I(f,"");try{const li=await a8(Xe,Ht);I(f,li.stdout||li.stderr||"Done.",!0),I(c,!0),await y()}catch(li){I(g,li.message,!0)}finally{p[Xe]=!1}}async function H(Xe){p[Xe]=!0,I(g,""),I(f,"");try{const Ht=await l8(Xe);I(f,Ht.stdout||Ht.stderr||"Done.",!0),I(c,!0);const li={...u(n)};delete li[Xe],I(n,li,!0),await y()}catch(Ht){I(g,Ht.message,!0)}finally{p[Xe]=!1}}async function ee(Xe){p[Xe]=!0,I(g,""),I(f,"");try{const Ht=await c8(Xe);I(f,Ht.stdout||Ht.stderr||"Done.",!0),I(c,!0);const li={...u(n)};delete li[Xe],I(n,li,!0),await y()}catch(Ht){I(g,Ht.message,!0)}finally{p[Xe]=!1}}var X=EX(),pe=C(X);{var be=Xe=>{var Ht=gX();T(Xe,Ht)};q(pe,Xe=>{u(c)&&Xe(be)})}var Te=x(pe,2);{var xe=Xe=>{var Ht=fX(),li=C(Ht);Z(()=>K(li,u(g))),T(Xe,Ht)};q(Te,Xe=>{u(g)&&Xe(xe)})}var ct=x(Te,2),Pt=C(ct),dt=C(Pt),ai=x(C(dt),2),Mt=C(ai),Jt=x(ai,2);{var ge=Xe=>{var Ht=pX(),li=C(Ht);Z(()=>K(li,`${u(_)??""} outdated`)),T(Xe,Ht)};q(Jt,Xe=>{u(_)>0&&Xe(ge)})}var rt=x(Jt,2),Ae=C(rt);let Ze;var pt=x(dt,2),di=C(pt),Gt=x(pt,2),Ct=C(Gt);{var kt=Xe=>{var Ht=mX();T(Xe,Ht)},yi=Xe=>{var Ht=_X();T(Xe,Ht)},Hi=Xe=>{var Ht=Es(),li=wt(Ht);mi(li,17,()=>u(v),Bt=>Bt.name,(Bt,pi)=>{var In=yX();let on;var en=C(In),dn=C(en),$n=C(dn),Ei=x(dn,2),_n=C(Ei),Tn=x(Ei,2);{var Zn=at=>{var It=vX(),qt=C(It);Z(()=>K(qt,`→ v${u(n)[u(pi).name].latest??""}`)),T(at,It)};q(Tn,at=>{u(n)[u(pi).name]&&at(Zn)})}var Mn=x(en,2),rn=C(Mn);let Nn;var tn=C(rn);{var Se=at=>{var It=bX();T(at,It)},G=at=>{var It=wX();T(at,It)};q(tn,at=>{p[u(pi).name]?at(Se):at(G,-1)})}var Le=x(rn,2);Z(()=>{on=Vt(In,1,"dep-row svelte-twakcj",null,on,{"dep-busy":!!p[u(pi).name]}),Fn(dn,"href",u(pi).url??`https://www.npmjs.com/package/${u(pi).name}`),K($n,u(pi).name),K(_n,u(pi).installedVersion??u(pi).version),Nn=Vt(rn,1,"icon-btn svelte-twakcj",null,Nn,{"icon-btn--update":!!u(n)[u(pi).name]}),rn.disabled=!!p[u(pi).name],Fn(rn,"title",u(n)[u(pi).name]?`Update to v${u(n)[u(pi).name].latest}`:"Update to latest"),Le.disabled=!!p[u(pi).name]}),ne("click",rn,()=>ee(u(pi).name)),ne("click",Le,()=>H(u(pi).name)),T(Bt,In)}),T(Xe,Ht)};q(Ct,Xe=>{u(t).length===0?Xe(kt):u(v).length===0?Xe(yi,1):Xe(Hi,-1)})}var Cn=x(Pt,2),Qi=x(C(Cn),2),Mi=C(Qi),xn=x(Mi,2),pn=C(xn),Vn=x(Qi,2);{var Ln=Xe=>{var Ht=kX();mi(Ht,21,()=>u(a),li=>li.name,(li,Bt)=>{var pi=LX(),In=C(pi),on=C(In),en=C(on),dn=x(on,2),$n=C(dn),Ei=x(dn,2);{var _n=Se=>{var G=SX(),Le=C(G);Z(()=>K(Le,u(Bt).author)),T(Se,G)};q(Ei,Se=>{u(Bt).author&&Se(_n)})}var Tn=x(Ei,2);{var Zn=Se=>{var G=CX(),Le=C(G);Z(at=>{Fn(G,"title",u(Bt).date),K(Le,at)},[()=>N(u(Bt).date)]),T(Se,G)};q(Tn,Se=>{u(Bt).date&&Se(Zn)})}var Mn=x(Tn,2);{var rn=Se=>{var G=xX(),Le=C(G);Z(()=>K(Le,u(Bt).description)),T(Se,G)};q(Mn,Se=>{u(Bt).description&&Se(rn)})}var Nn=x(In,2),tn=C(Nn);Z(()=>{Fn(on,"href",u(Bt).url??`https://www.npmjs.com/package/${u(Bt).name}`),K(en,u(Bt).name),K($n,u(Bt).version),Nn.disabled=!!p[u(Bt).name],K(tn,p[u(Bt).name]?"Installing…":"Install")}),ne("click",Nn,()=>j(u(Bt).name)),T(li,pi)}),T(Xe,Ht)};q(Vn,Xe=>{u(a).length>0&&Xe(Ln)})}var mn=x(Vn,2);{var Bn=Xe=>{var Ht=IX(),li=C(Ht);Z(()=>K(li,u(f))),T(Xe,Ht)};q(mn,Xe=>{u(f)&&Xe(Bn)})}var kn=x(mn,2);{var Kn=Xe=>{var Ht=DX();T(Xe,Ht)};q(kn,Xe=>{!u(a).length&&!u(f)&&Xe(Kn)})}Z(()=>{K(Mt,u(t).length),rt.disabled=u(s),Ze=Vt(Ae,0,"svelte-twakcj",null,Ze,{spinning:u(s)}),xn.disabled=u(h),K(pn,u(h)?"Searching…":"Search")}),ne("click",rt,D),Ii(di,()=>u(i),Xe=>I(i,Xe)),ne("keydown",Mi,Xe=>Xe.key==="Enter"&&P()),Ii(Mi,()=>u(r),Xe=>I(r,Xe)),ne("click",xn,P),T(o,X),Eo()}_r(["click","keydown"]);var TX=R('<span class="update-dot svelte-1n46o8q" title="Update available"></span>'),MX=R('<dt class="svelte-1n46o8q">Latest</dt><dd style="color: #f90" class="svelte-1n46o8q"> </dd>',1),NX=R('<dt class="svelte-1n46o8q">Latest</dt><dd class="svelte-1n46o8q">up to date</dd>',1),RX=R('<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"><polyline points="4 4 4 10 10 10"></polyline><path d="M4 10A9 9 0 1 0 6.5 5"></path></svg> </button>'),AX=R('<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"></polyline><path d="M4 10A9 9 0 1 0 6.5 5"></path></svg> </button></div></div>'),OX=R('<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),FX=R('<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),HX=R('<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>'),WX=R('<span class="stats-empty svelte-1n46o8q">Loading…</span>'),BX=R('<div class="stats-popup svelte-1n46o8q"><!> <div class="stats-actions svelte-1n46o8q"><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"><path d="M18.36 6.64a9 9 0 1 1-12.73 0"></path><line x1="12" y1="2" x2="12" y2="12"></line></svg> Restart daemon</button></div></div>'),zX=R('<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"><path d="M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4"></path><polyline points="16 17 21 12 16 7"></polyline><line x1="21" y1="12" x2="9" y2="12"></line></svg></button>'),VX=R('<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"><polyline points="5,3 1,8 5,13"></polyline><polyline points="11,3 15,8 11,13"></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"><rect x="0.75" y="0.75" width="14.5" height="14.5" rx="1"></rect><path d="M2,11 V5 H5 V11"></path><path d="M6,12 V5 H9 V8 H6"></path><path d="M10,11 V5 H15 V11"></path><line x1="12.5" y1="5" x2="12.5" y2="11"></line></svg> Packages</button> <button><svg width="14" height="14" viewBox="0 0 16 16" fill="currentColor" stroke="none" style="vertical-align: middle"><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"></path></svg> MQTT</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"><path d="M8,2 L8,7"></path><path d="M6,5 L8,7.5 L10,5"></path><path d="M2.5,14 L6,10"></path><path d="M6.2,12.8 L6,10 L3.2,10.2"></path><path d="M13.5,14 L10,10"></path><path d="M9.8,12.8 L10,10 L12.8,10.2"></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"><ellipse cx="8" cy="4.5" rx="5" ry="1.8"></ellipse><path d="M3,4.5 v7 a5,1.8 0,0,0 10,0 v-7"></path><path d="M3,8 a5,1.8 0,0,0 10,0"></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"><line x1="2" y1="5" x2="14" y2="5"></line><line x1="2" y1="8" x2="14" y2="8"></line><line x1="2" y1="11" x2="9" y2="11"></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"><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"></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"><line x1="18" y1="20" x2="18" y2="10"></line><line x1="12" y1="20" x2="12" y2="4"></line><line x1="6" y1="20" x2="6" y2="14"></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"><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"></path><circle cx="12" cy="12" r="3"></circle></svg></button> <!></div></nav> <main class="svelte-1n46o8q"><!> <div><!></div> <div><!></div> <div><!></div> <div><!></div> <div><!></div> <div><!></div> <div><!></div></main></div>'),jX=R('<div class="login-error svelte-1n46o8q"> </div>'),UX=R('<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>'),$X=R('<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"></polyline><path d="M4 10A9 9 0 1 0 6.5 5"></path></svg> Restarting smart-home-engine…</div></div>'),qX=R('<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"></polyline><path d="M4 10A9 9 0 1 0 6.5 5"></path></svg> Updating smart-home-engine…</div></div>'),KX=R("<!> <!> <!> <!>",1);function GX(o,e){Do(e,!0);const t=["scripts","mqtt","matter","db","logs","config","packages"];function i(){const ge=location.hash.slice(1);return t.includes(ge)?ge:"scripts"}let n=U(bi(i())),s=U(null),r=U(!1),a=U(!1),c=U(!1),h=U(!1),g=U("none"),f=U(""),p=U(!1),v=U(""),_=U(""),y=U(!1),S=U(!1);B7(()=>{I(p,!0)});async function D(){I(_,""),I(y,!0);try{await j7(u(v)),I(v,""),I(p,!1)}catch(ge){I(_,ge.message??"Login failed",!0)}finally{I(y,!1)}}async function P(){if(u(g)==="proxy"&&u(f)){window.location.href=u(f);return}await U7(),I(p,!0)}let N=U(null),j=U(!1);async function H(){if(!await u(N).show("Restart the she daemon? The page will reload after a moment.",{confirm:"Restart"}))return;I(j,!0);try{await Z7()}catch{}let ge=!1;const rt=Date.now()+6e4;for(;Date.now()<rt;){await new Promise(Ae=>setTimeout(Ae,1e3));try{if(await v_(),ge){location.reload();return}}catch{ge=!0}}location.reload()}async function ee(){I(c,!0);try{const ge=await Y7();u(s)&&I(s,{...u(s),latestVersion:ge.latestVersion??void 0},!0)}catch{}finally{I(c,!1)}}async function X(){var Ae;if(!await u(N).show(`Update to v${(Ae=u(s))==null?void 0:Ae.latestVersion}? The daemon will restart after the update completes.`,{confirm:"Update"}))return;I(a,!1),I(h,!0);try{await X7()}catch{}let ge=!1;const rt=Date.now()+18e4;for(;Date.now()<rt;){await new Promise(Ze=>setTimeout(Ze,2e3));try{if(await v_(),ge){location.reload();return}}catch{ge=!0}}location.reload()}function pe(ge){I(n,ge,!0),location.hash=ge}vr(async()=>{location.hash||(location.hash=u(n));const ge=()=>{I(n,i(),!0)};window.addEventListener("hashchange",ge);try{const Ze=await V7();I(g,Ze.mode,!0),I(f,Ze.proxyLogoutUrl??"",!0),u(g)==="password"&&(await fetch("/she/scripts")).status===401&&I(p,!0)}catch{}I(S,!0);async function rt(){try{I(s,await v_(),!0)}catch{}}rt();const Ae=setInterval(rt,5e3);return()=>{window.removeEventListener("hashchange",ge),clearInterval(Ae)}});var be=KX();es("click",VP,()=>{u(r)&&I(r,!1),u(a)&&I(a,!1)});var Te=wt(be);{var xe=ge=>{var rt=VX(),Ae=C(rt),Ze=x(C(Ae),2);let pt;var di=x(Ze,2);let Gt;var Ct=x(di,2);let kt;var yi=x(Ct,2);let Hi;var Cn=x(yi,2);let Qi;var Mi=x(Cn,2);let xn;var pn=x(Mi,4),Vn=x(C(pn),2),Ln=C(Vn),mn=C(Ln);mn.nodeValue="v0.24.6 ";var Bn=x(mn);{var kn=Oe=>{var Tt=TX();T(Oe,Tt)};q(Bn,Oe=>{var Tt;(Tt=u(s))!=null&&Tt.latestVersion&&Oe(kn)})}var Kn=x(Ln,2);{var Xe=Oe=>{var Tt=AX(),gt=C(Tt),Ee=x(C(gt));Ee.textContent="v0.24.6";var At=x(Ee,2);{var Qt=Ve=>{var tt=MX(),Zt=x(wt(tt)),oi=C(Zt);Z(()=>K(oi,`v${u(s).latestVersion??""}`)),T(Ve,tt)},Yt=Ve=>{var tt=NX();T(Ve,tt)};q(At,Ve=>{var tt;(tt=u(s))!=null&&tt.latestVersion?Ve(Qt):Ve(Yt,-1)})}var Ut=x(gt,2),ei=C(Ut);{var Y=Ve=>{var tt=RX(),Zt=x(C(tt));Z(()=>K(Zt,` Update to v${u(s).latestVersion??""}`)),ne("click",tt,X),T(Ve,tt)};q(ei,Ve=>{var tt;(tt=u(s))!=null&&tt.latestVersion&&Ve(Y)})}var _e=x(ei,2),We=C(_e);let Ye;var bt=x(We);Z(()=>{_e.disabled=u(c),Ye=Vt(We,0,"svelte-1n46o8q",null,Ye,{spinning:u(c)}),K(bt,` ${u(c)?"Checking…":"Check for updates"}`)}),ne("click",Tt,Ve=>Ve.stopPropagation()),ne("click",_e,ee),T(Oe,Tt)};q(Kn,Oe=>{u(a)&&Oe(Xe)})}var Ht=x(Vn,2),li=C(Ht),Bt=x(li,2);{var pi=Oe=>{var Tt=BX(),gt=C(Tt);{var Ee=Ut=>{var ei=HX(),Y=x(C(ei)),_e=C(Y),We=x(Y,3),Ye=C(We),bt=x(We,3),Ve=C(bt),tt=x(bt,2);{var Zt=W=>{var ae=OX(),ce=x(wt(ae)),ue=C(ce),me=x(ce,3),De=C(me);Z(()=>{K(ue,u(s).matterNodes??0),K(De,u(s).matterEndpoints??0)}),T(W,ae)};q(tt,W=>{u(s).matterEnabled&&W(Zt)})}var oi=x(tt,2);{var ii=W=>{var ae=FX(),ce=x(wt(ae)),ue=C(ce),me=x(ce,3),De=C(me);Z(()=>{K(ue,u(s).dbDocs??"—"),K(De,u(s).dbViews??"—")}),T(W,ae)};q(oi,W=>{u(s).dbEnabled&&W(ii)})}var Wi=x(oi,3),Dn=C(Wi),Pi=x(Wi,3),ti=C(Pi),Bi=x(Pi,3),A=C(Bi);Z(()=>{K(_e,u(s).scripts),K(Ye,u(s).topics),K(Ve,u(s).mqttMsgPerSec??"—"),K(Dn,u(s).handlers??"—"),K(ti,u(s).memMb!=null?u(s).memMb+" MB":"—"),K(A,u(s).cpuPercent!=null?u(s).cpuPercent+" %":"—")}),T(Ut,ei)},At=Ut=>{var ei=WX();T(Ut,ei)};q(gt,Ut=>{u(s)?Ut(Ee):Ut(At,-1)})}var Qt=x(gt,2),Yt=C(Qt);ne("click",Tt,Ut=>Ut.stopPropagation()),ne("click",Yt,()=>{I(r,!1),H()}),T(Oe,Tt)};q(Bt,Oe=>{u(r)&&Oe(pi)})}var In=x(Ht,2);let on;var en=x(In,2);{var dn=Oe=>{var Tt=zX();ne("click",Tt,P),T(Oe,Tt)};q(en,Oe=>{u(g)==="password"&&Oe(dn)})}var $n=x(Ae,2),Ei=C($n);xs(om(Ei,{}),Oe=>I(N,Oe,!0),()=>u(N));var _n=x(Ei,2);let Tn;var Zn=C(_n);{let Oe=ot(()=>u(n)==="scripts");sG(Zn,{get active(){return u(Oe)}})}var Mn=x(_n,2);let rn;var Nn=C(Mn);PX(Nn,{});var tn=x(Mn,2);let Se;var G=C(tn);uX(G,{});var Le=x(tn,2);let at;var It=C(Le);zZ(It,{});var qt=x(Le,2);let F;var O=C(qt);Y9(O,{});var Q=x(qt,2);let Ce;var Qe=C(Q);jG(Qe,{});var Nt=x(Q,2);let ke;var Ie=C(Nt);KG(Ie,{}),Z(()=>{pt=Vt(Ze,1,"svelte-1n46o8q",null,pt,{active:u(n)==="scripts"}),Gt=Vt(di,1,"svelte-1n46o8q",null,Gt,{active:u(n)==="packages"}),kt=Vt(Ct,1,"svelte-1n46o8q",null,kt,{active:u(n)==="mqtt"}),Hi=Vt(yi,1,"svelte-1n46o8q",null,Hi,{active:u(n)==="matter"}),Qi=Vt(Cn,1,"svelte-1n46o8q",null,Qi,{active:u(n)==="db"}),xn=Vt(Mi,1,"svelte-1n46o8q",null,xn,{active:u(n)==="logs"}),on=Vt(In,1,"nav-settings svelte-1n46o8q",null,on,{active:u(n)==="config"}),Tn=Vt(_n,1,"page-wrap svelte-1n46o8q",null,Tn,{hidden:u(n)!=="scripts"}),rn=Vt(Mn,1,"page-wrap svelte-1n46o8q",null,rn,{hidden:u(n)!=="packages"}),Se=Vt(tn,1,"page-wrap svelte-1n46o8q",null,Se,{hidden:u(n)!=="mqtt"}),at=Vt(Le,1,"page-wrap svelte-1n46o8q",null,at,{hidden:u(n)!=="matter"}),F=Vt(qt,1,"page-wrap svelte-1n46o8q",null,F,{hidden:u(n)!=="db"}),Ce=Vt(Q,1,"page-wrap svelte-1n46o8q",null,Ce,{hidden:u(n)!=="config"}),ke=Vt(Nt,1,"page-wrap svelte-1n46o8q",null,ke,{hidden:u(n)!=="logs"})}),ne("click",Ze,()=>pe("scripts")),ne("click",di,()=>pe("packages")),ne("click",Ct,()=>pe("mqtt")),ne("click",yi,()=>pe("matter")),ne("click",Cn,()=>pe("db")),ne("click",Mi,()=>pe("logs")),ne("click",Ln,Oe=>{Oe.stopPropagation(),I(a,!u(a)),I(r,!1)}),ne("click",li,Oe=>{Oe.stopPropagation(),I(r,!u(r)),I(a,!1)}),ne("click",In,()=>pe("config")),T(ge,rt)};q(Te,ge=>{u(S)&&!u(p)&&ge(xe)})}var ct=x(Te,2);{var Pt=ge=>{var rt=UX(),Ae=C(rt),Ze=x(C(Ae),4),pt=x(C(Ze),2),di=x(Ze,2);{var Gt=yi=>{var Hi=jX(),Cn=C(Hi);Z(()=>K(Cn,u(_))),T(yi,Hi)};q(di,yi=>{u(_)&&yi(Gt)})}var Ct=x(di,2),kt=C(Ct);Z(()=>{pt.disabled=u(y),Ct.disabled=u(y)||!u(v),K(kt,u(y)?"Signing in…":"Sign in")}),es("submit",Ae,yi=>{yi.preventDefault(),D()}),Ii(pt,()=>u(v),yi=>I(v,yi)),T(ge,rt)};q(ct,ge=>{u(p)&&ge(Pt)})}var dt=x(ct,2);{var ai=ge=>{var rt=$X();T(ge,rt)};q(dt,ge=>{u(j)&&ge(ai)})}var Mt=x(dt,2);{var Jt=ge=>{var rt=qX();T(ge,rt)};q(Mt,ge=>{u(h)&&ge(Jt)})}T(o,be),Eo()}_r(["click"]);aW(GX,{target:document.getElementById("app")});export{ST as t};