smart-home-engine 0.24.4 → 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.
@@ -0,0 +1,225 @@
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-eufH7H9R.js"])))=>i.map(i=>d[i]);
2
+ var oA=Object.defineProperty;var TL=o=>{throw TypeError(o)};var rA=(o,e,t)=>e in o?oA(o,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):o[e]=t;var Ai=(o,e,t)=>rA(o,typeof e!="symbol"?e+"":e,t),Vw=(o,e,t)=>e.has(o)||TL("Cannot "+t);var ee=(o,e,t)=>(Vw(o,e,"read from private field"),t?t.call(o):e.get(o)),Ii=(o,e,t)=>e.has(o)?TL("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(o):e.set(o,t),Di=(o,e,t,i)=>(Vw(o,e,"write to private field"),i?i.call(o,t):e.set(o,t),t),wn=(o,e,t)=>(Vw(o,e,"access private method"),t);import{_ as qD,m as KD,l as St,A as Ys,C as ae,I as Cn,D as Ep,a as Qn,g as GD,M as rt,b as Zt,E as Wr,c as M,r as Ji,d as ur,e as w,f as aA,h as mn,R as Pi,S as Ut,i as Ns,j as gr,k as Fi,n as _i,o as ne,p as we,K as is,q as mt,s as je,t as ls,u as B,v as Li,O as ba,w as os,P as xt,x as jw,y as Pp,z as ZD,B as Ya,F as Br,G as Vy,H as _s,U as on,J as Vu,L as Lt,N as nl,Q as lA,T as qs,V as jy,W as cA,X as XD,$ as pt,Y as qi,Z as Oi,a0 as Hn,a1 as li,a2 as Eo,a3 as Af,a4 as Be,a5 as Gm,a6 as dA,a7 as hA,a8 as as,a9 as uA,aa as zr,ab as Js,ac as Et,ad as YD,ae as yn,af as gA,ag as fA,ah as Gs,ai as bg,aj as ns,ak as Ab,al as zs,am as xc,an as f0,ao as Ob,ap as fs,aq as ju,ar as ps,as as Fb,at as Hb,au as pA,av as Tp,aw as wg,ax as gl,ay as mA,az as yg,aA as _A,aB as p0,aC as vA,aD as bA,aE as ML,aF as Jn,aG as Ja,aH as Vs,aI as gi,aJ as Ka,aK as wA,aL as Ca,aM as ko,aN as us,aO as Vr,aP as m0,aQ as cs,aR as Xn,aS as w_,aT as ui,aU as JD,aV as yA,aW as _0,aX as Wb,aY as v0,aZ as b0,a_ as Qc,a$ as SA,b0 as w0,b1 as CA,b2 as y0,b3 as fl,b4 as pl,b5 as Uu,b6 as Of,b7 as ho,b8 as Mp,b9 as y_,ba as Uw,bb as dn,bc as S0,bd as Np,be as Bb,bf as xA,bg as QD,bh as Ff,bi as $u,bj as Hf,bk as Rp,bl as zb,bm as Wi,bn as Lc,bo as Ap,bp as LA,bq as kA,br as C0,bs as IA,bt as S_,bu as qo,bv as x0,bw as qu,bx as ml,by as Sg,bz as xi,bA as Ku,bB as eE,bC as Op,bD as DA,bE as ed,bF as lt,bG as NL,bH as Zm,bI as tE,bJ as mr,bK as Rr,bL as gn,bM as Gu,bN as rr,bO as Zu,bP as Fn,bQ as Wf,bR as mh,bS as Uy,bT as iE,bU as nE,bV as sE,bW as L0,bX as so,bY as Xi,bZ as Fp,b_ as oE,b$ as Qa,c0 as Vb,c1 as EA,c2 as tu,c3 as RL,c4 as Hp,c5 as rE,c6 as iu,c7 as PA,c8 as Qo,c9 as jb,ca as TA,cb as Qs,cc as jr,cd as Wp,ce as Bf,cf as aE,cg as Vo,ch as Bp,ci as Ub,cj as MA,ck as NA,cl as RA,cm as Cg,cn as xa,co as gs,cp as AA,cq as k0,cr as OA,cs as FA,ct as AL,cu as HA,cv as zp,cw as sl,cx as $y,cy as Yd,cz as ol,cA as WA,cB as wa,cC as ar,cD as Co,cE as OL,cF as As,cG as Vp,cH as pc,cI as La,cJ as BA,cK as Ur,cL as zf,cM as $b,cN as lE,cO as zA,cP as VA,cQ as I0,cR as jA,cS as Vf,cT as UA,cU as zl,cV as jf,cW as FL,cX as $A,cY as qA,cZ as Da,c_ as KA,c$ as D0,d0 as cE,d1 as dE,d2 as hE,d3 as uE,d4 as GA,d5 as ZA,d6 as gE,d7 as fE,d8 as XA,d9 as E0,da as YA,db as JA,dc as zn,dd as QA,de as P0,df as eO,dg as nu,dh as HL,di as tO,dj as iO,dk as nO,dl as sO,dm as oO,dn as rO,dp as Xu,dq as qb,dr as qy,ds as aO,dt as lO,du as WL,dv as Ky,dw as cO,dx as BL,dy as $w,dz as dO,dA as pE,dB as hO,dC as mE,dD as Gy,dE as uO,dF as gO,dG as fO,dH as _E,dI as vE,dJ as pO,dK as C_,dL as bE,dM as Kb,dN as mO,dO as _O,dP as mc,dQ as T0,dR as vO,dS as zL,dT as VL,dU as bO,dV as su,dW as wE,dX as wO,dY as yO,dZ as SO,d_ as CO,d$ as yE,e0 as SE,e1 as CE,e2 as xE,e3 as xO,e4 as ya,e5 as jL,e6 as LO,e7 as jp,e8 as kO,e9 as Xg,ea as LE,eb as UL,ec as Uf,ed as kE,ee as x_,ef as IO,eg as IE,eh as DO,ei as DE,ej as EO,ek as PO,el as EE,em as PE,en as rl,eo as Gb,ep as TO,eq as TE,er as Io,es as td,et as ME,eu as MO,ev as NO,ew as NE,ex as RE,ey as RO,ez as AE,eA as OE,eB as $f,eC as AO,eD as OO,eE as FO,eF as HO,eG as Wg,eH as $L,eI as WO,eJ as BO,eK as zO,eL as L_,eM as Ss,eN as VO,eO as Zy,eP as _h,eQ as jO,eR as qa,eS as UO,eT as $O,eU as FE,eV as qO,eW as pf,eX as KO,eY as GO,eZ as ZO,e_ as XO,e$ as qL,f0 as KL,f1 as GL,f2 as vh,f3 as M0,f4 as HE,f5 as Xy,f6 as Xm,f7 as WE,f8 as k_,f9 as YO,fa as JO,fb as QO,fc as e2,fd as N0,fe as BE,ff as t2,fg as I_,fh as zE,fi as VE,fj as i2,fk as n2,fl as s2,fm as o2,fn as r2,fo as a2,fp as l2,fq as c2,fr as jE,fs as d2,ft as D_,fu as UE,fv as h2,fw as $E,fx as u2,fy as qE,fz as KE,fA as g2,fB as ZL,fC as GE,fD as XL,fE as f2,fF as qw,fG as YL,fH as p2,fI as m2,fJ as _2,fK as ha,fL as _c,fM as v2,fN as JL,fO as Ym,fP as b2,fQ as Ga,fR as Zb,fS as Yy,fT as w2,fU as ZE,fV as XE,fW as Os,fX as QL,fY as vm,fZ as R0,f_ as y2,f$ as S2,g0 as C2,g1 as x2,g2 as L2,g3 as k2,g4 as I2,g5 as D2,g6 as ek,g7 as E2,g8 as P2,g9 as T2,ga as Yu,gb as mf,gc as YE,gd as M2,ge as A0,gf as Jm,gg as bm,gh as Kw,gi as N2,gj as R2,gk as JE,gl as A2,gm as O0,gn as O2,go as F2,gp as QE,gq as Xb,gr as H2,gs as E_,gt as F0,gu as H0,gv as W0,gw as eP,gx as tP,gy as iP,gz as nP,gA as sP,gB as oP,gC as rP,gD as tk,gE as aP,gF as Nh,gG as W2,gH as B2,gI as z2,gJ as V2,gK as lP,gL as j2,gM as U2,gN as ik,gO as Jy,gP as Zl,gQ as $2,gR as q2,gS as K2,gT as G2,gU as Z2,gV as X2,gW as nk,gX as B0,gY as Qy,gZ as Y2,g_ as eS,g$ as J2,h0 as Q2,h1 as eF,h2 as tF,h3 as z0,h4 as cP,h5 as sk,h6 as ok,h7 as iF,h8 as nF,h9 as sF,ha as rk,hb as Gw,hc as oF,hd as rF,he as aF,hf as Zw,hg as dP,hh as hP,hi as uP,hj as gP,hk as al,hl as fP,hm as V0,hn as ak,ho as lF,hp as pP,hq as cF,hr as dF,hs as Yb,ht as Jb,hu as bh,hv as Qb,hw as Up,hx as hF,hy as ew,hz as uF,hA as gF,hB as fF,hC as mP,hD as Bg,hE as pF,hF as mF,hG as _F,hH as vF,hI as $p,hJ as bF,hK as _P,hL as vP,hM as bP,hN as tS,hO as wF,hP as yF,hQ as SF,hR as CF,hS as xF,hT as iS,hU as LF,hV as kF,hW as IF,hX as DF,hY as EF,hZ as PF,h_ as TF,h$ as MF,i0 as wP,i1 as NF,i2 as RF,i3 as AF,i4 as lk,i5 as OF,i6 as FF,i7 as Wc,i8 as Ha,i9 as HF,ia as WF}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 yP=!1;var j0=Array.isArray,BF=Array.prototype.indexOf,P_=Array.prototype.includes,tw=Array.from,zF=Object.defineProperty,bu=Object.getOwnPropertyDescriptor,VF=Object.getOwnPropertyDescriptors,jF=Object.prototype,UF=Array.prototype,SP=Object.getPrototypeOf,ck=Object.isExtensible;const iw=()=>{};function $F(o){for(var e=0;e<o.length;e++)o[e]()}function CP(){var o,e,t=new Promise((i,n)=>{o=i,e=n});return{promise:t,resolve:o,reject:e}}function qF(o,e,t=!1){return o===void 0?t?e():e:o}function dk(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 Ws=2,Ju=4,nw=8,xP=1<<24,Ar=16,Hr=32,vc=64,nS=128,dr=512,Cs=1024,Es=2048,ka=4096,ro=8192,hr=16384,xg=32768,sS=1<<25,Qu=65536,T_=1<<17,KF=1<<18,Lg=1<<19,GF=1<<20,ma=1<<25,Jd=65536,M_=1<<21,wu=1<<22,Xl=1<<23,id=Symbol("$state"),ZF=Symbol("legacy props"),XF=Symbol(""),Qm=Symbol("attributes"),oS=Symbol("class"),rS=Symbol("style"),Yg=Symbol("text"),e_=Symbol("form reset"),sw=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 LP(o){throw new Error("https://svelte.dev/e/lifecycle_outside_component")}function YF(){throw new Error("https://svelte.dev/e/async_derived_orphan")}function JF(o,e,t){throw new Error("https://svelte.dev/e/each_key_duplicate")}function QF(o){throw new Error("https://svelte.dev/e/effect_in_teardown")}function eH(){throw new Error("https://svelte.dev/e/effect_in_unowned_derived")}function tH(o){throw new Error("https://svelte.dev/e/effect_orphan")}function iH(){throw new Error("https://svelte.dev/e/effect_update_depth_exceeded")}function nH(o){throw new Error("https://svelte.dev/e/props_invalid_value")}function sH(){throw new Error("https://svelte.dev/e/state_descriptors_fixed")}function oH(){throw new Error("https://svelte.dev/e/state_prototype_fixed")}function rH(){throw new Error("https://svelte.dev/e/state_unsafe_mutation")}function aH(){throw new Error("https://svelte.dev/e/svelte_boundary_reset_onerror")}const lH=1,cH=2,kP=4,dH=8,hH=16,uH=1,gH=4,fH=8,pH=16,mH=1,_H=2,ys=Symbol("uninitialized"),IP="http://www.w3.org/1999/xhtml",vH="http://www.w3.org/2000/svg",bH="http://www.w3.org/1998/Math/MathML";function wH(){console.warn("https://svelte.dev/e/derived_inert")}function yH(){console.warn("https://svelte.dev/e/select_multiple_invalid_value")}function SH(){console.warn("https://svelte.dev/e/svelte_boundary_reset_noop")}function DP(o){return o===this.v}function CH(o,e){return o!=o?e==e:o!==e||o!==null&&typeof o=="object"||typeof o=="function"}function EP(o){return!CH(o,this.v)}let xH=!1,Hs=null;function eg(o){Hs=o}function To(o,e=!1,t){Hs={p:Hs,i:!1,c:null,e:null,s:o,x:null,r:Yi,l:null}}function Mo(o){var e=Hs,t=e.e;if(t!==null){e.e=null;for(var i of t)YP(i)}return o!==void 0&&(e.x=o),e.i=!0,Hs=e.p,o??{}}function PP(){return!0}let Uc=[];function TP(){var o=Uc;Uc=[],$F(o)}function Yl(o){if(Uc.length===0&&!vf){var e=Uc;queueMicrotask(()=>{e===Uc&&TP()})}Uc.push(o)}function LH(){for(;Uc.length>0;)TP()}function MP(o){var e=Yi;if(e===null)return Zi.f|=Xl,o;if((e.f&xg)===0&&(e.f&Ju)===0)throw o;Vl(o,e)}function Vl(o,e){for(;e!==null;){if((e.f&nS)!==0){if((e.f&xg)===0)throw o;try{e.b.error(o);return}catch(t){o=t}}e=e.parent}throw o}const kH=-7169;function ds(o,e){o.f=o.f&kH|e}function U0(o){(o.f&dr)!==0||o.deps===null?ds(o,Cs):ds(o,ka)}function NP(o){if(o!==null)for(const e of o)(e.f&Ws)===0||(e.f&Jd)===0||(e.f^=Jd,NP(e.deps))}function RP(o,e,t){(o.f&Es)!==0?e.add(o):(o.f&ka)!==0&&t.add(o),NP(o.deps),ds(o,Cs)}let wm=!1;function IH(o){var e=wm;try{return wm=!1,[o(),wm]}finally{wm=e}}let Xw=null,Rh=null,di=null,_f=null,Rs=null,aS=null,vf=!1,Yw=!1,ou=null,t_=null;var hk=0;let DH=1;var xu,Hl,Gc,Lu,ku,Iu,Va,Du,wo,Cp,ja,Lr,aa,Eu,Zc,Vn,lS,Jg,cS,AP,OP,Zh,EH,Qg;const Vv=class Vv{constructor(){Ii(this,Vn);Ai(this,"id",DH++);Ii(this,xu,!1);Ai(this,"linked",!0);Ii(this,Hl,null);Ii(this,Gc,null);Ai(this,"async_deriveds",new Map);Ai(this,"current",new Map);Ai(this,"previous",new Map);Ii(this,Lu,new Set);Ii(this,ku,new Set);Ii(this,Iu,0);Ii(this,Va,new Map);Ii(this,Du,null);Ii(this,wo,[]);Ii(this,Cp,[]);Ii(this,ja,new Set);Ii(this,Lr,new Set);Ii(this,aa,new Map);Ii(this,Eu,new Set);Ai(this,"is_fork",!1);Ii(this,Zc,!1);Rh===null?Xw=Rh=this:(Di(Rh,Gc,this),Di(this,Hl,Rh)),Rh=this}skip_effect(e){ee(this,aa).has(e)||ee(this,aa).set(e,{d:[],m:[]}),ee(this,Eu).delete(e)}unskip_effect(e,t=i=>this.schedule(i)){var i=ee(this,aa).get(e);if(i){ee(this,aa).delete(e);for(var n of i.d)ds(n,Es),t(n);for(n of i.m)ds(n,ka),t(n)}ee(this,Eu).add(e)}capture(e,t,i=!1){e.v!==ys&&!this.previous.has(e)&&this.previous.set(e,e.v),(e.f&Xl)===0&&(this.current.set(e,[t,i]),Rs==null||Rs.set(e,t)),this.is_fork||(e.v=t)}activate(){di=this}deactivate(){di=null,Rs=null}flush(){try{Yw=!0,di=this,wn(this,Vn,Jg).call(this)}finally{hk=0,aS=null,ou=null,t_=null,Yw=!1,di=null,Rs=null,nd.clear()}}discard(){var e;for(const t of ee(this,ku))t(this);ee(this,ku).clear(),wn(this,Vn,Qg).call(this),(e=ee(this,Du))==null||e.resolve()}register_created_effect(e){ee(this,Cp).push(e)}increment(e,t){if(Di(this,Iu,ee(this,Iu)+1),e){let i=ee(this,Va).get(t)??0;ee(this,Va).set(t,i+1)}}decrement(e,t){if(Di(this,Iu,ee(this,Iu)-1),e){let i=ee(this,Va).get(t)??0;i===1?ee(this,Va).delete(t):ee(this,Va).set(t,i-1)}ee(this,Zc)||(Di(this,Zc,!0),Yl(()=>{Di(this,Zc,!1),this.linked&&this.flush()}))}transfer_effects(e,t){for(const i of e)ee(this,ja).add(i);for(const i of t)ee(this,Lr).add(i);e.clear(),t.clear()}oncommit(e){ee(this,Lu).add(e)}ondiscard(e){ee(this,ku).add(e)}settled(){return(ee(this,Du)??Di(this,Du,CP())).promise}static ensure(){if(di===null){const e=di=new Vv;!Yw&&!vf&&Yl(()=>{ee(e,xu)||e.flush()})}return di}apply(){{Rs=null;return}}schedule(e){var n;if(aS=e,(n=e.b)!=null&&n.is_pending&&(e.f&(Ju|nw|xP))!==0&&(e.f&xg)===0){e.b.defer_effect(e);return}for(var t=e;t.parent!==null;){t=t.parent;var i=t.f;if(ou!==null&&t===Yi&&(Zi===null||(Zi.f&Ws)===0))return;if((i&(vc|Hr))!==0){if((i&Cs)===0)return;t.f^=Cs}}ee(this,wo).push(t)}};xu=new WeakMap,Hl=new WeakMap,Gc=new WeakMap,Lu=new WeakMap,ku=new WeakMap,Iu=new WeakMap,Va=new WeakMap,Du=new WeakMap,wo=new WeakMap,Cp=new WeakMap,ja=new WeakMap,Lr=new WeakMap,aa=new WeakMap,Eu=new WeakMap,Zc=new WeakMap,Vn=new WeakSet,lS=function(){if(this.is_fork)return!0;for(const i of ee(this,Va).keys()){for(var e=i,t=!1;e.parent!==null;){if(ee(this,aa).has(e)){t=!0;break}e=e.parent}if(!t)return!0}return!1},Jg=function(){var c,h,g,f;Di(this,xu,!0),hk++>1e3&&(wn(this,Vn,Qg).call(this),TH());for(const p of ee(this,ja))ee(this,Lr).delete(p),ds(p,Es),this.schedule(p);for(const p of ee(this,Lr))ds(p,ka),this.schedule(p);const e=ee(this,wo);Di(this,wo,[]),this.apply();var t=ou=[],i=[],n=t_=[];for(const p of e)try{wn(this,Vn,cS).call(this,p,t,i)}catch(v){throw WP(p),wn(this,Vn,lS).call(this)||this.discard(),v}if(di=null,n.length>0){var s=Vv.ensure();for(const p of n)s.schedule(p)}if(ou=null,t_=null,wn(this,Vn,lS).call(this)){wn(this,Vn,Zh).call(this,i),wn(this,Vn,Zh).call(this,t);for(const[p,v]of ee(this,aa))HP(p,v);n.length>0&&wn(c=di,Vn,Jg).call(c);return}const r=wn(this,Vn,AP).call(this);if(r){wn(this,Vn,Zh).call(this,i),wn(this,Vn,Zh).call(this,t),wn(h=r,Vn,OP).call(h,this);return}ee(this,ja).clear(),ee(this,Lr).clear();for(const p of ee(this,Lu))p(this);ee(this,Lu).clear(),_f=this,uk(i),uk(t),_f=null,(g=ee(this,Du))==null||g.resolve();var a=di;if(ee(this,Iu)===0&&(ee(this,wo).length===0||a!==null)&&wn(this,Vn,Qg).call(this),ee(this,wo).length>0)if(a!==null){const p=a;ee(p,wo).push(...ee(this,wo).filter(v=>!ee(p,wo).includes(v)))}else a=this;a!==null&&wn(f=a,Vn,Jg).call(f)},cS=function(e,t,i){e.f^=Cs;for(var n=e.first;n!==null;){var s=n.f,r=(s&(Hr|vc))!==0,a=r&&(s&Cs)!==0,c=a||(s&ro)!==0||ee(this,aa).has(n);if(!c&&n.fn!==null){r?n.f^=Cs:(s&Ju)!==0?t.push(n):Kp(n)&&((s&Ar)!==0&&ee(this,Lr).add(n),ig(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}}},AP=function(){for(var e=ee(this,Hl);e!==null;){if(!e.is_fork){for(const[t,[,i]]of this.current)if(e.current.has(t)&&!i)return e}e=ee(e,Hl)}return null},OP=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(ee(e,ja),ee(e,Lr));const t=n=>{var s=n.reactions;if(s!==null)for(const c of s){var r=c.f;if((r&Ws)!==0)t(c);else{var a=c;r&(wu|Ar)&&!this.async_deriveds.has(a)&&(ee(this,Lr).delete(a),ds(a,Es),this.schedule(a))}}};for(const n of this.current.keys())t(n);this.oncommit(()=>e.discard()),wn(i=e,Vn,Qg).call(i),di=this,wn(this,Vn,Jg).call(this)},Zh=function(e){for(var t=0;t<e.length;t+=1)RP(e[t],ee(this,ja),ee(this,Lr))},EH=function(){var g;for(let f=Xw;f!==null;f=ee(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(ee(f,xu)){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 ee(this,Eu))f.unskip_effect(p,v=>{var _;(v.f&(Ar|wu))!==0?f.schedule(v):wn(_=f,Vn,Zh).call(_,[v])});f.activate();var s=new Set,r=new Map;for(var a of t)FP(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 ee(this,Cp))(p.f&(hr|ro|T_))===0&&$0(p,c,r)&&((p.f&(wu|Ar))!==0?(ds(p,Es),f.schedule(p)):ee(f,ja).add(p));if(ee(f,wo).length>0&&!ee(f,Zc)){f.apply();for(var h of ee(f,wo))wn(g=f,Vn,cS).call(g,h,[],[]);Di(f,wo,[])}f.deactivate()}}}},Qg=function(){if(this.linked){var e=ee(this,Hl),t=ee(this,Gc);e===null?Xw=t:Di(e,Gc,t),t===null?Rh=e:Di(t,Hl,e),this.linked=!1}};let Qd=Vv;function PH(o){var e=vf;vf=!0;try{for(var t;;){if(LH(),di===null)return t;di.flush()}}finally{vf=e}}function TH(){try{iH()}catch(o){Vl(o,aS)}}let Sr=null;function uk(o){var e=o.length;if(e!==0){for(var t=0;t<e;){var i=o[t++];if((i.f&(hr|ro))===0&&Kp(i)&&(Sr=new Set,ig(i),i.deps===null&&i.first===null&&i.nodes===null&&i.teardown===null&&i.ac===null&&eT(i),(Sr==null?void 0:Sr.size)>0)){nd.clear();for(const n of Sr){if((n.f&(hr|ro))!==0)continue;const s=[n];let r=n.parent;for(;r!==null;)Sr.has(r)&&(Sr.delete(r),s.push(r)),r=r.parent;for(let a=s.length-1;a>=0;a--){const c=s[a];(c.f&(hr|ro))===0&&ig(c)}}Sr.clear()}}Sr=null}}function FP(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&Ws)!==0?FP(n,e,t,i):(s&(wu|Ar))!==0&&(s&Es)===0&&$0(n,e,i)&&(ds(n,Es),q0(n))}}function $0(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(P_.call(e,n))return!0;if((n.f&Ws)!==0&&$0(n,e,t))return t.set(n,!0),!0}return t.set(o,!1),!1}function q0(o){di.schedule(o)}function HP(o,e){if(!((o.f&Hr)!==0&&(o.f&Cs)!==0)){(o.f&Es)!==0?e.d.push(o):(o.f&ka)!==0&&e.m.push(o),ds(o,Cs);for(var t=o.first;t!==null;)HP(t,e),t=t.next}}function WP(o){ds(o,Cs);for(var e=o.first;e!==null;)WP(e),e=e.next}function MH(o){let e=0,t=eh(0),i;return()=>{X0()&&(u(t),rw(()=>(e===0&&(i=vl(()=>o(()=>bf(t)))),e+=1,()=>{Yl(()=>{e-=1,e===0&&(i==null||i(),i=void 0,bf(t))})})))}}var NH=Qu|Lg;function RH(o,e,t,i){new AH(o,e,t,i)}var tr,g0,ir,Xc,yo,nr,io,Ho,Ua,Yc,Wl,Pu,xp,Lp,$a,jv,hs,OH,FH,HH,dS,i_,n_,hS,uS;class AH{constructor(e,t,i,n){Ii(this,hs);Ai(this,"parent");Ai(this,"is_pending",!1);Ai(this,"transform_error");Ii(this,tr);Ii(this,g0,null);Ii(this,ir);Ii(this,Xc);Ii(this,yo);Ii(this,nr,null);Ii(this,io,null);Ii(this,Ho,null);Ii(this,Ua,null);Ii(this,Yc,0);Ii(this,Wl,0);Ii(this,Pu,!1);Ii(this,xp,new Set);Ii(this,Lp,new Set);Ii(this,$a,null);Ii(this,jv,MH(()=>(Di(this,$a,eh(ee(this,Yc))),()=>{Di(this,$a,null)})));var s;Di(this,tr,e),Di(this,ir,t),Di(this,Xc,r=>{var a=Yi;a.b=this,a.f|=nS,i(r)}),this.parent=Yi.b,this.transform_error=n??((s=this.parent)==null?void 0:s.transform_error)??(r=>r),Di(this,yo,Q0(()=>{wn(this,hs,dS).call(this)},NH))}defer_effect(e){RP(e,ee(this,xp),ee(this,Lp))}is_rendered(){return!this.is_pending&&(!this.parent||this.parent.is_rendered())}has_pending_snippet(){return!!ee(this,ir).pending}update_pending_count(e,t){wn(this,hs,hS).call(this,e,t),Di(this,Yc,ee(this,Yc)+e),!(!ee(this,$a)||ee(this,Pu))&&(Di(this,Pu,!0),Yl(()=>{Di(this,Pu,!1),ee(this,$a)&&tg(ee(this,$a),ee(this,Yc))}))}get_effect_pending(){return ee(this,jv).call(this),u(ee(this,$a))}error(e){if(!ee(this,ir).onerror&&!ee(this,ir).failed)throw e;di!=null&&di.is_fork?(ee(this,nr)&&di.skip_effect(ee(this,nr)),ee(this,io)&&di.skip_effect(ee(this,io)),ee(this,Ho)&&di.skip_effect(ee(this,Ho)),di.oncommit(()=>{wn(this,hs,uS).call(this,e)})):wn(this,hs,uS).call(this,e)}}tr=new WeakMap,g0=new WeakMap,ir=new WeakMap,Xc=new WeakMap,yo=new WeakMap,nr=new WeakMap,io=new WeakMap,Ho=new WeakMap,Ua=new WeakMap,Yc=new WeakMap,Wl=new WeakMap,Pu=new WeakMap,xp=new WeakMap,Lp=new WeakMap,$a=new WeakMap,jv=new WeakMap,hs=new WeakSet,OH=function(){try{Di(this,nr,sr(()=>ee(this,Xc).call(this,ee(this,tr))))}catch(e){this.error(e)}},FH=function(e){const t=ee(this,ir).failed;t&&Di(this,Ho,sr(()=>{t(ee(this,tr),()=>e,()=>()=>{})}))},HH=function(){const e=ee(this,ir).pending;e&&(this.is_pending=!0,Di(this,io,sr(()=>e(ee(this,tr)))),Yl(()=>{var t=Di(this,Ua,document.createDocumentFragment()),i=el();t.append(i),Di(this,nr,wn(this,hs,n_).call(this,()=>sr(()=>ee(this,Xc).call(this,i)))),ee(this,Wl)===0&&(ee(this,tr).before(t),Di(this,Ua,null),od(ee(this,io),()=>{Di(this,io,null)}),wn(this,hs,i_).call(this,di))}))},dS=function(){try{if(this.is_pending=this.has_pending_snippet(),Di(this,Wl,0),Di(this,Yc,0),Di(this,nr,sr(()=>{ee(this,Xc).call(this,ee(this,tr))})),ee(this,Wl)>0){var e=Di(this,Ua,document.createDocumentFragment());t1(ee(this,nr),e);const t=ee(this,ir).pending;Di(this,io,sr(()=>t(ee(this,tr))))}else wn(this,hs,i_).call(this,di)}catch(t){this.error(t)}},i_=function(e){this.is_pending=!1,e.transfer_effects(ee(this,xp),ee(this,Lp))},n_=function(e){var t=Yi,i=Zi,n=Hs;Ia(ee(this,yo)),fr(ee(this,yo)),eg(ee(this,yo).ctx);try{return Qd.ensure(),e()}catch(s){return MP(s),null}finally{Ia(t),fr(i),eg(n)}},hS=function(e,t){var i;if(!this.has_pending_snippet()){this.parent&&wn(i=this.parent,hs,hS).call(i,e,t);return}Di(this,Wl,ee(this,Wl)+e),ee(this,Wl)===0&&(wn(this,hs,i_).call(this,t),ee(this,io)&&od(ee(this,io),()=>{Di(this,io,null)}),ee(this,Ua)&&(ee(this,tr).before(ee(this,Ua)),Di(this,Ua,null)))},uS=function(e){ee(this,nr)&&(Do(ee(this,nr)),Di(this,nr,null)),ee(this,io)&&(Do(ee(this,io)),Di(this,io,null)),ee(this,Ho)&&(Do(ee(this,Ho)),Di(this,Ho,null));var t=ee(this,ir).onerror;let i=ee(this,ir).failed;var n=!1,s=!1;const r=()=>{if(n){SH();return}n=!0,s&&aH(),ee(this,Ho)!==null&&od(ee(this,Ho),()=>{Di(this,Ho,null)}),wn(this,hs,n_).call(this,()=>{wn(this,hs,dS).call(this)})},a=c=>{try{s=!0,t==null||t(c,r),s=!1}catch(h){Vl(h,ee(this,yo)&&ee(this,yo).parent)}i&&Di(this,Ho,wn(this,hs,n_).call(this,()=>{try{return sr(()=>{var h=Yi;h.b=this,h.f|=nS,i(ee(this,tr),()=>c,()=>r)})}catch(h){return Vl(h,ee(this,yo).parent),null}}))};Yl(()=>{var c;try{c=this.transform_error(e)}catch(h){Vl(h,ee(this,yo)&&ee(this,yo).parent);return}c!==null&&typeof c=="object"&&typeof c.then=="function"?c.then(a,h=>Vl(h,ee(this,yo)&&ee(this,yo).parent)):a(c)})};function WH(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=BH(),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){Vl(v,r)}N_()}}var g=BP();if(t.length===0){c.then(()=>h(e.map(n))).finally(g);return}function f(){Promise.all(t.map(p=>zH(p))).then(p=>h([...e.map(n),...p])).catch(p=>Vl(p,r)).finally(g)}c?c.then(()=>{a(),f(),N_()}):f()}function BH(){var o=Yi,e=Zi,t=Hs,i=di;return function(s=!0){Ia(o),fr(e),eg(t),s&&(o.f&hr)===0&&(i==null||i.activate(),i==null||i.apply())}}function N_(o=!0){Ia(null),fr(null),eg(null),o&&(di==null||di.deactivate())}function BP(){var o=Yi,e=o.b,t=di,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=Ws|Es;return Yi!==null&&(Yi.f|=Lg),{ctx:Hs,deps:null,effects:null,equals:DP,f:e,fn:o,reactions:null,rv:0,v:ys,wv:0,parent:Yi,ac:null}}const ym=Symbol("obsolete");function zH(o,e,t){let i=Yi;i===null&&YF();var n=void 0,s=eh(ys),r=!Zi,a=new Set;return QH(()=>{var v,_;var c=Yi,h=CP();n=h.promise;try{Promise.resolve(o()).then(h.resolve,y=>{y!==sw&&h.reject(y)}).finally(N_)}catch(y){h.reject(y),N_()}var g=di;if(r){if((c.f&xg)!==0)var f=BP();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|=Xl,tg(s,S)):((s.f&Xl)!==0&&(s.f^=Xl),tg(s,y)),g.deactivate())};h.promise.then(p,y=>p(null,y||"unknown"))}),Y0(()=>{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 dt(o){const e=qf(o);return nT(e),e}function K0(o){const e=qf(o);return e.equals=EP,e}function VH(o){var e=o.effects;if(e!==null){o.effects=null;for(var t=0;t<e.length;t+=1)Do(e[t])}}function G0(o){var e,t=Yi,i=o.parent;if(!ll&&i!==null&&o.v!==ys&&(i.f&(hr|ro))!==0)return wH(),o.v;Ia(i);try{o.f&=~Jd,VH(o),e=aT(o)}finally{Ia(t)}return e}function zP(o){var e=G0(o);if(!o.equals(e)&&(o.wv=oT(),(!(di!=null&&di.is_fork)||o.deps===null)&&(di!==null?(di.capture(o,e,!0),_f==null||_f.capture(o,e,!0)):o.v=e,o.deps===null))){ds(o,Cs);return}ll||(Rs!==null?(X0()||di!=null&&di.is_fork)&&Rs.set(o,e):U0(o))}function jH(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(sw),i.fn!==null&&(i.teardown=iw),i.ac=null,Kf(i,0),e1(i))}function VP(o){if(o.effects!==null)for(const e of o.effects)e.teardown&&e.fn!==null&&ig(e)}let R_=new Set;const nd=new Map;let jP=!1;function eh(o,e){var t={f:0,v:o,reactions:null,equals:DP,rv:0,wv:0};return t}function V(o,e){const t=eh(o);return nT(t),t}function UH(o,e=!1,t=!0){const i=eh(o);return e||(i.equals=EP),i}function I(o,e,t=!1){Zi!==null&&(!Or||(Zi.f&T_)!==0)&&PP()&&(Zi.f&(Ws|Ar|wu|T_))!==0&&(Sa===null||!Sa.has(o))&&rH();let i=t?Si(e):e;return tg(o,i,t_)}function tg(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&Ws)!==0){const n=o;(o.f&Es)!==0&&G0(n),Rs===null&&U0(n)}o.wv=oT(),UP(o,Es,t),Yi!==null&&(Yi.f&Cs)!==0&&(Yi.f&(Hr|vc))===0&&(er===null?tW([o]):er.push(o)),!i.is_fork&&R_.size>0&&!jP&&$H()}return e}function $H(){jP=!1;for(const o of R_){(o.f&Cs)!==0&&ds(o,ka);let e;try{e=Kp(o)}catch{e=!0}e&&ig(o)}R_.clear()}function gk(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 UP(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&Es)===0;if(c&&ds(r,e),(a&T_)!==0)R_.add(r);else if((a&Ws)!==0){var h=r;Rs==null||Rs.delete(h),(a&Jd)===0&&(a&dr&&(Yi===null||(Yi.f&M_)===0)&&(r.f|=Jd),UP(h,ka,t))}else if(c){var g=r;(a&Ar)!==0&&Sr!==null&&Sr.add(g),t!==null?t.push(g):q0(g)}}}function Si(o){if(typeof o!="object"||o===null||id in o)return o;const e=SP(o);if(e!==jF&&e!==UF)return o;var t=new Map,i=j0(o),n=V(0),s=rd,r=a=>{if(rd===s)return a();var c=Zi,h=rd;fr(null),_k(s);var g=a();return fr(c),_k(h),g};return i&&t.set("length",V(o.length)),new Proxy(o,{defineProperty(a,c,h){(!("value"in h)||h.configurable===!1||h.enumerable===!1||h.writable===!1)&&sH();var g=t.get(c);return g===void 0?r(()=>{var f=V(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(()=>V(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=bu(a,c))!=null&&v.writable)&&(g=r(()=>{var _=Si(f?a[c]:ys),y=V(_);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=bu(a,c))!=null&&p.writable)){h===void 0&&(h=r(()=>{var v=g?Si(a[c]):ys,_=V(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(()=>V(ys)),t.set(v+"",_))}if(f===void 0)(!p||(N=bu(a,c))!=null&&N.writable)&&(f=r(()=>V(void 0)),I(f,Si(h)),t.set(c,f));else{p=f.v!==ys;var y=r(()=>Si(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"),E=Number(c);Number.isInteger(E)&&E>=D.v&&I(D,E+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(){oH()}})}function fk(o){try{if(o!==null&&typeof o=="object"&&id in o)return o[id]}catch{}return o}function qH(o,e){return Object.is(fk(o),fk(e))}var sd,$P,qP,KP,GP;function KH(){if(sd===void 0){sd=window,$P=document,qP=/Firefox/.test(navigator.userAgent);var o=Element.prototype,e=Node.prototype,t=Text.prototype;KP=bu(e,"firstChild").get,GP=bu(e,"nextSibling").get,ck(o)&&(o[oS]=void 0,o[Qm]=null,o[rS]=void 0,o.__e=void 0),ck(t)&&(t[Yg]=void 0)}}function el(o=""){return document.createTextNode(o)}function _a(o){return KP.call(o)}function qp(o){return GP.call(o)}function C(o,e){return _a(o)}function Ct(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 GH(o){o.textContent=""}function ZP(){return!1}function XP(o,e,t){return e==null||e===IP?t?document.createElement(o,{is:t}):document.createElement(o):t?document.createElementNS(e,o,{is:t}):document.createElementNS(e,o)}let pk=!1;function ZH(){pk||(pk=!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 ow(o){var e=Zi,t=Yi;fr(null),Ia(null);try{return o()}finally{fr(e),Ia(t)}}function Z0(o,e,t,i=t){o.addEventListener(e,()=>ow(t));const n=o[e_];n?o[e_]=()=>{n(),i(!0)}:o[e_]=()=>i(!0),ZH()}function XH(o){Yi===null&&(Zi===null&&tH(),eH()),ll&&QF()}function YH(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&ro)!==0&&(o|=ro);var i={ctx:Hs,deps:null,nodes:null,f:o|Es|dr,first:null,fn:e,last:null,next:null,parent:t,b:t&&t.b,prev:null,teardown:null,wv:0,ac:null};di==null||di.register_created_effect(i);var n=i;if((o&Ju)!==0)ou!==null?ou.push(i):Qd.ensure().schedule(i);else if(e!==null){try{ig(i)}catch(r){throw Do(i),r}n.deps===null&&n.teardown===null&&n.nodes===null&&n.first===n.last&&(n.f&Lg)===0&&(n=n.first,(o&Ar)!==0&&(o&Qu)!==0&&n!==null&&(n.f|=Qu))}if(n!==null&&(n.parent=t,t!==null&&YH(n,t),Zi!==null&&(Zi.f&Ws)!==0&&(o&vc)===0)){var s=Zi;(s.effects??(s.effects=[])).push(n)}return i}function X0(){return Zi!==null&&!Or}function Y0(o){const e=_l(nw,null);return ds(e,Cs),e.teardown=o,e}function Rn(o){XH();var e=Yi.f,t=!Zi&&(e&Hr)!==0&&Hs!==null&&!Hs.i;if(t){var i=Hs;(i.e??(i.e=[])).push(o)}else return YP(o)}function YP(o){return _l(Ju|GF,o)}function JH(o){Qd.ensure();const e=_l(vc|Lg,o);return(t={})=>new Promise(i=>{t.outro?od(e,()=>{Do(e),i(void 0)}):(Do(e),i(void 0))})}function J0(o){return _l(Ju,o)}function QH(o){return _l(wu|Lg,o)}function rw(o,e=0){return _l(nw|e,o)}function Z(o,e=[],t=[],i=[]){WH(i,e,t,n=>{_l(nw,()=>o(...n.map(u)))})}function Q0(o,e=0){var t=_l(Ar|e,o);return t}function sr(o){return _l(Hr|Lg,o)}function JP(o){var e=o.teardown;if(e!==null){const t=ll,i=Zi;mk(!0),fr(null);try{e.call(null)}finally{mk(t),fr(i)}}}function e1(o,e=!1){var t=o.first;for(o.first=o.last=null;t!==null;){const n=t.ac;n!==null&&ow(()=>{n.abort(sw)});var i=t.next;(t.f&vc)!==0?t.parent=null:Do(t,e),t=i}}function eW(o){for(var e=o.first;e!==null;){var t=e.next;(e.f&Hr)===0&&Do(e),e=t}}function Do(o,e=!0){var t=!1;(e||(o.f&KF)!==0)&&o.nodes!==null&&o.nodes.end!==null&&(QP(o.nodes.start,o.nodes.end),t=!0),ds(o,sS),e1(o,e&&!t),Kf(o,0);var i=o.nodes&&o.nodes.t;if(i!==null)for(const s of i)s.stop();JP(o),o.f^=sS,o.f|=hr;var n=o.parent;n!==null&&n.first!==null&&eT(o),o.next=o.prev=o.teardown=o.ctx=o.deps=o.fn=o.nodes=o.ac=o.b=null}function QP(o,e){for(;o!==null;){var t=o===e?null:qp(o);o.remove(),o=t}}function eT(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=[];tT(o,i,!0);var n=()=>{t&&Do(o),e&&e()},s=i.length;if(s>0){var r=()=>--s||n();for(var a of i)a.out(r)}else n()}function tT(o,e,t){if((o.f&ro)===0){o.f^=ro;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&vc)===0){var r=(n.f&Qu)!==0||(n.f&Hr)!==0&&(o.f&Ar)!==0;tT(n,e,r?t:!1)}n=s}}}function A_(o){iT(o,!0)}function iT(o,e){if((o.f&ro)!==0){o.f^=ro,(o.f&Cs)===0&&(ds(o,Es),Qd.ensure().schedule(o));for(var t=o.first;t!==null;){var i=t.next,n=(t.f&Qu)!==0||(t.f&Hr)!==0;iT(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 t1(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 mk(o){ll=o}let Zi=null,Or=!1;function fr(o){Zi=o}let Yi=null;function Ia(o){Yi=o}let Sa=null;function nT(o){Zi!==null&&(Sa??(Sa=new Set)).add(o)}let So=null,Oo=0,er=null;function tW(o){er=o}let sT=1,$c=0,rd=$c;function _k(o){rd=o}function oT(){return++sT}function Kp(o){var e=o.f;if((e&Es)!==0)return!0;if(e&Ws&&(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)&&zP(s),s.wv>o.wv)return!0}(e&dr)!==0&&Rs===null&&ds(o,Cs)}return!1}function rT(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&Ws)!==0?rT(s,e,!1):e===s&&(t?ds(s,Es):(s.f&Cs)!==0&&ds(s,ka),q0(s))}}function aT(o){var y;var e=So,t=Oo,i=er,n=Zi,s=Sa,r=Hs,a=Or,c=rd,h=o.f;So=null,Oo=0,er=null,Zi=(h&(Hr|vc))===0?o:null,Sa=null,eg(o.ctx),Or=!1,rd=++$c,o.ac!==null&&(ow(()=>{o.ac.abort(sw)}),o.ac=null);try{o.f|=M_;var g=o.fn,f=g();o.f|=xg;var p=o.deps,v=di==null?void 0:di.is_fork;if(So!==null){var _;if(v||Kf(o,Oo),p!==null&&Oo>0)for(p.length=Oo+So.length,_=0;_<So.length;_++)p[Oo+_]=So[_];else o.deps=p=So;if(X0()&&(o.f&dr)!==0)for(_=Oo;_<p.length;_++)((y=p[_]).reactions??(y.reactions=[])).push(o)}else!v&&p!==null&&Oo<p.length&&(Kf(o,Oo),p.length=Oo);if(PP()&&er!==null&&!Or&&p!==null&&(o.f&(Ws|ka|Es))===0)for(_=0;_<er.length;_++)rT(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&Xl)!==0&&(o.f^=Xl),f}catch(S){return MP(S)}finally{o.f^=M_,So=e,Oo=t,er=i,Zi=n,Sa=s,eg(r),Or=a,rd=c}}function iW(o,e){let t=e.reactions;if(t!==null){var i=BF.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&Ws)!==0&&(So===null||!P_.call(So,e))){var s=e;(s.f&dr)!==0&&(s.f^=dr,s.f&=~Jd),s.v!==ys&&U0(s),jH(s),Kf(s,0)}}function Kf(o,e){var t=o.deps;if(t!==null)for(var i=e;i<t.length;i++)iW(o,t[i])}function ig(o){var e=o.f;if((e&hr)===0){ds(o,Cs);var t=Yi,i=s_;Yi=o,s_=!0;try{(e&(Ar|xP))!==0?eW(o):e1(o),JP(o);var n=aT(o);o.teardown=typeof n=="function"?n:null,o.wv=sT;var s;yP&&xH&&(o.f&Es)!==0&&o.deps}finally{s_=i,Yi=t}}}async function gS(){await Promise.resolve(),PH()}function u(o){var e=o.f,t=(e&Ws)!==0;if(Zi!==null&&!Or){var i=Yi!==null&&(Yi.f&hr)!==0;if(!i&&(Sa===null||!Sa.has(o))){var n=Zi.deps;if((Zi.f&M_)!==0)o.rv<$c&&(o.rv=$c,So===null&&n!==null&&n[Oo]===o?Oo++:So===null?So=[o]:So.push(o));else{Zi.deps??(Zi.deps=[]),P_.call(Zi.deps,o)||Zi.deps.push(o);var s=o.reactions;s===null?o.reactions=[Zi]:P_.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||cT(r))&&(a=G0(r)),nd.set(r,a),a}var c=(r.f&dr)===0&&!Or&&Zi!==null&&(s_||(Zi.f&dr)!==0),h=(r.f&xg)===0;Kp(r)&&(c&&(r.f|=dr),zP(r)),c&&!h&&(VP(r),lT(r))}if(Rs!=null&&Rs.has(o))return Rs.get(o);if((o.f&Xl)!==0)throw o.v;return o.v}function lT(o){if(o.f|=dr,o.deps!==null)for(const e of o.deps)(e.reactions??(e.reactions=[])).push(o),(e.f&Ws)!==0&&(e.f&dr)===0&&(VP(e),lT(e))}function cT(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&Ws)!==0&&cT(e))return!0;return!1}function vl(o){var e=Or;try{return Or=!0,o()}finally{Or=e}}const nW=["touchstart","touchmove"];function sW(o){return nW.includes(o)}const qc=Symbol("events"),dT=new Set,fS=new Set;function oW(o,e,t,i={}){function n(s){if(i.capture||pS.call(e,s),!s.cancelBubble)return ow(()=>t==null?void 0:t.call(this,s))}return o.startsWith("pointer")||o.startsWith("touch")||o==="wheel"?Yl(()=>{e.addEventListener(o,n,i)}):e.addEventListener(o,n,i),n}function ts(o,e,t,i,n){var s={capture:i,passive:n},r=oW(o,e,t,s);(e===document.body||e===window||e===document||e instanceof HTMLMediaElement)&&Y0(()=>{e.removeEventListener(o,r,s)})}function se(o,e,t){(e[qc]??(e[qc]={}))[o]=t}function _r(o){for(var e=0;e<o.length;e++)dT.add(o[e]);for(var t of fS)t(o)}let vk=null;function pS(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;vk=o;var r=0,a=vk===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){zF(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 UD;const Jw=((UD=globalThis==null?void 0:globalThis.window)==null?void 0:UD.trustedTypes)&&globalThis.window.trustedTypes.createPolicy("svelte-trusted-html",{createHTML:o=>o});function rW(o){return(Jw==null?void 0:Jw.createHTML(o))??o}function hT(o){var e=XP("template");return e.innerHTML=rW(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&mH)!==0,i=(e&_H)!==0,n,s=!o.startsWith("<!>");return()=>{n===void 0&&(n=hT(s?o:"<!>"+o),t||(n=_a(n)));var r=i||qP?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 aW(o,e,t="svg"){var i=!o.startsWith("<!>"),n=`<${t}>${i?o:"<!>"+o}</${t}>`,s;return()=>{if(!s){var r=hT(n),a=_a(r);s=_a(a)}var c=s.cloneNode(!0);return th(c,c),c}}function uT(o,e){return aW(o,e,"svg")}function Fr(o=""){{var e=el(o+"");return th(e,e),e}}function Ps(){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[Yg]??(o[Yg]=o.nodeValue))&&(o[Yg]=t,o.nodeValue=`${t}`)}function lW(o,e){return cW(o,e)}const Sm=new Map;function cW(o,{target:e,anchor:t,props:i={},events:n,context:s,intro:r=!0,transformError:a}){KH();var c=void 0,h=JH(()=>{var g=t??e.appendChild(el());RH(g,{pending:()=>{}},v=>{To({});var _=Hs;s&&(_.c=s),n&&(i.$$events=n),c=o(v,i)||{},Mo()},a);var f=new Set,p=v=>{for(var _=0;_<v.length;_++){var y=v[_];if(!f.has(y)){f.add(y);var S=sW(y);for(const N of[e,document]){var D=Sm.get(N);D===void 0&&(D=new Map,Sm.set(N,D));var E=D.get(y);E===void 0?(N.addEventListener(y,pS,{passive:S}),D.set(y,1)):D.set(y,E+1)}}}};return p(tw(dT)),fS.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,pS),_.delete(v),_.size===0&&Sm.delete(D)):_.set(v,y)}fS.delete(p),g!==t&&((S=g.parentNode)==null||S.removeChild(g))}});return dW.set(c,h),c}let dW=new WeakMap;var kr,la,Wo,Jc,kp,Ip,Uv;class hW{constructor(e,t=!0){Ai(this,"anchor");Ii(this,kr,new Map);Ii(this,la,new Map);Ii(this,Wo,new Map);Ii(this,Jc,new Set);Ii(this,kp,!0);Ii(this,Ip,e=>{if(ee(this,kr).has(e)){var t=ee(this,kr).get(e),i=ee(this,la).get(t);if(i)A_(i),ee(this,Jc).delete(t);else{var n=ee(this,Wo).get(t);n&&(A_(n.effect),ee(this,la).set(t,n.effect),ee(this,Wo).delete(t),n.fragment.lastChild.remove(),this.anchor.before(n.fragment),i=n.effect)}for(const[s,r]of ee(this,kr)){if(ee(this,kr).delete(s),s===e)break;const a=ee(this,Wo).get(r);a&&(Do(a.effect),ee(this,Wo).delete(r))}for(const[s,r]of ee(this,la)){if(s===t||ee(this,Jc).has(s))continue;const a=()=>{if(Array.from(ee(this,kr).values()).includes(s)){var h=document.createDocumentFragment();t1(r,h),h.append(el()),ee(this,Wo).set(s,{effect:r,fragment:h})}else Do(r);ee(this,Jc).delete(s),ee(this,la).delete(s)};ee(this,kp)||!i?(ee(this,Jc).add(s),od(r,a,!1)):a()}}});Ii(this,Uv,e=>{ee(this,kr).delete(e);const t=Array.from(ee(this,kr).values());for(const[i,n]of ee(this,Wo))t.includes(i)||(Do(n.effect),ee(this,Wo).delete(i))});this.anchor=e,Di(this,kp,t)}ensure(e,t){var i=di,n=ZP();if(t&&!ee(this,la).has(e)&&!ee(this,Wo).has(e))if(n){var s=document.createDocumentFragment(),r=el();s.append(r),ee(this,Wo).set(e,{effect:sr(()=>t(r)),fragment:s})}else ee(this,la).set(e,sr(()=>t(this.anchor)));if(ee(this,kr).set(i,e),n){for(const[a,c]of ee(this,la))a===e?i.unskip_effect(c):i.skip_effect(c);for(const[a,c]of ee(this,Wo))a===e?i.unskip_effect(c.effect):i.skip_effect(c.effect);i.oncommit(ee(this,Ip)),i.ondiscard(ee(this,Uv))}else ee(this,Ip).call(this,i)}}kr=new WeakMap,la=new WeakMap,Wo=new WeakMap,Jc=new WeakMap,kp=new WeakMap,Ip=new WeakMap,Uv=new WeakMap;function $(o,e,t=!1){var i=new hW(o),n=t?Qu:0;function s(r,a){i.ensure(r,a)}Q0(()=>{var r=!1;e((a,c=0)=>{r=!0,s(c,a)}),r||s(-1,null)},n)}function An(o,e){return e}function uW(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;mS(o,tw(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;GH(g),g.append(h),o.items.clear()}mS(o,e,!c)}else s={pending:new Set(e),done:new Set},(o.outrogroups??(o.outrogroups=new Set)).add(s)}function mS(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();t1(s,r)}else Do(e[n],t)}}var bk;function mi(o,e,t,i,n,s=null){var r=o,a=new Map,c=(e&kP)!==0;if(c){var h=o;r=h.appendChild(el())}var g=null,f=K0(()=>{var N=t();return j0(N)?N:N==null?[]:tw(N)}),p,v=new Map,_=!0;function y(N){(E.effect.f&hr)===0&&(E.pending.delete(N),E.fallback=g,gW(E,p,r,e,i),g!==null&&(p.length===0?(g.f&ma)===0?A_(g):(g.f^=ma,ef(g,null,r)):od(g,()=>{g=null})))}function S(N){E.pending.delete(N)}var D=Q0(()=>{p=u(f);for(var N=p.length,z=new Set,O=di,J=ZP(),X=0;X<N;X+=1){var fe=p[X],Ee=i(fe,X),$e=_?null:a.get(Ee);$e?($e.v&&tg($e.v,fe),$e.i&&tg($e.i,X),J&&O.unskip_effect($e.e)):($e=fW(a,_?r:bk??(bk=el()),fe,Ee,X,n,e,t),_||($e.e.f|=ma),a.set(Ee,$e)),z.add(Ee)}if(N===0&&s&&!g&&(_?g=sr(()=>s(r)):(g=sr(()=>s(bk??(bk=el()))),g.f|=ma)),N>z.size&&JF(),!_)if(v.set(O,z),J){for(const[me,at]of a)z.has(me)||O.skip_effect(at.e);O.oncommit(y),O.ondiscard(S)}else y(O);u(f)}),E={effect:D,items:a,pending:v,outrogroups:null,fallback:g};_=!1}function zg(o){for(;o!==null&&(o.f&Hr)===0;)o=o.next;return o}function gW(o,e,t,i,n){var $e,me,at,Xt,wt,Yt,Ft,Jt,de;var s=(i&dH)!==0,r=e.length,a=o.items,c=zg(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&&((me=($e=S.nodes)==null?void 0:$e.a)==null||me.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 yt of o.outrogroups)yt.pending.delete(S),yt.done.delete(S);if((S.f&ro)!==0&&(A_(S),s&&((Xt=(at=S.nodes)==null?void 0:at.a)==null||Xt.unfix(),(f??(f=new Set)).delete(S))),(S.f&ma)!==0)if(S.f^=ma,S===c)ef(S,null,t);else{var E=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),kl(o,g,S),kl(o,S,E),ef(S,E,t),g=S,p=[],v=[],c=zg(g.next);continue}if(S!==c){if(h!==void 0&&h.has(S)){if(p.length<v.length){var N=v[0],z;g=N.prev;var O=p[0],J=p[p.length-1];for(z=0;z<p.length;z+=1)ef(p[z],N,t);for(z=0;z<v.length;z+=1)h.delete(v[z]);kl(o,O.prev,J.next),kl(o,g,O),kl(o,J,N),c=N,g=J,D-=1,p=[],v=[]}else h.delete(S),ef(S,c,t),kl(o,S.prev,S.next),kl(o,S,g===null?o.effect.first:g.next),kl(o,g,S),g=S;continue}for(p=[],v=[];c!==null&&c!==S;)(h??(h=new Set)).add(c),v.push(c),c=zg(c.next);if(c===null)continue}(S.f&ma)===0&&p.push(S),g=S,c=zg(S.next)}if(o.outrogroups!==null){for(const yt of o.outrogroups)yt.pending.size===0&&(mS(o,tw(yt.done)),(wt=o.outrogroups)==null||wt.delete(yt));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&ro)===0&&X.push(S);for(;c!==null;)(c.f&ro)===0&&c!==o.fallback&&X.push(c),c=zg(c.next);var fe=X.length;if(fe>0){var Ee=(i&kP)!==0&&r===0?t:null;if(s){for(D=0;D<fe;D+=1)(Ft=(Yt=X[D].nodes)==null?void 0:Yt.a)==null||Ft.measure();for(D=0;D<fe;D+=1)(de=(Jt=X[D].nodes)==null?void 0:Jt.a)==null||de.fix()}uW(o,X,Ee)}}s&&Yl(()=>{var yt,We;if(f!==void 0)for(S of f)(We=(yt=S.nodes)==null?void 0:yt.a)==null||We.apply()})}function fW(o,e,t,i,n,s,r,a){var c=(r&lH)!==0?(r&hH)===0?UH(t,!1,!1):eh(t):null,h=(r&cH)!==0?eh(n):null;return{v:c,i:h,e:sr(()=>(s(e,c??t,h??n,a),()=>{o.delete(i)}))}}function ef(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 kl(o,e,t){e===null?o.effect.first=t:e.next=t,t===null?o.effect.last=e:t.prev=e}function jl(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&&(QP(h.nodes.start,h.nodes.end),h.nodes=null),a!==""){var g=i?vH:n?bH:void 0,f=XP(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 wk=[...`
3
+ \r\f \v\uFEFF`];function pW(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||wk.includes(i[r-1]))&&(a===i.length||wk.includes(i[a]))?i=(r===0?"":i.substring(0,r))+i.substring(a+1):r=a}}return i===""?null:i}function yk(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 Qw(o){return o[0]!=="-"||o[1]!=="-"?o.toLowerCase():o}function mW(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(Qw)),n&&c.push(...Object.keys(n).map(Qw));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=Qw(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+=yk(i)),n&&(t+=yk(n,!0)),t=t.trim(),t===""?null:t}return o==null?null:String(o)}function jt(o,e,t,i,n,s){var r=o[oS];if(r!==t||r===void 0){var a=pW(t,i,s);a==null?o.removeAttribute("class"):e?o.className=a:o.setAttribute("class",a),o[oS]=t}else if(s&&n!==s)for(var c in s){var h=!!s[c];(n==null||h!==!!n[c])&&o.classList.toggle(c,h)}return s}function ey(o,e={},t,i){for(var n in t){var s=t[n];e[n]!==s&&(t[n]==null?o.style.removeProperty(n):o.style.setProperty(n,s,i))}}function Uo(o,e,t,i){var n=o[rS];if(n!==e){var s=mW(e,i);s==null?o.removeAttribute("style"):o.style.cssText=s,o[rS]=e}else i&&(Array.isArray(i)?(ey(o,t==null?void 0:t[0],i[0]),ey(o,t==null?void 0:t[1],i[1],"important")):ey(o,t,i));return i}function gT(o,e,t=!1){if(o.multiple){if(e==null)return;if(!j0(e))return yH();for(var i of o.options)i.selected=e.includes(wf(i));return}for(i of o.options){var n=wf(i);if(qH(n,e)){i.selected=!0;return}}(!t||e!==void 0)&&(o.selectedIndex=-1)}function _W(o){var e=new MutationObserver(()=>{gT(o,o.__value)});e.observe(o,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["value"]}),Y0(()=>{e.disconnect()})}function ua(o,e,t=e){var i=new WeakSet,n=!0;Z0(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,di!==null&&i.add(di)}),J0(()=>{var s=e();if(o===document.activeElement){var r=di;if(i.has(r))return}if(gT(o,s,n),n&&s===void 0){var a=o.querySelector(":checked");a!==null&&(s=wf(a),t(s))}o.__value=s,n=!1}),_W(o)}function wf(o){return"__value"in o?o.__value:o.value}const vW=Symbol("is custom element"),bW=Symbol("is html");function ty(o,e){var t=fT(o);t.checked!==(t.checked=e??void 0)&&(o.checked=e)}function On(o,e,t,i){var n=fT(o);n[e]!==(n[e]=t)&&(e==="loading"&&(o[XF]=t),t==null?o.removeAttribute(e):typeof t!="string"&&wW(o).includes(e)?o[e]=t:o.setAttribute(e,t))}function fT(o){return o[Qm]??(o[Qm]={[vW]:o.nodeName.includes("-"),[bW]:o.namespaceURI===IP})}var Sk=new Map;function wW(o){var e=o.getAttribute("is")||o.nodeName,t=Sk.get(e);if(t)return t;Sk.set(e,t=[]);for(var i,n=o,s=Element.prototype;s!==n;){i=VF(n);for(var r in i)i[r].set&&r!=="innerHTML"&&r!=="textContent"&&r!=="innerText"&&t.push(r);n=SP(n)}return t}function Ei(o,e,t=e){var i=new WeakSet;Z0(o,"input",async n=>{var s=n?o.defaultValue:o.value;if(s=iy(o)?ny(s):s,t(s),di!==null&&i.add(di),await gS(),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(iy(o)?ny(o.value):o.value),di!==null&&i.add(di)),rw(()=>{var n=e();if(o===document.activeElement){var s=di;if(i.has(s))return}iy(o)&&n===ny(o.value)||o.type==="date"&&!n&&!o.value||n!==o.value&&(o.value=n??"")})}function Ds(o,e,t=e){Z0(o,"change",i=>{var n=i?o.defaultChecked:o.checked;t(n)}),vl(e)==null&&t(o.checked),rw(()=>{var i=e();o.checked=!!i})}function iy(o){var e=o.type;return e==="number"||e==="range"}function ny(o){return o===""?null:+o}var Bl,Tu,Dp,$v,pT;const qv=class qv{constructor(e){Ii(this,$v);Ii(this,Bl,new WeakMap);Ii(this,Tu);Ii(this,Dp);Di(this,Dp,e)}observe(e,t){var i=ee(this,Bl).get(e)||new Set;return i.add(t),ee(this,Bl).set(e,i),wn(this,$v,pT).call(this).observe(e,ee(this,Dp)),()=>{var n=ee(this,Bl).get(e);n.delete(t),n.size===0&&(ee(this,Bl).delete(e),ee(this,Tu).unobserve(e))}}};Bl=new WeakMap,Tu=new WeakMap,Dp=new WeakMap,$v=new WeakSet,pT=function(){return ee(this,Tu)??Di(this,Tu,new ResizeObserver(e=>{for(var t of e){qv.entries.set(t.target,t);for(var i of ee(this,Bl).get(t.target)||[])i(t)}}))},Ai(qv,"entries",new WeakMap);let _S=qv;var yW=new _S({box:"border-box"});function SW(o,e,t){var i=yW.observe(o,()=>t(o[e]));J0(()=>(vl(()=>t(o[e])),i))}function sy(o,e){return o===e||(o==null?void 0:o[id])===e}function xs(o={},e,t,i){var n=Hs.r,s=Yi;return J0(()=>{var r,a;return rw(()=>{r=a,a=[],vl(()=>{sy(t(...a),o)||(e(o,...a),r&&sy(t(...r),o)&&e(null,...r))})}),()=>{let c=s;for(;c!==n&&c.parent!==null&&c.parent.f&sS;)c=c.parent;const h=()=>{a&&sy(t(...a),o)&&e(null,...a)},g=c.teardown;c.teardown=()=>{h(),g==null||g()}}}),o}function ng(o,e,t,i){var z;var n=!0,s=(t&fH)!==0,r=(t&pH)!==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||ZF in o;f=((z=bu(o,e))==null?void 0:z.set)??(p&&e in o?O=>o[e]=O:void 0)}var v,_=!1;s?[v,_]=IH(()=>o[e]):v=o[e],v===void 0&&i!==void 0&&(v=g(),f&&(nH(),f(v)));var y;if(y=()=>{var O=o[e];return O===void 0?g():(c=!0,O)},(t&gH)===0)return y;if(f){var S=o.$$legacy;return(function(O,J){return arguments.length>0?((!J||S||_)&&f(J?y():O),O):y()})}var D=!1,E=((t&uH)!==0?qf:K0)(()=>(D=!1,y()));s&&u(E);var N=Yi;return(function(O,J){if(arguments.length>0){const X=J?u(E):s?Si(O):O;return I(E,X),D=!0,a!==void 0&&(a=X),O}return ll&&D||(N.f&hr)!==0?E.v:u(E)})}function vr(o){Hs===null&&LP(),Rn(()=>{const e=vl(o);if(typeof e=="function")return e})}function aw(o){Hs===null&&LP(),vr(()=>()=>vl(o))}const CW="5";var $D;typeof window<"u"&&(($D=window.__svelte??(window.__svelte={})).v??($D.v=new Set)).add(CW);/*!-----------------------------------------------------------------------------
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 xW=Object.defineProperty,LW=Object.getOwnPropertyDescriptor,kW=Object.getOwnPropertyNames,IW=Object.prototype.hasOwnProperty,DW=(o,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of kW(e))!IW.call(o,n)&&n!==t&&xW(o,n,{get:()=>e[n],enumerable:!(i=LW(e,n))||i.enumerable});return o},EW=(o,e,t)=>(DW(o,e,"default"),t),Gp={};EW(Gp,KD);var PW=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)}},TW={validate:!0,allowComments:!0,schemas:[],enableSchemaRequest:!1,schemaRequest:"warning",schemaValidation:"warning",comments:"error",trailingCommas:"error"},MW={documentFormattingEdits:!0,documentRangeFormattingEdits:!0,completionItems:!0,hovers:!0,documentSymbols:!0,tokens:!0,colors:!0,foldingRanges:!0,diagnostics:!0,selectionRanges:!0},mT=new PW("json",TW,MW),NW=()=>_T().then(o=>o.getWorker());Gp.languages.json={jsonDefaults:mT,getWorker:NW};function _T(){return qD(()=>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",()=>{_T().then(o=>o.setupMode(mT))});/*!-----------------------------------------------------------------------------
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 RW=Object.defineProperty,AW=Object.getOwnPropertyDescriptor,OW=Object.getOwnPropertyNames,FW=Object.prototype.hasOwnProperty,HW=(o,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of OW(e))!FW.call(o,n)&&n!==t&&RW(o,n,{get:()=>e[n],enumerable:!(i=AW(e,n))||i.enumerable});return o},WW=(o,e,t)=>(HW(o,e,"default"),t),BW="5.4.5",sg={};WW(sg,KD);var vT=(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))(vT||{}),bT=(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))(bT||{}),wT=(o=>(o[o.CarriageReturnLineFeed=0]="CarriageReturnLineFeed",o[o.LineFeed=1]="LineFeed",o))(wT||{}),yT=(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))(yT||{}),ST=(o=>(o[o.Classic=1]="Classic",o[o.NodeJs=2]="NodeJs",o))(ST||{}),CT=class{constructor(o,e,t,i,n){this._onDidChange=new sg.Emitter,this._onDidExtraLibsChange=new sg.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)}},zW=BW,xT={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},LT=new CT({allowNonTsExtensions:!0,target:99},{noSemanticValidation:!1,noSyntaxValidation:!1,onlyVisible:!1},{},{},xT),kT=new CT({allowNonTsExtensions:!0,allowJs:!0,target:99},{noSemanticValidation:!0,noSyntaxValidation:!1,onlyVisible:!1},{},{},xT),VW=()=>lw().then(o=>o.getTypeScriptWorker()),jW=()=>lw().then(o=>o.getJavaScriptWorker());sg.languages.typescript={ModuleKind:vT,JsxEmit:bT,NewLineKind:wT,ScriptTarget:yT,ModuleResolutionKind:ST,typescriptVersion:zW,typescriptDefaults:LT,javascriptDefaults:kT,getTypeScriptWorker:VW,getJavaScriptWorker:jW};function lw(){return qD(()=>import("./tsMode-eufH7H9R.js"),__vite__mapDeps([3,1,2]))}sg.languages.onLanguage("typescript",()=>lw().then(o=>o.setupTypeScript(LT)));sg.languages.onLanguage("javascript",()=>lw().then(o=>o.setupJavaScript(kT)));class UW extends Ys{constructor(){super({id:"diffEditor.toggleCollapseUnchangedRegions",title:St("toggleCollapseUnchangedRegions","Toggle Collapse Unchanged Regions"),icon:Zt.map,toggled:ae.has("config.diffEditor.hideUnchangedRegions.enabled"),precondition:ae.has("isInDiffEditor"),menu:{when:ae.has("isInDiffEditor"),id:rt.EditorTitle,order:22,group:"navigation"}})}run(e,...t){const i=e.get(Cn),n=!i.getValue("diffEditor.hideUnchangedRegions.enabled");i.updateValue("diffEditor.hideUnchangedRegions.enabled",n)}}class IT extends Ys{constructor(){super({id:"diffEditor.toggleShowMovedCodeBlocks",title:St("toggleShowMovedCodeBlocks","Toggle Show Moved Code Blocks"),precondition:ae.has("isInDiffEditor")})}run(e,...t){const i=e.get(Cn),n=!i.getValue("diffEditor.experimental.showMoves");i.updateValue("diffEditor.experimental.showMoves",n)}}class DT extends Ys{constructor(){super({id:"diffEditor.toggleUseInlineViewWhenSpaceIsLimited",title:St("toggleUseInlineViewWhenSpaceIsLimited","Toggle Use Inline View When Space Is Limited"),precondition:ae.has("isInDiffEditor")})}run(e,...t){const i=e.get(Cn),n=!i.getValue("diffEditor.useInlineViewWhenSpaceIsLimited");i.updateValue("diffEditor.useInlineViewWhenSpaceIsLimited",n)}}const Zp=St("diffEditor","Diff Editor");class $W extends Wr{constructor(){super({id:"diffEditor.switchSide",title:St("switchSide","Switch Side"),icon:Zt.arrowSwap,precondition:ae.has("isInDiffEditor"),f1:!0,category:Zp})}runEditorCommand(e,t,i){const n=kg(e);if(n instanceof Ep){if(i&&i.dryRun)return{destinationSelection:n.mapToOtherSide().destinationSelection};n.switchSide()}}}class qW extends Wr{constructor(){super({id:"diffEditor.exitCompareMove",title:St("exitCompareMove","Exit Compare Move"),icon:Zt.close,precondition:M.comparingMovedCode,f1:!1,category:Zp,keybinding:{weight:1e4,primary:9}})}runEditorCommand(e,t,...i){const n=kg(e);n instanceof Ep&&n.exitCompareMove()}}class KW extends Wr{constructor(){super({id:"diffEditor.collapseAllUnchangedRegions",title:St("collapseAllUnchangedRegions","Collapse All Unchanged Regions"),icon:Zt.fold,precondition:ae.has("isInDiffEditor"),f1:!0,category:Zp})}runEditorCommand(e,t,...i){const n=kg(e);n instanceof Ep&&n.collapseAllUnchangedRegions()}}class GW extends Wr{constructor(){super({id:"diffEditor.showAllUnchangedRegions",title:St("showAllUnchangedRegions","Show All Unchanged Regions"),icon:Zt.unfold,precondition:ae.has("isInDiffEditor"),f1:!0,category:Zp})}runEditorCommand(e,t,...i){const n=kg(e);n instanceof Ep&&n.showAllUnchangedRegions()}}class vS extends Ys{constructor(){super({id:"diffEditor.revert",title:St("revert","Revert"),f1:!1,category:Zp})}run(e,t){const i=ZW(e,t.originalUri,t.modifiedUri);i instanceof Ep&&i.revertRangeMappings(t.mapping.innerChanges??[])}}const ET=St("accessibleDiffViewer","Accessible Diff Viewer"),Kv=class Kv extends Ys{constructor(){super({id:Kv.id,title:St("editor.action.accessibleDiffViewer.next","Go to Next Difference"),category:ET,precondition:ae.has("isInDiffEditor"),keybinding:{primary:65,weight:100},f1:!0})}run(e){const t=kg(e);t==null||t.accessibleDiffViewerNext()}};Kv.id="editor.action.accessibleDiffViewer.next";let Gf=Kv;const Gv=class Gv extends Ys{constructor(){super({id:Gv.id,title:St("editor.action.accessibleDiffViewer.prev","Go to Previous Difference"),category:ET,precondition:ae.has("isInDiffEditor"),keybinding:{primary:1089,weight:100},f1:!0})}run(e){const t=kg(e);t==null||t.accessibleDiffViewerPrev()}};Gv.id="editor.action.accessibleDiffViewer.prev";let O_=Gv;function ZW(o,e,t){return o.get(Qn).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 kg(o){const t=o.get(Qn).listDiffEditors(),i=GD();if(i)for(const n of t){const s=n.getContainerDomNode();if(XW(s,i))return n}return null}function XW(o,e){let t=e;for(;t;){if(t===o)return!0;t=t.parentElement}return!1}Ji(UW);Ji(IT);Ji(DT);ur.appendMenuItem(rt.EditorTitle,{command:{id:new DT().desc.id,title:w("useInlineViewWhenSpaceIsLimited","Use Inline View When Space Is Limited"),toggled:ae.has("config.diffEditor.useInlineViewWhenSpaceIsLimited"),precondition:ae.has("isInDiffEditor")},order:11,group:"1_diff",when:ae.and(M.diffEditorRenderSideBySideInlineBreakpointReached,ae.has("isInDiffEditor"))});ur.appendMenuItem(rt.EditorTitle,{command:{id:new IT().desc.id,title:w("showMoves","Show Moved Code Blocks"),icon:Zt.move,toggled:aA.create("config.diffEditor.experimental.showMoves",!0),precondition:ae.has("isInDiffEditor")},order:10,group:"1_diff",when:ae.has("isInDiffEditor")});Ji(vS);for(const o of[{icon:Zt.arrowRight,key:M.diffEditorInlineMode.toNegated()},{icon:Zt.discard,key:M.diffEditorInlineMode}])ur.appendMenuItem(rt.DiffEditorHunkToolbar,{command:{id:new vS().desc.id,title:w("revertHunk","Revert Block"),icon:o.icon},when:ae.and(M.diffEditorModifiedWritable,o.key),order:5,group:"primary"}),ur.appendMenuItem(rt.DiffEditorSelectionToolbar,{command:{id:new vS().desc.id,title:w("revertSelection","Revert Selection"),icon:o.icon},when:ae.and(M.diffEditorModifiedWritable,o.key),order:5,group:"primary"});Ji($W);Ji(qW);Ji(KW);Ji(GW);ur.appendMenuItem(rt.EditorTitle,{command:{id:Gf.id,title:w("Open Accessible Diff Viewer","Open Accessible Diff Viewer"),precondition:ae.has("isInDiffEditor")},order:10,group:"2_diff",when:ae.and(M.accessibleDiffViewerVisible.negate(),ae.has("isInDiffEditor"))});mn.registerCommandAlias("editor.action.diffReview.next",Gf.id);Ji(Gf);mn.registerCommandAlias("editor.action.diffReview.prev",O_.id);Ji(O_);var YW=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},JW=function(o,e){return function(t,i){e(t,i,o)}},bS;const cw=new Pi("selectionAnchorSet",!1);var dd;let bc=(dd=class{static get(e){return e.getContribution(bS.ID)}constructor(e,t){this.editor=e,this.selectionAnchorSetContextKey=cw.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(Ut.fromPositions(e,e),{description:"selection-anchor",stickiness:1,hoverMessage:new Ns().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(Ut.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()}},bS=dd,dd.ID="editor.contrib.selectionAnchorController",dd);bc=bS=YW([JW(1,Fi)],bc);class QW 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:is(2089,2080),weight:100}})}async run(e,t){var i;(i=bc.get(t))==null||i.setSelectionAnchor()}}class e3 extends we{constructor(){super({id:"editor.action.goToSelectionAnchor",label:w("goToSelectionAnchor","Go to Selection Anchor"),alias:"Go to Selection Anchor",precondition:cw})}async run(e,t){var i;(i=bc.get(t))==null||i.goToSelectionAnchor()}}class t3 extends we{constructor(){super({id:"editor.action.selectFromAnchorToCursor",label:w("selectFromAnchorToCursor","Select from Anchor to Cursor"),alias:"Select from Anchor to Cursor",precondition:cw,kbOpts:{kbExpr:M.editorTextFocus,primary:is(2089,2089),weight:100}})}async run(e,t){var i;(i=bc.get(t))==null||i.selectFromAnchorToCursor()}}class i3 extends we{constructor(){super({id:"editor.action.cancelSelectionAnchor",label:w("cancelSelectionAnchor","Cancel Selection Anchor"),alias:"Cancel Selection Anchor",precondition:cw,kbOpts:{kbExpr:M.editorTextFocus,primary:9,weight:100}})}async run(e,t){var i;(i=bc.get(t))==null||i.cancelSelectionAnchor()}}_i(bc.ID,bc,4);ne(QW);ne(e3);ne(t3);ne(i3);const n3=mt("editorOverviewRuler.bracketMatchForeground","#A0A0A0",w("overviewRulerBracketMatchForeground","Overview ruler marker color for matching brackets."));class s3 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 o3 extends we{constructor(){super({id:"editor.action.selectToBracket",label:w("smartSelect.selectToBracket","Select to Bracket"),alias:"Select to Bracket",precondition:void 0,metadata:{description:St("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 r3 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 a3{constructor(e,t,i){this.position=e,this.brackets=t,this.options=i}}const Nl=class Nl extends je{static get(e){return e.getContribution(Nl.ID)}constructor(e){super(),this._editor=e,this._lastBracketsData=[],this._lastVersionId=0,this._decorations=this._editor.createDecorationsCollection(),this._updateBracketsSoon=this._register(new ls(()=>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 Ut(r.lineNumber,r.column,r.lineNumber,r.column):new Ut(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 Ut(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(xt.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=Nl._DECORATION_OPTIONS_WITH_OVERVIEW_RULER;!_&&this._matchBrackets==="always"&&(_=t.bracketPairs.findEnclosingBrackets(v,20),y=Nl._DECORATION_OPTIONS_WITHOUT_OVERVIEW_RULER),a[c++]=new a3(v,_,y)}}this._lastBracketsData=a,this._lastVersionId=i}};Nl.ID="editor.contrib.bracketMatchingController",Nl._DECORATION_OPTIONS_WITH_OVERVIEW_RULER=Li.register({description:"bracket-match-overview",stickiness:1,className:"bracket-match",overviewRuler:{color:os(n3),position:ba.Center}}),Nl._DECORATION_OPTIONS_WITHOUT_OVERVIEW_RULER=Li.register({description:"bracket-match-no-overview",stickiness:1,className:"bracket-match"});let ih=Nl;_i(ih.ID,ih,1);ne(o3);ne(s3);ne(r3);ur.appendMenuItem(rt.MenubarGoMenu,{group:"5_infile_nav",command:{id:"editor.action.jumpToBracket",title:w({key:"miGoToBracket",comment:["&& denotes a mnemonic"]},"Go to &&Bracket")},order:2});class l3{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 Ut(this._selection.startLineNumber,this._selection.startColumn-1,this._selection.endLineNumber,this._selection.endColumn-1):new Ut(this._selection.startLineNumber,this._selection.startColumn+1,this._selection.endLineNumber,this._selection.endColumn+1)}}class PT 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 l3(s,this.left));t.pushUndoStop(),t.executeCommands(this.id,i),t.pushUndoStop()}}class c3 extends PT{constructor(){super(!0,{id:"editor.action.moveCarretLeftAction",label:w("caret.moveLeft","Move Selected Text Left"),alias:"Move Selected Text Left",precondition:M.writable})}}class d3 extends PT{constructor(){super(!1,{id:"editor.action.moveCarretRightAction",label:w("caret.moveRight","Move Selected Text Right"),alias:"Move Selected Text Right",precondition:M.writable})}}ne(c3);ne(d3);class h3 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():jw.rightPosition(i,r.getPosition().lineNumber,r.getPosition().column),f=jw.leftPosition(i,g),p=jw.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())}}ne(h3);const dw=(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 i1(o){return{asString:async()=>o,asFile:()=>{},value:typeof o=="string"?o:void 0}}function u3(o,e,t){const i={id:dw(),name:o,uri:e,data:t};return{asString:async()=>"",asFile:()=>i,value:void 0}}class TT{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"),NT(F_(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 F_(e)}}function F_(o){return o.toLowerCase()}function MT(o,e){return NT(F_(o),e.map(F_))}function NT(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 hw=Object.freeze({create:o=>ZD(o.map(e=>e.toString())).join(`\r
14
+ `),split:o=>o.split(`\r
15
+ `),parse:o=>hw.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 Sn=na;const Ck={EDITORS:"CodeEditors",FILES:"CodeFiles"};class g3{}const f3={DragAndDropContribution:"workbench.contributions.dragAndDrop"};Br.add(f3.DragAndDropContribution,new g3);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 wS=Tf;function RT(o){const e=new TT;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,i1(n))}else if(t.kind==="file"){const n=t.getAsFile();n&&e.append(i,p3(n))}}return e}function p3(o){const e=o.path?on.parse(o.path):void 0;return u3(o.name,e,async()=>new Uint8Array(await o.arrayBuffer()))}const m3=Object.freeze([Ck.EDITORS,Ck.FILES,Vy.RESOURCES,Vy.INTERNAL_URI_LIST]);function AT(o,e=!1){const t=RT(o),i=t.get(Vy.INTERNAL_URI_LIST);if(i)t.replace(_s.uriList,i);else if(e||!t.has(_s.uriList)){const n=[];for(const s of o.items){const r=s.getAsFile();if(r){const a=r.path;try{a?n.push(on.file(a).toString()):n.push(on.parse(r.name,!0).toString())}catch{}}}n.length&&t.replace(_s.uriList,i1(hw.create(n)))}for(const n of m3)t.delete(n);return t}var n1=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(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 s1{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 s1{constructor(){super(...arguments),this.kind=Mf.kind,this.dropMimeTypes=[_s.text],this.pasteMimeTypes=[_s.text]}async getEdit(e,t){const i=e.get(_s.text);if(!i||e.has(_s.uriList))return;const n=await i.asString();return{handledMimeType:_s.text,title:w("text.label","Insert Plain Text"),insertText:n,kind:this.kind}}};Mf.id="text",Mf.kind=new Sn("text.plain");let nh=Mf;class OT extends s1{constructor(){super(...arguments),this.kind=new Sn("uri.absolute"),this.dropMimeTypes=[_s.uriList],this.pasteMimeTypes=[_s.uriList]}async getEdit(e,t){const i=await FT(e);if(!i.length||t.isCancellationRequested)return;let n=0;const s=i.map(({uri:a,originalText:c})=>a.scheme===qs.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:_s.uriList,insertText:s,title:r,kind:this.kind}}}let H_=class extends s1{constructor(e){super(),this._workspaceContextService=e,this.kind=new Sn("uri.relative"),this.dropMimeTypes=[_s.uriList],this.pasteMimeTypes=[_s.uriList]}async getEdit(e,t){const i=await FT(e);if(!i.length||t.isCancellationRequested)return;const n=nl(i.map(({uri:s})=>{const r=this._workspaceContextService.getWorkspaceFolder(s);return r?lA(r.uri,s):void 0}));if(n.length)return{handledMimeType:_s.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}}};H_=n1([Zf(0,Vu)],H_);class _3{constructor(){this.kind=new Sn("html"),this.pasteMimeTypes=["text/html"],this._yieldTo=[{mimeType:_s.text}]}async provideDocumentPasteEdits(e,t,i,n,s){var c;if(n.triggerKind!==jy.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 FT(o){const e=o.get(_s.uriList);if(!e)return[];const t=await e.asString(),i=[];for(const n of hw.parse(t))try{i.push({uri:on.parse(n),originalText:n})}catch{}return i}let yS=class extends je{constructor(e,t){super(),this._register(e.documentDropEditProvider.register("*",new nh)),this._register(e.documentDropEditProvider.register("*",new OT)),this._register(e.documentDropEditProvider.register("*",new H_(t)))}};yS=n1([Zf(0,Lt),Zf(1,Vu)],yS);let SS=class extends je{constructor(e,t){super(),this._register(e.documentPasteEditProvider.register("*",new nh)),this._register(e.documentPasteEditProvider.register("*",new OT)),this._register(e.documentPasteEditProvider.register("*",new H_(t))),this._register(e.documentPasteEditProvider.register("*",new _3))}};SS=n1([Zf(0,Lt),Zf(1,Vu)],SS);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 CS=Xo;class Ig{constructor(){this._children=[]}appendChild(e){return e instanceof oo&&this._children[this._children.length-1]instanceof oo?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 oo=class HT extends Ig{constructor(e){super(),this.value=e}toString(){return this.value}len(){return this.value.length}clone(){return new HT(this.value)}};class WT extends Ig{}class jo extends WT{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 Dg?this._children[0]:void 0}clone(){const e=new jo(this.index);return this.transform&&(e.transform=this.transform.clone()),e._children=this.children.map(t=>t.clone()),e}}class Dg extends Ig{constructor(){super(...arguments),this.options=[]}appendChild(e){return e instanceof oo&&(e.parent=this,this.options.push(e)),this}toString(){return this.options[0].value}len(){return this.options[0].len()}clone(){const e=new Dg;return this.options.forEach(e.appendChild,e),e}}class o1 extends Ig{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 Ir&&!!s.elseValue)&&(n=this._replace([])),n}_replace(e){let t="";for(const i of this._children)if(i instanceof Ir){let n=e[i.index]||"";n=i.resolve(n),t+=n}else t+=i.toString();return t}toString(){return""}clone(){const e=new o1;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 Ir extends Ig{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 Ir(this.index,this.shorthandName,this.ifValue,this.elseValue)}}class Xf extends WT{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 oo(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 xk(o,e){const t=[...o];for(;t.length>0;){const i=t.shift();if(!e(i))break;t.unshift(...i.children)}}class Xp extends Ig{get placeholderInfo(){if(!this._placeholders){const e=[];let t;this.walk(function(i){return i instanceof jo&&(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 xk([e],i=>(t+=i.len(),!0)),t}enclosingPlaceholders(e){const t=[];let{parent:i}=e;for(;i;)i instanceof jo&&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){xk(this.children,e)}}class sh{constructor(){this._scanner=new CS,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 jo&&(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 jo(c.index);f.transform=c.transform;for(const p of g){const v=p.clone();f.appendChild(v),v instanceof jo&&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 jo(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 oo(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 jo(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 jo(Number(t));if(this._accept(1))for(;;){if(this._accept(4))return e.appendChild(s),!0;if(!this._parse(s))return e.appendChild(new oo("${"+t+":")),s.children.forEach(e.appendChild,e),!0}else if(s.index>0&&this._accept(7)){const r=new Dg;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 oo(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 oo("${"+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 o1;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 oo(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 Ir(Number(n))),!0;if(!this._accept(1))return this._backTo(t),!1}else return e.appendChild(new Ir(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 Ir(Number(n),s)),!0)}else if(this._accept(11)){const s=this._until(4);if(s)return e.appendChild(new Ir(Number(n),void 0,s,void 0)),!0}else if(this._accept(12)){const s=this._until(4);if(s)return e.appendChild(new Ir(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 Ir(Number(n),void 0,s,r)),!0}}else{const s=this._until(4);if(s)return e.appendChild(new Ir(Number(n),void 0,void 0,s)),!0}return this._backTo(t),!1}_parseAnything(e){return this._token.type!==14?(e.appendChild(new oo(this._scanner.tokenText(this._token))),this._accept(void 0),!0):!1}}function BT(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 cA(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 zT(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 v3=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},b3=function(o,e){return function(t,i){e(t,i,o)}};const w3=Li.register({description:"inline-progress-widget",stickiness:1,showIfCollapsed:!0,after:{content:XD,inlineClassName:"inline-editor-progress-decoration",inlineClassNameAffectsLetterSpacing:!0}}),Zv=class Zv extends je{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=pt(".inline-progress-widget"),this.domNode.role="button",this.domNode.title=e;const t=pt("span.icon");this.domNode.append(t),t.classList.add(...qi.asClassNameArray(Zt.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,Hn.CLICK,n=>{this.delegate.cancel()}))}getId(){return Zv.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)}};Zv.baseId="editor.widget.inlineProgressWidget";let xS=Zv,W_=class extends je{constructor(e,t,i){super(),this.id=e,this._editor=t,this._instantiationService=i,this._showDelay=500,this._showPromise=this._register(new Eo),this._currentWidget=this._register(new Eo),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:w3}]).length>0&&(this._currentWidget.value=this._instantiationService.createInstance(xS,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()}};W_=v3([b3(2,li)],W_);var y3=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Lk=function(o,e){return function(t,i){e(t,i,o)}},o_,Ql;let ao=(Ql=class{static get(e){return e.getContribution(o_.ID)}constructor(e,t,i){this._openerService=i,this._messageWidget=new Eo,this._messageListeners=new Be,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)?dA(e,{actionHandler:{callback:n=>{this.closeMessage(),hA(this._openerService,n,Gm(e)?e.isTrusted:void 0)},disposables:this._messageListeners}}):void 0,this._messageWidget.value=new kk(this._editor,t,typeof e=="string"?e:this._message.element),this._messageListeners.add(as.debounce(this._editor.onDidBlurEditorText,(n,s)=>s,0)(()=>{this._mouseOverMessage||this._messageWidget.value&&uA(GD(),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(),Hn.MOUSE_ENTER,()=>this._mouseOverMessage=!0,!0)),this._messageListeners.add(Oi(this._messageWidget.value.getDomNode(),Hn.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(kk.fadeOut(this._messageWidget.value))}},o_=Ql,Ql.ID="editor.contrib.messageController",Ql.MESSAGE_VISIBLE=new Pi("messageVisible",!1,w("messageVisible","Whether the editor is currently showing an inline message")),Ql);ao=o_=y3([Lk(1,Fi),Lk(2,zr)],ao);const S3=Js.bindToContribution(ao.get);Et(new S3({id:"leaveEditorMessage",precondition:ao.MESSAGE_VISIBLE,handler:o=>o.closeMessage(),kbOpts:{weight:130,primary:9}}));let kk=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(ao.ID,ao,4);function oy(o,e){return e&&(o.stack||o.stacktrace)?w("stackTrace.format","{0}: {1}",Dk(o),Ik(o.stack)||Ik(o.stacktrace)):Dk(o)}function Ik(o){return Array.isArray(o)?o.join(`
16
+ `):o}function Dk(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 B_(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=B_(t[0],e);return t.length>1?w("error.moreErrors","{0} ({1} errors in total)",i,t.length):i}if(YD(o))return o;if(o.detail){const t=o.detail;if(t.error)return oy(t.error,e);if(t.exception)return oy(t.exception,e)}return o.stack?oy(o,e):o.message?o.message:w("error.defaultMessage","An unknown error occurred. Please consult the log for more details.")}var VT=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},yu=function(o,e){return function(t,i){e(t,i,o)}},LS,hd;let kS=(hd=class extends je{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(yn(()=>this.visibleContext.reset())),this.editor.addContentWidget(this),this.editor.layoutContentWidget(this),this._register(yn((()=>this.editor.removeContentWidget(this)))),this._register(this.editor.onDidChangeCursorPosition(f=>{s.containsPosition(f.position)||this.dispose()})),this._register(as.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=pt(".post-edit-widget"),this.button=this._register(new gA(this.domNode,{supportIcons:!0})),this.button.label="$(insert)",this._register(Oi(this.domNode,Hn.CLICK,()=>this.showSelector()))}getId(){return LS.baseId+"."+this.typeId}getDomNode(){return this.domNode}getPosition(){return{position:this.range.getEndPosition(),preference:[2]}}showSelector(){this._contextMenuService.showContextMenu({getAnchor:()=>{const e=Gs(this.button.element);return{x:e.left+e.width,y:e.top+e.height}},getActions:()=>this.edits.allEdits.map((e,t)=>fA({id:"",label:e.title,checked:t===this.edits.activeEditIndex,run:()=>{if(t!==this.edits.activeEditIndex)return this.onSelectNewEdit(t)}}))})}},LS=hd,hd.baseId="editor.widget.postEditWidget",hd);kS=LS=VT([yu(7,bg),yu(8,Fi),yu(9,ns)],kS);let z_=class extends je{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 Eo),this._register(as.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)=>{xc(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,B_(S)))}if(s.isCancellationRequested)return;const f=BT(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,B_(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(kS,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()}};z_=VT([yu(4,li),yu(5,Ab),yu(6,zs)],z_);var C3=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Ah=function(o,e){return function(t,i){e(t,i,o)}},Oc;const jT="editor.changePasteType",r1=new Pi("pasteWidgetVisible",!1,w("pasteWidgetVisible","Whether the paste widget is showing")),ry="application/vnd.code.copyMetadata";var ud;let cl=(ud=class extends je{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 W_("pasteIntoEditor",e,t)),this._postPasteWidgetManager=this._register(t.createInstance(z_,"pasteIntoEditor",e,r1,{id:jT,label:w("postPasteWidgetTitle","Show paste options...")}))}changePasteType(){this._postPasteWidgetManager.tryShowSelector()}pasteAs(e){this._editor.focus();try{this._pasteAsActionContext={preferred:e},f0().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,E;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,Ob),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=RT(e.clipboardData),p=g.flatMap(N=>N.copyMimeTypes??[]),v=dw();this.setCopyMetadata(e.clipboardData,{id:v,providerCopyMimeTypes:p,defaultPastePayload:h});const _=fs(async N=>{const z=nl(await Promise.all(g.map(async O=>{try{return await O.prepareDocumentPaste(t,s,f,N)}catch(J){console.error(J);return}})));z.reverse();for(const O of z)for(const[J,X]of O)f.replace(J,X);return f});(E=Oc._currentCopyOperation)==null||E.dataTransferPromise.cancel(),Oc._currentCopyOperation={handle:v,dataTransferPromise:_}}async handlePaste(e){var c,h,g;if(!e.clipboardData||!this._editor.hasTextFocus())return;(c=ao.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=AT(e.clipboardData);s.delete(ry);const r=[...e.clipboardData.types,...(n==null?void 0:n.providerCopyMimeTypes)??[],_s.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=>MT(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=ao.get(this._editor))==null||i.showMessage(w("pasteAsError","No paste edits for '{0}' found",t instanceof Sn?t.value:t.providerId),e[0].getStartPosition())}doPasteInline(e,t,i,n,s){const r=this._editor;if(!r.hasModel())return;const a=new ju(r,3,void 0),c=fs(async h=>{const g=this._editor;if(!g.hasModel())return;const f=g.getModel(),p=new Be,v=p.add(new ps(h));p.add(a.token.onCancellationRequested(()=>v.cancel()));const _=v.token;try{if(await this.mergeInDataFromCopy(i,n,_),_.isCancellationRequested)return;const y=e.filter(E=>this.isSupportedPasteProvider(E,i));if(!y.length||y.length===1&&y[0]instanceof nh)return this.applyDefaultPasteHandler(i,n,_,s);const S={triggerKind:jy.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 E=g.getOption(85).showPasteSelector==="afterPaste";return this._postPasteWidgetManager.applyEditAndShowIfNeeded(t,{activeEditIndex:0,allEdits:D.edits},E,(N,z)=>new Promise((O,J)=>{(async()=>{var X,fe;try{const Ee=(fe=(X=N.provider).resolveDocumentPasteEdit)==null?void 0:fe.call(X,N,z),$e=new Fb,me=Ee&&await this._pasteProgressManager.showWhile(t[0].getEndPosition(),w("resolveProcess","Resolving paste edit. Click to cancel"),Promise.race([$e.p,Ee]),{cancel:()=>($e.cancel(),J(new Hb))},0);return me&&(N.additionalEdit=me.additionalEdit),O(N)}catch(Ee){return J(Ee)}})()}),_)}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=fs(async a=>{const c=this._editor;if(!c.hasModel())return;const h=c.getModel(),g=new Be,f=g.add(new ju(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:jy.PasteAs,only:e&&e instanceof Sn?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 Sn?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(E=>{var N;return{label:E.title,description:(N=E.kind)==null?void 0:N.value,edit:E}}),{placeHolder:w("pasteAsPickerPlaceholder","Select Paste Action")});y=D==null?void 0:D.edit}if(!y)return;const S=BT(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(ry,JSON.stringify(t))}fetchCopyMetadata(e){if(!e.clipboardData)return;const t=e.clipboardData.getData(ry);if(t)try{return JSON.parse(t)}catch{return}const[i,n]=pA.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(_s.uriList)){const s=await this._clipboardService.readResources();if(i.isCancellationRequested)return;s.length&&e.append(_s.uriList,i1(hw.create(s)))}}async getPasteEdits(e,t,i,n,s,r){const a=new Be,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){xc(v)||console.error(v);return}})),r),h=nl(c??[]).flat().filter(g=>!s.only||s.only.contains(g.kind));return{edits:zT(h),dispose:()=>a.dispose()}}async applyDefaultPasteHandler(e,t,i,n){const s=e.get(_s.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 Sn?e.providedPasteEditKinds?e.providedPasteEditKinds.some(i=>t.contains(i)):!0:e.id===t.providerId}},Oc=ud,ud.ID="editor.contrib.copyPasteActionController",ud);cl=Oc=C3([Ah(1,li),Ah(2,Ab),Ah(3,wg),Ah(4,Lt),Ah(5,gl),Ah(6,mA)],cl);const oh="9_cutcopypaste",x3=yg||document.queryCommandSupported("cut"),UT=yg||document.queryCommandSupported("copy"),L3=typeof navigator.clipboard>"u"||_A?document.queryCommandSupported("paste"):!0;function a1(o){return o.register(),o}const k3=x3?a1(new p0({id:"editor.action.clipboardCutAction",precondition:void 0,kbOpts:yg?{primary:2102,win:{primary:2102,secondary:[1044]},weight:100}:void 0,menuOpts:[{menuId:rt.MenubarEditMenu,group:"2_ccp",title:w({key:"miCut",comment:["&& denotes a mnemonic"]},"Cu&&t"),order:1},{menuId:rt.EditorContext,group:oh,title:w("actions.clipboard.cutLabel","Cut"),when:M.writable,order:1},{menuId:rt.CommandPalette,group:"",title:w("actions.clipboard.cutLabel","Cut"),order:1},{menuId:rt.SimpleEditorContext,group:oh,title:w("actions.clipboard.cutLabel","Cut"),when:M.writable,order:1}]})):void 0,I3=UT?a1(new p0({id:"editor.action.clipboardCopyAction",precondition:void 0,kbOpts:yg?{primary:2081,win:{primary:2081,secondary:[2067]},weight:100}:void 0,menuOpts:[{menuId:rt.MenubarEditMenu,group:"2_ccp",title:w({key:"miCopy",comment:["&& denotes a mnemonic"]},"&&Copy"),order:2},{menuId:rt.EditorContext,group:oh,title:w("actions.clipboard.copyLabel","Copy"),order:2},{menuId:rt.CommandPalette,group:"",title:w("actions.clipboard.copyLabel","Copy"),order:1},{menuId:rt.SimpleEditorContext,group:oh,title:w("actions.clipboard.copyLabel","Copy"),order:2}]})):void 0;ur.appendMenuItem(rt.MenubarEditMenu,{submenu:rt.MenubarCopy,title:St("copy as","Copy As"),group:"2_ccp",order:3});ur.appendMenuItem(rt.EditorContext,{submenu:rt.EditorContextCopy,title:St("copy as","Copy As"),group:oh,order:3});ur.appendMenuItem(rt.EditorContext,{submenu:rt.EditorContextShare,title:St("share","Share"),group:"11_share",order:-1,when:ae.and(ae.notEquals("resourceScheme","output"),M.editorTextFocus)});ur.appendMenuItem(rt.ExplorerContext,{submenu:rt.ExplorerContextShare,title:St("share","Share"),group:"11_share",order:-1});const ay=L3?a1(new p0({id:"editor.action.clipboardPasteAction",precondition:void 0,kbOpts:yg?{primary:2100,win:{primary:2100,secondary:[1043]},linux:{primary:2100,secondary:[1043]},weight:100}:void 0,menuOpts:[{menuId:rt.MenubarEditMenu,group:"2_ccp",title:w({key:"miPaste",comment:["&& denotes a mnemonic"]},"&&Paste"),order:4},{menuId:rt.EditorContext,group:oh,title:w("actions.clipboard.pasteLabel","Paste"),when:M.writable,order:4},{menuId:rt.CommandPalette,group:"",title:w("actions.clipboard.pasteLabel","Paste"),order:1},{menuId:rt.SimpleEditorContext,group:oh,title:w("actions.clipboard.pasteLabel","Paste"),when:M.writable,order:4}]})):void 0;class D3 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()||(ML.forceCopyWithSyntaxHighlighting=!0,t.focus(),t.getContainerDomNode().ownerDocument.execCommand("copy"),ML.forceCopyWithSyntaxHighlighting=!1)}}function $T(o,e){o&&(o.addImplementation(1e4,"code-editor",(t,i)=>{const n=t.get(Qn).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)=>(f0().execCommand(e),!0)))}$T(k3,"cut");$T(I3,"copy");ay&&(ay.addImplementation(1e4,"code-editor",(o,e)=>{var s;const t=o.get(Qn),i=o.get(wg),n=t.getFocusedCodeEditor();return n&&n.hasTextFocus()?n.getContainerDomNode().ownerDocument.execCommand("paste")?((s=cl.get(n))==null?void 0:s.finishedPaste())??Promise.resolve():vA?(async()=>{const a=await i.readText();if(a!==""){const c=bA.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}),ay.addImplementation(0,"generic-dom",(o,e)=>(f0().execCommand("paste"),!0)));UT&&ne(D3);const fn=new class{constructor(){this.QuickFix=new Sn("quickfix"),this.Refactor=new Sn("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 Sn("notebook"),this.Source=new Sn("source"),this.SourceOrganizeImports=this.Source.append("organizeImports"),this.SourceFixAll=this.Source.append("fixAll"),this.SurroundWith=this.Refactor.append("surround")}};var uo;(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"})(uo||(uo={}));function E3(o,e){return!(o.include&&!o.include.intersects(e)||o.excludes&&o.excludes.some(t=>qT(e,t,o.include))||!o.includeSourceActions&&fn.Source.contains(e))}function P3(o,e){const t=e.kind?new Sn(e.kind):void 0;return!(o.include&&(!t||!o.include.contains(t))||o.excludes&&t&&o.excludes.some(i=>qT(t,i,o.include))||!o.includeSourceActions&&t&&fn.Source.contains(t)||o.onlyIncludePreferredActions&&!e.isPreferred)}function qT(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 Sn(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 T3{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){Jn(n)}i&&(this.action.edit=i.edit)}return this}}const KT="editor.action.codeAction",l1="editor.action.quickFix",GT="editor.action.autoFix",ZT="editor.action.refactor",XT="editor.action.sourceAction",IS="editor.action.organizeImports",DS="editor.action.fixAll";class yf extends je{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:ko(e.diagnostics)?ko(t.diagnostics)?yf.codeActionsPreferredComparator(e,t):-1:ko(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&&fn.QuickFix.contains(new Sn(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 Ek={actions:[],documentation:void 0};async function ru(o,e,t,i,n,s){var y;const r=i.filter||{},a={...r,excludes:[...r.excludes||[],fn.Notebook]},c={only:(y=r.include)==null?void 0:y.value,trigger:i.type},h=new wA(e,s),g=i.type===2,f=M3(o,e,g?a:r),p=new Be,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 Ek;const E=((D==null?void 0:D.actions)||[]).filter(z=>z&&P3(r,z)),N=R3(S,E,r.include);return{actions:E.map(z=>new T3(z,S)),documentation:N}}catch(D){if(xc(D))throw D;return Jn(D),Ek}}),_=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(),E=[...nl(S.map(N=>N.documentation)),...N3(o,e,i,D)];return new yf(D,E,p)}finally{_.dispose(),h.dispose()}}function M3(o,e,t){return o.all(e).filter(i=>i.providedCodeActionKinds?i.providedCodeActionKinds.some(n=>E3(t,new Sn(n))):!0)}function*N3(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 R3(o,e,t){if(!o.documentation)return;const i=o.documentation.map(n=>({kind:new Sn(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 Sn(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 A3(o,e,t,i,n=gi.None){var h;const s=o.get(Ab),r=o.get(us),a=o.get(Vr),c=o.get(zs);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=O3(g);c.error(typeof f=="string"?f:w("applyCodeActionFailed","An unknown error occurred while applying the code action"))}}function O3(o){return typeof o=="string"?o:o instanceof Error&&typeof o.message=="string"?o.message:void 0}mn.registerCommand("_executeCodeActionProvider",async function(o,e,t,i,n){if(!(e instanceof on))throw Ja();const{codeActionProvider:s}=o.get(Lt),r=o.get(Vs).getModel(e);if(!r)throw Ja();const a=Ut.isISelection(t)?Ut.liftSelection(t):B.isIRange(t)?r.validateRange(t):void 0;if(!a)throw Ja();const c=typeof i=="string"?new Sn(i):void 0,h=await ru(s,r,a,{type:1,triggerAction:uo.Default,filter:{includeSourceActions:!0,include:c}},Ka.None,gi.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(gi.None));try{return await Promise.all(g),h.validActions.map(p=>p.action)}finally{setTimeout(()=>h.dispose(),100)}});var F3=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},H3=function(o,e){return function(t,i){e(t,i,o)}},ES,gd;let PS=(gd=class{constructor(e){this.keybindingService=e}getResolver(){const e=new m0(()=>this.keybindingService.getKeybindings().filter(t=>ES.codeActionCommands.indexOf(t.command)>=0).filter(t=>t.resolvedKeybinding).map(t=>{let i=t.commandArgs;return t.command===IS?i={kind:fn.SourceOrganizeImports.value}:t.command===DS&&(i={kind:fn.SourceFixAll.value}),{resolvedKeybinding:t.resolvedKeybinding,...ga.fromUser(i,{kind:Sn.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 Sn(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)}},ES=gd,gd.codeActionCommands=[ZT,KT,XT,IS,DS],gd);PS=ES=F3([H3(0,ns)],PS);mt("symbolIcon.arrayForeground",cs,w("symbolIcon.arrayForeground","The foreground color for array symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));mt("symbolIcon.booleanForeground",cs,w("symbolIcon.booleanForeground","The foreground color for boolean symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));mt("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."));mt("symbolIcon.colorForeground",cs,w("symbolIcon.colorForeground","The foreground color for color symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));mt("symbolIcon.constantForeground",cs,w("symbolIcon.constantForeground","The foreground color for constant symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));mt("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."));mt("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."));mt("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."));mt("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."));mt("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."));mt("symbolIcon.fileForeground",cs,w("symbolIcon.fileForeground","The foreground color for file symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));mt("symbolIcon.folderForeground",cs,w("symbolIcon.folderForeground","The foreground color for folder symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));mt("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."));mt("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."));mt("symbolIcon.keyForeground",cs,w("symbolIcon.keyForeground","The foreground color for key symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));mt("symbolIcon.keywordForeground",cs,w("symbolIcon.keywordForeground","The foreground color for keyword symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));mt("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."));mt("symbolIcon.moduleForeground",cs,w("symbolIcon.moduleForeground","The foreground color for module symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));mt("symbolIcon.namespaceForeground",cs,w("symbolIcon.namespaceForeground","The foreground color for namespace symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));mt("symbolIcon.nullForeground",cs,w("symbolIcon.nullForeground","The foreground color for null symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));mt("symbolIcon.numberForeground",cs,w("symbolIcon.numberForeground","The foreground color for number symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));mt("symbolIcon.objectForeground",cs,w("symbolIcon.objectForeground","The foreground color for object symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));mt("symbolIcon.operatorForeground",cs,w("symbolIcon.operatorForeground","The foreground color for operator symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));mt("symbolIcon.packageForeground",cs,w("symbolIcon.packageForeground","The foreground color for package symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));mt("symbolIcon.propertyForeground",cs,w("symbolIcon.propertyForeground","The foreground color for property symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));mt("symbolIcon.referenceForeground",cs,w("symbolIcon.referenceForeground","The foreground color for reference symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));mt("symbolIcon.snippetForeground",cs,w("symbolIcon.snippetForeground","The foreground color for snippet symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));mt("symbolIcon.stringForeground",cs,w("symbolIcon.stringForeground","The foreground color for string symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));mt("symbolIcon.structForeground",cs,w("symbolIcon.structForeground","The foreground color for struct symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));mt("symbolIcon.textForeground",cs,w("symbolIcon.textForeground","The foreground color for text symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));mt("symbolIcon.typeParameterForeground",cs,w("symbolIcon.typeParameterForeground","The foreground color for type parameter symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));mt("symbolIcon.unitForeground",cs,w("symbolIcon.unitForeground","The foreground color for unit symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));mt("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 YT=Object.freeze({kind:Sn.Empty,title:w("codeAction.widget.id.more","More Actions...")}),W3=Object.freeze([{kind:fn.QuickFix,title:w("codeAction.widget.id.quickfix","Quick Fix")},{kind:fn.RefactorExtract,title:w("codeAction.widget.id.extract","Extract"),icon:Zt.wrench},{kind:fn.RefactorInline,title:w("codeAction.widget.id.inline","Inline"),icon:Zt.wrench},{kind:fn.RefactorRewrite,title:w("codeAction.widget.id.convert","Rewrite"),icon:Zt.wrench},{kind:fn.RefactorMove,title:w("codeAction.widget.id.move","Move"),icon:Zt.wrench},{kind:fn.SurroundWith,title:w("codeAction.widget.id.surround","Surround With"),icon:Zt.surroundWith},{kind:fn.Source,title:w("codeAction.widget.id.source","Source Action"),icon:Zt.symbolFile},YT]);function B3(o,e,t){if(!e)return o.map(s=>{var r;return{kind:"action",item:s,group:YT,disabled:!!s.action.disabled,label:s.action.disabled||s.action.title,canPreview:!!((r=s.action.edit)!=null&&r.edits.length)}});const i=W3.map(s=>({group:s,actions:[]}));for(const s of o){const r=s.action.kind?new Sn(s.action.kind):Sn.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:Zt.sparkle}:a,label:r.action.title,disabled:!!r.action.disabled,keybinding:t(r.action)})}}return n}var z3=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(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)}},Xh;const Pk=Xn("gutter-lightbulb",Zt.lightBulb,w("gutterLightbulbWidget","Icon which spawns code actions menu from the gutter when there is no space in the editor.")),Tk=Xn("gutter-lightbulb-auto-fix",Zt.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.")),Mk=Xn("gutter-lightbulb-sparkle",Zt.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.")),Nk=Xn("gutter-lightbulb-aifix-auto-fix",Zt.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.")),Rk=Xn("gutter-lightbulb-sparkle-filled",Zt.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 Cr;(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})(Cr||(Cr={}));var Za;let Yf=(Za=class extends je{constructor(e,t){super(),this._editor=e,this._keybindingService=t,this._onClick=this._register(new ui),this.onClick=this._onClick.event,this._state=Cr.Hidden,this._gutterState=Cr.Hidden,this._iconClasses=[],this.lightbulbClasses=["codicon-"+Pk.id,"codicon-"+Nk.id,"codicon-"+Tk.id,"codicon-"+Mk.id,"codicon-"+Rk.id],this.gutterDecoration=Xh.GUTTER_DECORATION,this._domNode=pt("div.lightBulbWidget"),this._domNode.role="listbox",this._register(JD.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(yA(this._domNode,i=>{if(this.state.type!==1)return;this._editor.focus(),i.preventDefault();const{top:n,height:s}=Gs(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(as.runAndSubscribe(this._keybindingService.onDidUpdateKeybindings,()=>{var i,n;this._preferredKbLabel=((i=this._keybindingService.lookupKeybinding(GT))==null?void 0:i.getLabel())??void 0,this._quickFixKbLabel=((n=this._keybindingService.lookupKeybinding(l1))==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}=Gs(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=_0(f,h),v=g.spaceWidth*p>22,_=O=>O>2&&this._editor.getTopForLineNumber(O)===this._editor.getTopForLineNumber(O-1),y=this._editor.getLineDecorations(a);let S=!1;if(y)for(const O of y){const J=O.options.glyphMarginClassName;if(J&&!this.lightbulbClasses.some(X=>J.includes(X))){S=!0;break}}let D=a,E=1;if(!v){const O=J=>{const X=r.getLineContent(J);return/^\s*$|^\s+/.test(X)||X.length<=E};if(a>1&&!_(a-1)){const J=r.getLineCount(),X=a===J,fe=a>1&&O(a-1),Ee=!X&&O(a+1),$e=O(a),me=!Ee&&!fe;if(!Ee&&!fe&&!S)return this.gutterState=new Cr.Showing(e,t,i,{position:{lineNumber:D,column:E},preference:Xh._posPref}),this.renderGutterLightbub(),this.hide();fe||X||fe&&!$e?D-=1:(Ee||me&&$e)&&(D+=1)}else if(a===1&&(a===r.getLineCount()||!O(a+1)&&!O(a)))if(this.gutterState=new Cr.Showing(e,t,i,{position:{lineNumber:D,column:E},preference:Xh._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();E=/^\S\s*$/.test(r.getLineContent(D))?2:1}this.state=new Cr.Showing(e,t,i,{position:{lineNumber:D,column:E},preference:Xh._posPref}),this._gutterDecorationID&&(this._removeGutterDecoration(this._gutterDecorationID),this.gutterHide());const N=e.validActions,z=e.validActions[0].action.kind;if(N.length!==1||!z){this._editor.layoutContentWidget(this);return}this._editor.layoutContentWidget(this)}hide(){this.state!==Cr.Hidden&&(this.state=Cr.Hidden,this._editor.layoutContentWidget(this))}gutterHide(){this.gutterState!==Cr.Hidden&&(this._gutterDecorationID&&this._removeGutterDecoration(this._gutterDecorationID),this.gutterState=Cr.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=Zt.sparkleFilled,this.state.actions.validActions.length===1&&(t=!0)):this.state.actions.hasAutoFix?this.state.actions.hasAIFix?e=Zt.lightbulbSparkleAutofix:e=Zt.lightbulbAutofix:this.state.actions.hasAIFix?e=Zt.lightbulbSparkle:e=Zt.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=Rk,this.gutterState.actions.validActions.length===1&&(t=!0)):this.gutterState.actions.hasAutoFix?this.gutterState.actions.hasAIFix?e=Nk:e=Tk:this.gutterState.actions.hasAIFix?e=Mk:e=Pk,this._updateLightbulbTitle(this.gutterState.actions.hasAutoFix,t);const i=Li.register({description:"codicon-gutter-lightbulb-decoration",glyphMarginClassName:qi.asClassName(e),glyphMargin:{position:w_.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}},Xh=Za,Za.GUTTER_DECORATION=Li.register({description:"codicon-gutter-lightbulb-decoration",glyphMarginClassName:qi.asClassName(Zt.lightBulb),glyphMargin:{position:w_.Left},stickiness:1}),Za.ID="editor.contrib.lightbulbWidget",Za._posPref=[0],Za);Yf=Xh=z3([V3(1,ns)],Yf);var JT=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},TS=function(o,e){return function(t,i){e(t,i,o)}};const QT="acceptSelectedCodeAction",eM="previewSelectedCodeAction";class j3{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 MS=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 v0(e,b0);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(Zt.lightBulb),i.icon.style.color="var(--vscode-editorLightBulb-foreground)"),!e.item||!e.label)return;i.text.textContent=tM(e.label),i.keybinding.set(e.keybinding),SA(!!e.keybinding,i.keybinding.element);const n=(a=this._keybindingService.lookupKeybinding(QT))==null?void 0:a.getLabel(),s=(c=this._keybindingService.lookupKeybinding(eM))==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()}};MS=JT([TS(1,ns)],MS);class U3 extends UIEvent{constructor(){super("acceptSelectedAction")}}class Ak extends UIEvent{constructor(){super("previewSelectedAction")}}function $3(o){if(o.kind==="action")return o.label}let NS=class extends je{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 ps),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 w0(e,this.domNode,a,[new MS(t,this._keybindingService),new j3],{keyboardSupport:!1,typeNavigationEnabled:!0,keyboardNavigationLabelProvider:{getKeyboardNavigationLabel:$3},accessibilityProvider:{getAriaLabel:c=>{if(c.kind==="action"){let h=c.label?tM(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(CA),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 Ak:new U3;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 Ak):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([])}};NS=JT([TS(4,Wb),TS(5,ns)],NS);function tM(o){return o.replace(/\r\n|\r|\n/g," ")}var q3=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(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)}};mt("actionBar.toggledBackground",y0,w("actionBar.toggledBackground","Background color for toggled action items in action bar."));const rh={Visible:new Pi("codeActionMenuVisible",!1,w("codeActionMenuVisible","Whether the action widget list is visible"))},wh=fl("actionWidgetService");let ah=class extends je{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 Eo)}show(e,t,i,n,s,r,a){const c=rh.Visible.bindTo(this._contextKeyService),h=this._instantiationService.createInstance(NS,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 Be,r=document.createElement("div"),a=e.appendChild(r);a.classList.add("context-view-block"),s.add(Oi(a,Hn.MOUSE_DOWN,_=>_.stopPropagation()));const c=document.createElement("div"),h=e.appendChild(c);h.classList.add("context-view-pointerBlock"),s.add(Oi(h,Hn.POINTER_MOVE,()=>h.remove())),s.add(Oi(h,Hn.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(Uu(e));return s.add(p.onDidBlur(()=>this.hide(!0))),s}_createActionBar(e,t){if(!t.length)return;const i=pt(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=q3([ly(0,Wb),ly(1,Fi),ly(2,li)],ah);pl(wh,ah,1);const Yp=1100;Ji(class extends Ys{constructor(){super({id:"hideCodeActionWidget",title:St("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 Ys{constructor(){super({id:"selectPrevCodeAction",title:St("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 Ys{constructor(){super({id:"selectNextCodeAction",title:St("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 Ys{constructor(){super({id:QT,title:St("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 Ys{constructor(){super({id:eM,title:St("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 iM=new Pi("supportedCodeAction",""),Ok="_typescript.applyFixAllCodeAction";class K3 extends je{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=>y_(i,t.uri))&&this._tryAutoTrigger()}_tryAutoTrigger(){this._autoTriggerTimer.cancelAndSet(()=>{this.trigger({type:2,triggerAction:uo.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!==Uw.Off){{if(i===Uw.On)return t;if(i===Uw.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(xc(r))return nM;throw r})}cancel(){this._cancellablePromise.cancel()}}o.Triggered=e})(Bc||(Bc={}));const nM=Object.freeze({allActions:[],validActions:[],dispose:()=>{},documentation:[],hasAutoFix:!1,hasAIFix:!1,allAIFixes:!1});class G3 extends je{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 Eo),this._state=Bc.Empty,this._onDidChangeState=this._register(new ui),this.onDidChangeState=this._onDidChangeState.event,this._disposed=!1,this._supportedCodeActions=iM.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 K3(this._editor,this._markerService,i=>{var c;if(!i){this.setState(Bc.Empty);return}const n=i.selection.getStartPosition(),s=fs(async h=>{var g,f,p,v,_,y,S,D,E,N;if(this._settingEnabledNearbyQuickfixes()&&i.trigger.type===1&&(i.trigger.triggerAction===uo.QuickFix||(f=(g=i.trigger.filter)==null?void 0:g.include)!=null&&f.contains(fn.QuickFix))){const z=await ru(this._registry,e,i.selection,i.trigger,Ka.None,h),O=[...z.allActions];if(h.isCancellationRequested)return nM;const J=(p=z.validActions)==null?void 0:p.some(fe=>fe.action.kind?fn.QuickFix.contains(new Sn(fe.action.kind)):!1),X=this._markerService.read({resource:e.uri});if(J){for(const fe of z.validActions)(_=(v=fe.action.command)==null?void 0:v.arguments)!=null&&_.some(Ee=>typeof Ee=="string"&&Ee.includes(Ok))&&(fe.action.diagnostics=[...X.filter(Ee=>Ee.relatedInformation)]);return{validActions:z.validActions,allActions:O,documentation:z.documentation,hasAutoFix:z.hasAutoFix,hasAIFix:z.hasAIFix,allAIFixes:z.allAIFixes,dispose:()=>{z.dispose()}}}else if(!J&&X.length>0){const fe=i.selection.getPosition();let Ee=fe,$e=Number.MAX_VALUE;const me=[...z.validActions];for(const Xt of X){const wt=Xt.endColumn,Yt=Xt.endLineNumber,Ft=Xt.startLineNumber;if(Yt===fe.lineNumber||Ft===fe.lineNumber){Ee=new xt(Yt,wt);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:fn.QuickFix},autoApply:i.trigger.autoApply,context:{notAvailableMessage:((D=i.trigger.context)==null?void 0:D.notAvailableMessage)||"",position:Ee}},de=new Ut(Ee.lineNumber,Ee.column,Ee.lineNumber,Ee.column),yt=await ru(this._registry,e,de,Jt,Ka.None,h);if(yt.validActions.length!==0){for(const We of yt.validActions)(N=(E=We.action.command)==null?void 0:E.arguments)!=null&&N.some(Ze=>typeof Ze=="string"&&Ze.includes(Ok))&&(We.action.diagnostics=[...X.filter(Ze=>Ze.relatedInformation)]);z.allActions.length===0&&O.push(...yt.allActions),Math.abs(fe.column-wt)<$e?me.unshift(...yt.validActions):me.push(...yt.validActions)}$e=Math.abs(fe.column-wt)}}const at=me.filter((Xt,wt,Yt)=>Yt.findIndex(Ft=>Ft.action.title===Xt.action.title)===wt);return at.sort((Xt,wt)=>Xt.action.isPreferred&&!wt.action.isPreferred?-1:!Xt.action.isPreferred&&wt.action.isPreferred||Xt.action.isAI&&!wt.action.isAI?1:!Xt.action.isAI&&wt.action.isAI?-1:0),{validActions:at,allActions:O,documentation:z.documentation,hasAutoFix:z.hasAutoFix,hasAIFix:z.hasAIFix,allAIFixes:z.allAIFixes,dispose:()=>{z.dispose()}}}}if(i.trigger.type===1){const z=new ho,O=await ru(this._registry,e,i.selection,i.trigger,Ka.None,h);return this._telemetryService&&this._telemetryService.publicLog2("codeAction.invokedDurations",{codeActions:O.validActions.length,duration:z.elapsed()}),O}return ru(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:uo.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 Z3=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(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)}},Yh;const X3="quickfix-edit-highlight";var ec;let og=(ec=class extends je{static get(e){return e.getContribution(Yh.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 Eo),this._showDisabled=!1,this._disposed=!1,this._editor=e,this._model=this._register(new G3(this._editor,s.codeActionProvider,t,i,r,c,this._telemetryService)),this._register(this._model.onDidChangeState(p=>this.update(p))),this._lightBulbWidget=new m0(()=>{const p=this._editor.getContribution(Yf.ID);return p&&this._register(p.onClick(v=>this.showCodeActionsFromLightbulb(v.actions,v))),p}),this._resolver=n.createInstance(PS),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=ao.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(A3,e,n,{preview:i,editor:this._editor})}finally{t&&this._trigger({type:2,triggerAction:uo.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){dn(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=ao.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=ao.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=xt.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 Sn(p);f=[fn.RefactorExtract,fn.RefactorInline,fn.RefactorRewrite,fn.RefactorMove,fn.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:Yh.DECORATION})):p.map(y=>({range:y,options:Yh.DECORATION}));n.set(_)}else if(v&&v.length>0){const _=v.map(S=>({range:S,options:Yh.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;$u(w("editingNewSelection","Context: {0} at line {1} and column {2}.",S,y.startLineNumber,y.startColumn))}}}else n.clear()}};this._actionWidgetService.show("codeActionWidget",!0,B3(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=Gs(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}},Yh=ec,ec.ID="editor.contrib.codeActionController",ec.DECORATION=Li.register({description:"quickfix-highlight",className:X3}),ec);og=Yh=Z3([Jr(1,S0),Jr(2,Fi),Jr(3,li),Jr(4,Lt),Jr(5,Np),Jr(6,us),Jr(7,Cn),Jr(8,wh),Jr(9,li),Jr(10,Vr)],og);Bb((o,e)=>{((n,s)=>{s&&e.addRule(`.monaco-editor ${n} { background-color: ${s}; }`)})(".quickfix-edit-highlight",o.getColor(xA));const i=o.getColor(QD);i&&e.addRule(`.monaco-editor .quickfix-edit-highlight { border: 1px ${Ff(o.type)?"dotted":"solid"} ${i}; box-sizing: border-box; }`)});function Jp(o){return ae.regex(iM.keys()[0],new RegExp("(\\s|^)"+Hf(o.value)+"\\b"))}const c1={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=uo.Default){if(o.hasModel()){const s=og.get(o);s==null||s.manualTriggerAtCurrentPosition(e,n,t,i)}}class Y3 extends we{constructor(){super({id:l1,label:w("quickfix.trigger.label","Quick Fix..."),alias:"Quick Fix...",precondition:ae.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,uo.QuickFix)}}class J3 extends Js{constructor(){super({id:KT,precondition:ae.and(M.writable,M.hasCodeActionsProvider),metadata:{description:"Trigger a code action",args:[{name:"args",schema:c1}]}})}runEditorCommand(e,t,i){const n=ga.fromUser(i,{kind:Sn.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 Q3 extends we{constructor(){super({id:ZT,label:w("refactor.label","Refactor..."),alias:"Refactor...",precondition:ae.and(M.writable,M.hasCodeActionsProvider),kbOpts:{kbExpr:M.textInputFocus,primary:3120,mac:{primary:1328},weight:100},contextMenuOpts:{group:"1_modification",order:2,when:ae.and(M.writable,Jp(fn.Refactor))},metadata:{description:"Refactor...",args:[{name:"args",schema:c1}]}})}run(e,t,i){const n=ga.fromUser(i,{kind:fn.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:fn.Refactor.contains(n.kind)?n.kind:Sn.None,onlyIncludePreferredActions:n.preferred},n.apply,uo.Refactor)}}class eB extends we{constructor(){super({id:XT,label:w("source.label","Source Action..."),alias:"Source Action...",precondition:ae.and(M.writable,M.hasCodeActionsProvider),contextMenuOpts:{group:"1_modification",order:2.1,when:ae.and(M.writable,Jp(fn.Source))},metadata:{description:"Source Action...",args:[{name:"args",schema:c1}]}})}run(e,t,i){const n=ga.fromUser(i,{kind:fn.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:fn.Source.contains(n.kind)?n.kind:Sn.None,includeSourceActions:!0,onlyIncludePreferredActions:n.preferred},n.apply,uo.SourceAction)}}class tB extends we{constructor(){super({id:IS,label:w("organizeImports.label","Organize Imports"),alias:"Organize Imports",precondition:ae.and(M.writable,Jp(fn.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:fn.SourceOrganizeImports,includeSourceActions:!0},"ifSingle",uo.OrganizeImports)}}class iB extends we{constructor(){super({id:DS,label:w("fixAll.label","Fix All"),alias:"Fix All",precondition:ae.and(M.writable,Jp(fn.SourceFixAll))})}run(e,t){return yh(t,w("fixAll.noneMessage","No fix all action available"),{include:fn.SourceFixAll,includeSourceActions:!0},"ifSingle",uo.FixAll)}}class nB extends we{constructor(){super({id:GT,label:w("autoFix.label","Auto Fix..."),alias:"Auto Fix...",precondition:ae.and(M.writable,Jp(fn.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:fn.QuickFix,onlyIncludePreferredActions:!0},"ifSingle",uo.AutoFix)}}_i(og.ID,og,3);_i(Yf.ID,Yf,4);ne(Y3);ne(Q3);ne(eB);ne(tB);ne(nB);ne(iB);Et(new J3);Br.as(Rp.Configuration).registerConfiguration({...zb,properties:{"editor.codeActionWidget.showHeaders":{type:"boolean",scope:5,description:w("showCodeActionHeaders","Enable/disable showing group headers in the Code Action menu."),default:!0}}});Br.as(Rp.Configuration).registerConfiguration({...zb,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}}});Br.as(Rp.Configuration).registerConfiguration({...zb,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 RS{constructor(){this.lenses=[],this._disposables=new Be}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 sM(o,e,t){const i=o.ordered(e),n=new Map,s=new RS,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){Jn(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}mn.registerCommand("_executeCodeLensProvider",function(o,...e){let[t,i]=e;Wi(on.isUri(t)),Wi(typeof i=="number"||!i);const{codeLensProvider:n}=o.get(Lt),s=o.get(Vs).getModel(t);if(!s)throw Ja();const r=[],a=new Be;return sM(n,s,gi.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,gi.None)).then(f=>r.push(f||g.symbol)));return Promise.all(h)}).then(()=>r).finally(()=>{setTimeout(()=>a.dispose(),100)})});var sB=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},oB=function(o,e){return function(t,i){e(t,i,o)}};const oM=fl("ICodeLensCache");class Fk{constructor(e,t){this.lineCount=e,this.data=t}}let AS=class{constructor(e){this._fakeProvider=new class{provideCodeLenses(){throw new Error("not supported")}},this._cache=new Ap(20,.75);const t="codelens/cache";LA(kA,()=>e.remove(t,1));const i="codelens/cache2",n=e.get(i,1,"{}");this._deserialize(n);const s=as.filter(e.onWillSaveState,r=>r.reason===C0.SHUTDOWN);as.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 RS;n.add({lenses:i,dispose:()=>{}},this._fakeProvider);const s=new Fk(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 RS;r.add({lenses:s,dispose(){}},this._fakeProvider),this._cache.set(i,new Fk(n.lineCount,r))}}catch{}}};AS=sB([oB(0,Lc)],AS);pl(oM,AS,1);class rB{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=IA(r.command.title.trim());if(r.command.id){const c=`c${Nf._idPool++}`;i.push(pt("a",{id:c,title:r.command.tooltip,role:"button"},...a)),this._commands.set(c,r.command)}else i.push(pt("span",{title:r.command.tooltip},...a));s+1<e.length&&i.push(pt("span",void 0," | "))}}n?(S_(this._domNode,...i),this._isEmpty&&t&&this._domNode.classList.add("fadein"),this._isEmpty=!1):S_(this._domNode,pt("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 OS=Nf;class cy{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 Hk=Li.register({collapseOnReplaceEdit:!0,description:"codelens"});class Wk{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:Hk},f=>this._decorationIds[g]=f),a?a=B.plusRange(a,h.symbol.range):a=B.lift(h.symbol.range)}),this._viewZone=new rB(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 OS(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:Hk},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 aB=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Vg=function(o,e){return function(t,i){e(t,i,o)}},Mu;let Jf=(Mu=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 Be,this._localToDispose=new Be,this._lenses=[],this._oldCodeLensModels=new Be,this._provideCodeLensDebounce=i.for(t.codeLensProvider,"CodeLensProvide",{min:250}),this._resolveCodeLensesDebounce=i.for(t.codeLensProvider,"CodeLensResolve",{min:250,salt:"resolve"}),this._resolveCodeLensesScheduler=new ls(()=>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",x0.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 ls(()=>{var s;const n=Date.now();(s=this._getCodeLensModelPromise)==null||s.cancel(),this._getCodeLensModelPromise=fs(r=>sM(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()},dn)},this._provideCodeLensDebounce.get(e));this._localToDispose.add(i),this._localToDispose.add(yn(()=>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 cy;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(yn(()=>{if(this._editor.getModel()){const n=qu.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 cy;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=qu.capture(this._editor),r=this._getLayoutInfo();this._editor.changeDecorations(a=>{this._editor.changeViewZones(c=>{const h=new cy;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 Wk(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 Wk(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=fs(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},Jn):(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=>{dn(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}},Mu.ID="css.editor.codeLens",Mu);Jf=aB([Vg(1,Lt),Vg(2,qo),Vg(3,us),Vg(4,zs),Vg(5,oM)],Jf);_i(Jf.ID,Jf,1);ne(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(us),s=e.get(zs),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 rM=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},FS=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 xi(new Ku(Math.round(255*s.red),Math.round(255*s.green),Math.round(255*s.blue),r)),c=r?xi.Format.CSS.formatRGB(a):xi.Format.CSS.formatRGBA(a),h=r?xi.Format.CSS.formatHSL(a):xi.Format.CSS.formatHSLA(a),g=r?xi.Format.CSS.formatHex(a):xi.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=rM([FS(0,ml)],Qf);let HS=class extends je{constructor(e,t){super(),this._register(e.colorProvider.register("*",new Qf(t)))}};HS=rM([FS(0,Lt),FS(1,ml)],HS);Sg(HS);async function aM(o,e,t,i=!0){return d1(new lB,o,e,t,i)}function lM(o,e,t,i){return Promise.resolve(t.provideColorPresentations(o,e,i))}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({colorInfo:r,provider:e});return Array.isArray(s)}}class cB{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 dB{constructor(e){this.colorInfo=e}async compute(e,t,i,n){const s=await e.provideColorPresentations(t,this.colorInfo,gi.None);return Array.isArray(s)&&n.push(...s),Array.isArray(s)}}async function d1(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){Jn(f)}}return s?a:r&&n?(await o.compute(r,t,i,a),a):[]}function cM(o,e){const{colorProvider:t}=o.get(Lt),i=o.get(Vs).getModel(e);if(!i)throw Ja();const n=o.get(Cn).getValue("editor.defaultColorDecorators",{resource:e});return{model:i,colorProviderRegistry:t,isDefaultColorDecoratorsEnabled:n}}mn.registerCommand("_executeDocumentColorProvider",function(o,...e){const[t]=e;if(!(t instanceof on))throw Ja();const{model:i,colorProviderRegistry:n,isDefaultColorDecoratorsEnabled:s}=cM(o,t);return d1(new cB,n,i,gi.None,s)});mn.registerCommand("_executeColorPresentationProvider",function(o,...e){const[t,i]=e,{uri:n,range:s}=i;if(!(n instanceof on)||!Array.isArray(t)||t.length!==4||!B.isIRange(s))throw Ja();const{model:r,colorProviderRegistry:a,isDefaultColorDecoratorsEnabled:c}=cM(o,n),[h,g,f,p]=t;return d1(new dB({range:s,color:{red:h,green:g,blue:f,alpha:p}}),a,r,gi.None,c)});var hB=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},dy=function(o,e){return function(t,i){e(t,i,o)}},WS;const dM=Object.create({});var tc;let rg=(tc=class extends je{constructor(e,t,i,n){super(),this._editor=e,this._configurationService=t,this._languageFeaturesService=i,this._localToDispose=this._register(new Be),this._decorationsIds=[],this._colorDatas=new Map,this._colorDecoratorIds=this._editor.createDecorationsCollection(),this._ruleFactory=new eE(this._editor),this._decoratorLimitReporter=new uB,this._colorDecorationClassRefs=this._register(new Be),this._debounceInformation=n.for(i.colorProvider,"Document Colors",{min:WS.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=fs(async e=>{const t=this._editor.getModel();if(!t)return[];const i=new ho(!1),n=await aM(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){dn(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:Li.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 Ku(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:XD,inlineClassName:`${p.className} colorpicker-color-decoration`,inlineClassNameAffectsLetterSpacing:!0,attachedData:dM}}})}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)}},WS=tc,tc.ID="editor.contrib.colorDetector",tc.RECOMPUTE_TIME=1e3,tc);rg=WS=hB([dy(1,Cn),dy(2,Lt),dy(3,qo)],rg);class uB{constructor(){this._onDidChange=new ui,this._computed=0,this._limited=!1}update(e,t){(e!==this._computed||t!==this._limited)&&(this._computed=e,this._limited=t,this._onDidChange.fire())}}_i(rg.ID,rg,1);class gB{get color(){return this._color}set color(e){this._color.equals(e)||(this._color=e,this._onDidChangeColor.fire(e))}get presentation(){return this.colorPresentations[this.presentationIndex]}get colorPresentations(){return this._colorPresentations}set colorPresentations(e){this._colorPresentations=e,this.presentationIndex>e.length-1&&(this.presentationIndex=0),this._onDidChangePresentation.fire(this.presentation)}constructor(e,t,i){this.presentationIndex=i,this._onColorFlushed=new ui,this.onColorFlushed=this._onColorFlushed.event,this._onDidChangeColor=new ui,this.onDidChangeColor=this._onDidChangeColor.event,this._onDidChangePresentation=new ui,this.onDidChangePresentation=this._onDidChangePresentation.event,this.originalColor=e,this._color=e,this._colorPresentations=t}selectNextColorPresentation(){this.presentationIndex=(this.presentationIndex+1)%this.colorPresentations.length,this.flushColor(),this._onDidChangePresentation.fire(this.presentation)}guessColorPresentation(e,t){let i=-1;for(let n=0;n<this.colorPresentations.length;n++)if(t.toLowerCase()===this.colorPresentations[n].label){i=n;break}if(i===-1){const n=t.split("(")[0].toLowerCase();for(let s=0;s<this.colorPresentations.length;s++)if(this.colorPresentations[s].label.toLowerCase().startsWith(n)){i=s;break}}i!==-1&&i!==this.presentationIndex&&(this.presentationIndex=i,this._onDidChangePresentation.fire(this.presentation))}flushColor(){this._onColorFlushed.fire(this._color)}}const Lo=pt;class fB extends je{constructor(e,t,i,n=!1){super(),this.model=t,this.showingStandaloneColorPicker=n,this._closeButton=null,this._domNode=Lo(".colorpicker-header"),lt(e,this._domNode),this._pickedColorNode=lt(this._domNode,Lo(".picked-color")),lt(this._pickedColorNode,Lo("span.codicon.codicon-color-mode")),this._pickedColorPresentation=lt(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=lt(this._domNode,Lo(".original-color")),this._originalColorNode.style.backgroundColor=xi.Format.CSS.format(this.model.originalColor)||"",this.backgroundColor=i.getColorTheme().getColor(NL)||xi.white,this._register(i.onDidColorThemeChange(r=>{this.backgroundColor=r.getColor(NL)||xi.white})),this._register(Oi(this._pickedColorNode,Hn.CLICK,()=>this.model.selectNextColorPresentation())),this._register(Oi(this._originalColorNode,Hn.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=xi.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 pB(this._domNode)))}get closeButton(){return this._closeButton}get pickedColorNode(){return this._pickedColorNode}get originalColorNode(){return this._originalColorNode}onDidChangeColor(e){this._pickedColorNode.style.backgroundColor=xi.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 pB extends je{constructor(e){super(),this._onClicked=this._register(new ui),this.onClicked=this._onClicked.event,this._button=document.createElement("div"),this._button.classList.add("close-button"),lt(e,this._button);const t=document.createElement("div");t.classList.add("close-button-inner-div"),lt(this._button,t),lt(t,Lo(".button"+qi.asCSSSelector(Xn("color-picker-close",Zt.close,w("closeIcon","Icon to close the color picker"))))).classList.add("close-icon"),this._register(Oi(this._button,Hn.CLICK,()=>{this._onClicked.fire()}))}}class mB extends je{constructor(e,t,i,n=!1){super(),this.model=t,this.pixelRatio=i,this._insertButton=null,this._domNode=Lo(".colorpicker-body"),lt(e,this._domNode),this._saturationBox=new _B(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 vB(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 bB(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 wB(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 xi(new Zm(i.h,e,t,i.a))}onDidOpacityChange(e){const t=this.model.color.hsva;this.model.color=new xi(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 xi(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 _B extends je{constructor(e,t,i){super(),this.model=t,this.pixelRatio=i,this._onDidChange=new ui,this.onDidChange=this._onDidChange.event,this._onColorFlushed=new ui,this.onColorFlushed=this._onColorFlushed.event,this._domNode=Lo(".saturation-wrap"),lt(e,this._domNode),this._canvas=document.createElement("canvas"),this._canvas.className="saturation-box",lt(this._domNode,this._canvas),this.selection=Lo(".saturation-selection"),lt(this._domNode,this.selection),this.layout(),this._register(Oi(this._domNode,Hn.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 tE);const t=Gs(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,Hn.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 xi(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=xi.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 hM extends je{constructor(e,t,i=!1){super(),this.model=t,this._onDidChange=new ui,this.onDidChange=this._onDidChange.event,this._onColorFlushed=new ui,this.onColorFlushed=this._onColorFlushed.event,i?(this.domNode=lt(e,Lo(".standalone-strip")),this.overlay=lt(this.domNode,Lo(".standalone-overlay"))):(this.domNode=lt(e,Lo(".strip")),this.overlay=lt(this.domNode,Lo(".overlay"))),this.slider=lt(this.domNode,Lo(".slider")),this.slider.style.top="0px",this._register(Oi(this.domNode,Hn.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 tE),i=Gs(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,Hn.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 vB extends hM{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 xi(new Ku(t,i,n,1)),r=new xi(new Ku(t,i,n,0));this.overlay.style.background=`linear-gradient(to bottom, ${s} 0%, ${r} 100%)`}getValue(e){return e.hsva.a}}class bB extends hM{constructor(e,t,i=!1){super(e,t,i),this.domNode.classList.add("hue-strip")}getValue(e){return 1-e.hsva.h/360}}class wB extends je{constructor(e){super(),this._onClicked=this._register(new ui),this.onClicked=this._onClicked.event,this._button=lt(e,document.createElement("button")),this._button.classList.add("insert-button"),this._button.textContent="Insert",this._register(Oi(this._button,Hn.CLICK,()=>{this._onClicked.fire()}))}get button(){return this._button}}class yB extends Op{constructor(e,t,i,n,s=!1){super(),this.model=t,this.pixelRatio=i,this._register(DA.getInstance(ed(e)).onDidChange(()=>this.layout())),this._domNode=Lo(".colorpicker-widget"),e.appendChild(this._domNode),this.header=this._register(new fB(this._domNode,this.model,n,s)),this.body=this._register(new mB(this._domNode,this.model,this.pixelRatio,s))}layout(){this.body.layout()}get domNode(){return this._domNode}}class hy{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 uM=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},gM=function(o,e){return function(t,i){e(t,i,o)}};class SB{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 Rr.fromPromise(this._computeAsync(e,t,i))}async _computeAsync(e,t,i){if(!this._editor.hasModel())return[];const n=rg.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 fM(this,this._editor.getModel(),r.colorInfo,r.provider)]}return[]}renderHoverParts(e,t){const i=pM(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=uM([gM(1,mr)],ep);class CB{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()||!rg.get(this._editor))return null;const s=await aM(i,this._editor.getModel(),gi.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 fM(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=mM(this._editor,i,t))}renderHoverParts(e,t){return pM(this,this._editor,this._themeService,t,e)}set color(e){this._color=e}get color(){return this._color}};tp=uM([gM(1,mr)],tp);async function fM(o,e,t,i){const n=e.getValueInRange(t.range),{red:s,green:r,blue:a,alpha:c}=t.color,h=new Ku(Math.round(s*255),Math.round(r*255),Math.round(a*255),c),g=new xi(h),f=await lM(e,t,i,gi.None),p=new gB(g,[],0);return p.colorPresentations=f||[],p.guessColorPresentation(g,n),o instanceof ep?new SB(o,B.lift(t.range),p,i):new CB(o,B.lift(t.range),p,i)}function pM(o,e,t,i,n){if(i.length===0||!e.hasModel())return;if(n.setMinimumDimensions){const p=e.getOption(67)+8;n.setMinimumDimensions(new gn(302,p))}const s=new Be,r=i[0],a=e.getModel(),c=r.model,h=s.add(new yB(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=mM(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 mM(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 lM(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,gi.None);e.colorPresentations=s||[]}const _M="editor.action.showHover",xB="editor.action.showDefinitionPreviewHover",LB="editor.action.scrollUpHover",kB="editor.action.scrollDownHover",IB="editor.action.scrollLeftHover",DB="editor.action.scrollRightHover",EB="editor.action.pageUpHover",PB="editor.action.pageDownHover",TB="editor.action.goToTopHover",MB="editor.action.goToBottomHover",uw="editor.action.increaseHoverVerbosityLevel",NB=w({key:"increaseHoverVerbosityLevel",comment:["Label for action that will increase the hover verbosity level."]},"Increase Hover Verbosity Level"),gw="editor.action.decreaseHoverVerbosityLevel",RB=w({key:"decreaseHoverVerbosityLevel",comment:["Label for action that will decrease the hover verbosity level."]},"Decrease Hover Verbosity Level"),vM="editor.action.inlineSuggest.commit",bM="editor.action.inlineSuggest.showPrevious",wM="editor.action.inlineSuggest.showNext";var h1=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(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 BS=class extends je{constructor(e,t,i){super(),this.editor=e,this.model=t,this.instantiationService=i,this.alwaysShowToolbar=so(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 xt(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=oE((h,g)=>{const f=g.add(this.instantiationService.createInstance(ag,this.editor,!0,this.position,r.selectedInlineCompletionIndex,r.inlineCompletionsCount,r.activeCommands));return e.addContentWidget(f),g.add(yn(()=>e.removeContentWidget(f))),g.add(Fn(p=>{this.position.read(p)&&r.lastTriggerKind.read(p)!==Qa.Explicit&&r.triggerExplicitly()})),f}),c=Vb(this,(h,g)=>!!this.position.read(h)||!!g);s.add(Fn(h=>{c.read(h)&&a.read(h)}))}))}};BS=h1([or(2,li)],BS);const AB=Xn("inline-suggestion-hints-next",Zt.chevronRight,w("parameterHintsNextIcon","Icon for show next parameter hint.")),OB=Xn("inline-suggestion-hints-previous",Zt.chevronLeft,w("parameterHintsPreviousIcon","Icon for show previous parameter hint."));var ic;let ag=(ic=class extends je{static get dropDownVisible(){return this._dropDownVisible}createCommandAction(e,t,i){const n=new Gu(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(bM,w("previous","Previous"),qi.asClassName(OB)),this.availableSuggestionCountAction=new Gu("inlineSuggestionHints.availableSuggestionCount","",void 0,!1),this.nextAction=this.createCommandAction(wM,w("next","Next"),qi.asClassName(AB)),this.inlineCompletionsActionsMenus=this._register(this._menuService.createMenu(rt.InlineCompletionsActions,this._contextKeyService)),this.clearAvailableSuggestionCountLabelDebounced=this._register(new ls(()=>{this.availableSuggestionCountAction.label=""},100)),this.disableButtonsDebounced=this._register(new ls(()=>{this.previousAction.enabled=this.nextAction.enabled=!1},100)),this.toolBar=this._register(c.createInstance(zS,this.nodes.toolBar,rt.InlineSuggestionToolbar,{menuOptions:{renderShortTitle:!0},toolbarOptions:{primaryGroup:p=>p.startsWith("primary")},actionViewItemProvider:(p,v)=>{if(p instanceof Zu)return c.createInstance(HB,p,void 0);if(p===this.availableSuggestionCountAction){const _=new FB(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(Fn(p=>{this._position.read(p),this.editor.layoutContentWidget(this)})),this._register(Fn(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(Fn(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 Zu&&_.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_=ic,ic._dropDownVisible=!1,ic.id=0,ic);ag=l_=h1([or(6,us),or(7,li),or(8,ns),or(9,Fi),or(10,mh)],ag);class FB extends Uy{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 HB=class extends iE{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 v0(t,b0,{disableTitle:!0,...nE})).set(e),this.label.textContent=this._action.label,this.label.appendChild(t),this.label.classList.add("inlineSuggestionStatusBarItemLabel")}}updateTooltip(){}},zS=class extends sE{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=[];L0(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())}};zS=h1([or(3,mh),or(4,Fi),or(5,bg),or(6,ns),or(7,us),or(8,Vr)],zS);function fw(o,e,t){const i=Gs(o);return!(e<i.left||e>i.left+i.width||t<i.top||t>i.top+i.height)}let WB=class{constructor(e,t,i){this.value=e,this.isComplete=t,this.hasLoadingMessage=i}};class yM extends je{constructor(e,t){super(),this._editor=e,this._computer=t,this._onResult=this._register(new ui),this.onResult=this._onResult.event,this._firstWaitScheduler=this._register(new ls(()=>this._triggerAsyncComputation(),0)),this._secondWaitScheduler=this._register(new ls(()=>this._triggerSyncComputation(),0)),this._loadingMessageScheduler=this._register(new ls(()=>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=EA(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){dn(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 WB(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 u1{constructor(){this._onDidWillResize=new ui,this.onDidWillResize=this._onDidWillResize.event,this._onDidResize=new ui,this.onDidResize=this._onDidResize.event,this._sashListener=new Be,this._size=new gn(0,0),this._minSize=new gn(0,0),this._maxSize=new gn(Number.MAX_SAFE_INTEGER,Number.MAX_SAFE_INTEGER),this.domNode=document.createElement("div"),this._eastSash=new tu(this.domNode,{getVerticalSashLeft:()=>this._size.width},{orientation:0}),this._westSash=new tu(this.domNode,{getVerticalSashLeft:()=>0},{orientation:0}),this._northSash=new tu(this.domNode,{getHorizontalSashTop:()=>0},{orientation:1,orthogonalEdge:RL.North}),this._southSash=new tu(this.domNode,{getHorizontalSashTop:()=>this._size.height},{orientation:1,orthogonalEdge:RL.South}),this._northSash.orthogonalStartSash=this._westSash,this._northSash.orthogonalEndSash=this._eastSash,this._southSash.orthogonalStartSash=this._westSash,this._southSash.orthogonalEndSash=this._eastSash;let e,t=0,i=0;this._sashListener.add(as.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(as.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(as.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(as.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 gn(t,e);gn.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 BB=30,zB=24;class VB extends je{constructor(e,t=new gn(10,10)){super(),this._editor=e,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this._resizableNode=this._register(new u1),this._contentPosition=null,this._isResizing=!1,this._resizableNode.domNode.style.position="absolute",this._resizableNode.minSize=gn.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 gn(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?xt.lift(this._contentPosition.position):void 0}_availableVerticalSpaceAbove(e){const t=this._editor.getDomNode(),i=this._editor.getScrolledVisiblePosition(e);return!t||!i?void 0:Gs(t).top+i.top-BB}_availableVerticalSpaceBelow(e){const t=this._editor.getDomNode(),i=this._editor.getScrolledVisiblePosition(e);if(!t||!i)return;const n=Gs(t),s=Hp(t.ownerDocument.body),r=n.top+i.top+i.height;return s.height-r-zB}_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 jB=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Cm=function(o,e){return function(t,i){e(t,i,o)}},ta;const Bk=30,UB=6;var nc;let VS=(nc=class extends VB{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 gn(a,r);super(e,c),this._configurationService=i,this._accessibilityService=n,this._keybindingService=s,this._hover=this._register(new rE),this._onDidResize=this._register(new ui),this.onDidResize=this._onDidResize.event,this._minimumSize=c,this._hoverVisibleKey=M.hoverVisible.bindTo(t),this._hoverFocusedKey=M.hoverFocused.bindTo(t),lt(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(Uu(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 gn(e,t),this._setHoverWidgetMaxDimensions(e,t)}_resize(e){ta._lastDimensions=new gn(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=UB;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=Gs(this.getDomNode());this._renderedHover.closestMouseDistance===void 0&&(this._renderedHover.closestMouseDistance=zk(this._renderedHover.initialMousePosX,this._renderedHover.initialMousePosY,i.left,i.top,i.width,i.height));const n=zk(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=iu(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&&PA(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 gn(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 gn(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 gn(e,this._minimumSize.height)}onContentsChanged(){var n;this._removeConstraintsRenderNormally();const e=this._hover.containerDomNode;let t=iu(e),i=Qo(e);if(this._resizableNode.layout(t,i),this._setHoverWidgetDimensions(i,t),t=iu(e),i=Qo(e),this._contentWidth=i,this._updateMinimumWidth(),this._resizableNode.layout(t,i),(n=this._renderedHover)!=null&&n.showAtPosition){const s=iu(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-Bk})}scrollRight(){const e=this._hover.scrollbar.getScrollPosition().scrollLeft;this._hover.scrollbar.setScrollPosition({scrollLeft:e+Bk})}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=nc,nc.ID="editor.contrib.resizableContentHoverWidget",nc._lastDimensions=new gn(0,0),nc);VS=ta=jB([Cm(1,Fi),Cm(2,Cn),Cm(3,jb),Cm(4,ns)],VS);function zk(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 V_{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 Rr.EMPTY;const i=V_._getLineDecorations(this._editor,t);return Rr.merge(this._participants.map(n=>n.computeAsync?n.computeAsync(t,i,e):Rr.EMPTY))}computeSync(){if(!this._editor.hasModel()||!this._anchor)return[];const e=V_._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 SM{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 $B(this,this.anchor,t,this.isComplete)}}class $B extends SM{constructor(e,t,i,n){super(t,i,n),this.original=e}filter(e){return this.original.filter(e)}}var qB=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},KB=function(o,e){return function(t,i){e(t,i,o)}};const Vk=pt;let j_=class extends je{get hasContent(){return this._hasContent}constructor(e){super(),this._keybindingService=e,this.actions=[],this._hasContent=!1,this.hoverElement=Vk("div.hover-row.status-bar"),this.hoverElement.tabIndex=0,this.actionsElement=lt(this.hoverElement,Vk("div.actions"))}addAction(e){const t=this._keybindingService.lookupKeybinding(e.commandId),i=t?t.getLabel():null;this._hasContent=!0;const n=this._register(TA.render(this.actionsElement,e,i));return this.actions.push(n),n}append(e){const t=lt(this.actionsElement,e);return this._hasContent=!0,t}};j_=qB([KB(0,ns)],j_);class GB{constructor(e,t,i){this.provider=e,this.hover=t,this.ordinal=i}}async function ZB(o,e,t,i,n){const s=await Promise.resolve(o.provideHover(t,i,n)).catch(Jn);if(!(!s||!XB(s)))return new GB(o,s,e)}function g1(o,e,t,i,n=!1){const r=o.ordered(e,n).map((a,c)=>ZB(a,c,e,t,i));return Rr.fromPromises(r).coalesce()}function CM(o,e,t,i,n=!1){return g1(o,e,t,i,n).map(s=>s.hover).toPromise()}Qs("_executeHoverProvider",(o,e,t)=>{const i=o.get(Lt);return CM(i.hoverProvider,e,t,gi.None)});Qs("_executeHoverProvider_recursive",(o,e,t)=>{const i=o.get(Lt);return CM(i.hoverProvider,e,t,gi.None,!0)});function XB(o){const e=typeof o.range<"u",t=typeof o.contents<"u"&&o.contents&&o.contents.length>0;return e&&t}var YB=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Tc=function(o,e){return function(t,i){e(t,i,o)}};const au=pt,JB=Xn("hover-increase-verbosity",Zt.add,w("increaseHoverVerbosity","Icon for increaseing hover verbosity.")),QB=Xn("hover-decrease-verbosity",Zt.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 xM{constructor(e,t,i){this.hover=e,this.hoverProvider=t,this.hoverPosition=i}supportsVerbosityAction(e){switch(e){case Vo.Increase:return this.hover.canIncreaseVerbosity??!1;case Vo.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 Ns().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 E=new B(e.range.startLineNumber,y,e.range.startLineNumber,S);r.push(new lr(this,E,aE(D),v,a++))}return r}computeAsync(e,t,i){if(!this._editor.hasModel()||e.type!==1)return Rr.EMPTY;const n=this._editor.getModel(),s=this._languageFeaturesService.hoverProvider;return s.has(n)?this._getMarkdownHovers(s,n,e,i):Rr.EMPTY}_getMarkdownHovers(e,t,i,n){const s=i.range.getStartPosition();return g1(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 xM(c.hover,c.provider,s);return new lr(this,h,c.hover.contents,!1,c.ordinal,g)})}renderHoverParts(e,t){return this._renderedHoverParts=new ez(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=YB([Tc(1,jr),Tc(2,zr),Tc(3,Cn),Tc(4,Lt),Tc(5,ns),Tc(6,Wp),Tc(7,us)],ip);class xm{constructor(e,t,i){this.hoverPart=e,this.hoverElement=t,this.disposables=i}dispose(){this.disposables.dispose()}}class ez{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 Be,this.renderedHoverParts=this._renderHoverParts(e,t,this._onFinishedRendering),this._disposables.add(yn(()=>{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,Ub)),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 Be;if(r.add(i),!s)return new xm(e,n,r);const a=s.supportsVerbosityAction(Vo.Increase),c=s.supportsVerbosityAction(Vo.Decrease);if(!a&&!c)return new xm(e,n,r);const h=au("div.verbosity-actions");return n.prepend(h),r.add(this._renderHoverExpansionAction(h,Vo.Increase,a)),r.add(this._renderHoverExpansionAction(h,Vo.Decrease,c)),new xm(e,n,r)}_renderMarkdownHover(e,t){return LM(this._editor,e,this._languageService,this._openerService,t)}_renderHoverExpansionAction(e,t,i){const n=new Be,s=t===Vo.Increase,r=lt(e,au(qi.asCSSSelector(s?JB:QB)));r.tabIndex=0;const a=new MA("mouse",!1,{target:e,position:{hoverPosition:0}},this._configurationService,this._hoverService);if(n.add(this._hoverService.setupManagedHover(a,r,iz(this._keybindingService,t))),!i)return r.classList.add("disabled"),n;r.classList.add("enabled");const c=()=>this._commandService.executeCommand(t===Vo.Increase?uw:gw);return n.add(new NA(r,c)),n.add(new RA(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 xM(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===Vo.Increase?1:-1;const s=e.hoverProvider,r=this._ongoingHoverOperations.get(s);r&&(r.tokenSource.cancel(),n+=r.verbosityDelta);const a=new ps;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){Jn(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 tz(o,e,t,i,n){e.sort(Bp(r=>r.ordinal,Ub));const s=[];for(const r of e)s.push(LM(t,r,i,n,o.onContentsChanged));return new lh(s)}function LM(o,e,t,i,n){const s=new Be,r=au("div.hover-row"),a=au("div.hover-row-contents");r.appendChild(a);const c=e.contents;for(const g of c){if(Bf(g))continue;const f=au("div.markdown-hover"),p=lt(f,au("div.hover-contents")),v=s.add(new Cg({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 iz(o,e){switch(e){case Vo.Increase:{const t=o.lookupKeybinding(uw);return t?w("increaseVerbosityWithKb","Increase Hover Verbosity ({0})",t.getLabel()):w("increaseVerbosity","Increase Hover Verbosity")}case Vo.Decrease:{const t=o.lookupKeybinding(gw);return t?w("decreaseVerbosityWithKb","Decrease Hover Verbosity ({0})",t.getLabel()):w("decreaseVerbosity","Decrease Hover Verbosity")}}}function jS(o,e){return!!o[e]}class uy{constructor(e,t){this.target=e.target,this.isLeftClick=e.event.leftButton,this.isMiddleClick=e.event.middleButton,this.isRightClick=e.event.rightButton,this.hasTriggerModifier=jS(e.event,t.triggerModifier),this.hasSideBySideModifier=jS(e.event,t.triggerSideBySideModifier),this.isNoneOrSingleMouseDown=e.event.detail<=1}}class jk{constructor(e,t){this.keyCodeIsTriggerKey=e.keyCode===t.triggerKey,this.keyCodeIsSideBySideKey=e.keyCode===t.triggerSideBySideKey,this.hasTriggerModifier=jS(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 Uk(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 pw extends je{constructor(e,t){super(),this._onMouseMoveOrRelevantKeyDown=this._register(new ui),this.onMouseMoveOrRelevantKeyDown=this._onMouseMoveOrRelevantKeyDown.event,this._onExecute=this._register(new ui),this.onExecute=this._onExecute.event,this._onCancel=this._register(new ui),this.onCancel=this._onCancel.event,this._editor=e,this._extractLineNumberFromMouseEvent=(t==null?void 0:t.extractLineNumberFromMouseEvent)??(i=>i.target.position?i.target.position.lineNumber:0),this._opts=Uk(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=Uk(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 uy(i,this._opts)))),this._register(this._editor.onMouseDown(i=>this._onEditorMouseDown(new uy(i,this._opts)))),this._register(this._editor.onMouseUp(i=>this._onEditorMouseUp(new uy(i,this._opts)))),this._register(this._editor.onKeyDown(i=>this._onEditorKeyDown(new jk(i,this._opts)))),this._register(this._editor.onKeyUp(i=>this._onEditorKeyUp(new jk(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 kM{constructor(e,t){this.range=e,this.direction=t}}class f1{constructor(e,t,i){this.hint=e,this.anchor=t,this.provider=i,this._isResolved=!1}with(e){const t=new f1(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){Jn(t),this._isResolved=!1}}}const fu=class fu{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??fu._emptyInlayHintList,a])}catch(h){Jn(h)}}));if(await Promise.all(r.flat()),n.isCancellationRequested||t.isDisposed())throw new Hb;return new fu(i,s,t)}constructor(e,t,i){this._disposables=new Be,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=fu._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 f1(a,new kM(f,h),r))}}this.items=n.sort((s,r)=>xt.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)}};fu._emptyInlayHintList=Object.freeze({dispose(){},hints:[]});let U_=fu;function nz(o){return on.from({scheme:qs.command,path:o.id,query:o.arguments&&encodeURIComponent(JSON.stringify(o.arguments))}).toString()}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},Oa=function(o,e){return function(t,i){e(t,i,o)}};let pr=class extends AA{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){k0(this._overwriteOptions,e,!0),super.updateOptions(this._overwriteOptions)}};pr=sz([Oa(4,li),Oa(5,Qn),Oa(6,us),Oa(7,Fi),Oa(8,mr),Oa(9,zs),Oa(10,jb),Oa(11,gs),Oa(12,Lt)],pr);const $k=new xi(new Ku(0,122,204)),oz={showArrow:!0,showFrame:!0,className:"",frameColor:$k,arrowColor:$k,keepEditorSelection:!1},rz="vs.editor.contrib.zoneWidget";class az{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 lz{constructor(e,t){this._id=e,this._domNode=t}getId(){return this._id}getDomNode(){return this._domNode}getPosition(){return null}}const Xv=class Xv{constructor(e){this._editor=e,this._ruleName=Xv._IdGenerator.nextId(),this._decorations=this._editor.createDecorationsCollection(),this._color=null,this._height=-1}dispose(){this.hide(),AL(this._ruleName)}set color(e){this._color!==e&&(this._color=e,this._updateStyle())}set height(e){this._height!==e&&(this._height=e,this._updateStyle())}_updateStyle(){AL(this._ruleName),HA(`.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()}};Xv._IdGenerator=new FA(".arrow-decoration-");let US=Xv;class cz{constructor(e,t={}){this._arrow=null,this._overlayWidget=null,this._resizeSash=null,this._viewZone=null,this._disposables=new Be,this.container=null,this._isShowing=!1,this.editor=e,this._positionMarkerId=this.editor.createDecorationsCollection(),this.options=OA(t),k0(this.options,oz,!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 US(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:Li.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 az(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 lz(rz+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 tu(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 IM=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(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)}};const EM=fl("IPeekViewService");pl(EM,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 Zs;(function(o){o.inPeekEditor=new Pi("inReferenceSearchEditor",!0,w("inReferenceSearchEditor","Whether the current code editor is embedded inside peek")),o.notInPeekEditor=o.inPeekEditor.toNegated()})(Zs||(Zs={}));var Nu;let $_=(Nu=class{constructor(e,t){e instanceof pr&&Zs.inPeekEditor.bindTo(t)}dispose(){}},Nu.ID="editor.contrib.referenceController",Nu);$_=IM([DM(1,Fi)],$_);_i($_.ID,$_,0);function dz(o){const e=o.get(Qn).getFocusedCodeEditor();return e instanceof pr?e.getParentEditor():e}const hz={headerBackgroundColor:xi.white,primaryHeadingColor:xi.fromHex("#333333"),secondaryHeadingColor:xi.fromHex("#6c6c6cb3")};let q_=class extends cz{constructor(e,t,i){super(e,t),this.instantiationService=i,this._onDidClose=new ui,this.onDidClose=this._onDidClose.event,k0(this.options,hz,!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=pt(".head"),this._bodyElement=pt(".body"),this._fillHead(this._headElement),this._fillBody(this._bodyElement),e.appendChild(this._headElement),e.appendChild(this._bodyElement)}_fillHead(e,t){this._titleElement=pt(".peekview-title"),this.options.supportOnTitleClick&&(this._titleElement.classList.add("clickable"),ol(this._titleElement,"click",s=>this._onTitleClick(s))),lt(this._headElement,this._titleElement),this._fillTitleIcon(this._titleElement),this._primaryHeading=pt("span.filename"),this._secondaryHeading=pt("span.dirname"),this._metaHeading=pt("span.meta"),lt(this._titleElement,this._primaryHeading,this._secondaryHeading,this._metaHeading);const i=pt(".peekview-actions");lt(this._headElement,i);const n=this._getActionBarOptions();this._actionbarWidget=new Of(i,n),this._disposables.add(this._actionbarWidget),t||this._actionbarWidget.push(new Gu("peekview.close",w("label.close","Close"),qi.asClassName(Zt.close),!0,()=>(this.dispose(),Promise.resolve())),{label:!1,icon:!0})}_fillTitleIcon(e){}_getActionBarOptions(){return{actionViewItemProvider:WA.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)):Co(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`)}};q_=IM([DM(2,li)],q_);const uz=mt("peekViewTitle.background",{dark:"#252526",light:"#F3F3F3",hcDark:xi.black,hcLight:xi.white},w("peekViewTitleBackground","Background color of the peek view title area.")),PM=mt("peekViewTitleLabel.foreground",{dark:xi.white,light:xi.black,hcDark:xi.white,hcLight:zp},w("peekViewTitleForeground","Color of the peek view title.")),TM=mt("peekViewTitleDescription.foreground",{dark:"#ccccccb3",light:"#616161",hcDark:"#FFFFFF99",hcLight:"#292929"},w("peekViewTitleInfoForeground","Color of the peek view title info.")),gz=mt("peekView.border",{dark:$y,light:$y,hcDark:sl,hcLight:sl},w("peekViewBorder","Color of the peek view borders and arrow.")),fz=mt("peekViewResult.background",{dark:"#252526",light:"#F3F3F3",hcDark:xi.black,hcLight:xi.white},w("peekViewResultsBackground","Background color of the peek view result list."));mt("peekViewResult.lineForeground",{dark:"#bbbbbb",light:"#646465",hcDark:xi.white,hcLight:zp},w("peekViewResultsMatchForeground","Foreground color for line nodes in the peek view result list."));mt("peekViewResult.fileForeground",{dark:xi.white,light:"#1E1E1E",hcDark:xi.white,hcLight:zp},w("peekViewResultsFileForeground","Foreground color for file nodes in the peek view result list."));mt("peekViewResult.selectionBackground",{dark:"#3399ff33",light:"#3399ff33",hcDark:null,hcLight:null},w("peekViewResultsSelectionBackground","Background color of the selected entry in the peek view result list."));mt("peekViewResult.selectionForeground",{dark:xi.white,light:"#6C6C6C",hcDark:xi.white,hcLight:zp},w("peekViewResultsSelectionForeground","Foreground color of the selected entry in the peek view result list."));const MM=mt("peekViewEditor.background",{dark:"#001F33",light:"#F2F8FC",hcDark:xi.black,hcLight:xi.white},w("peekViewEditorBackground","Background color of the peek view editor."));mt("peekViewEditorGutter.background",MM,w("peekViewEditorGutterBackground","Background color of the gutter in the peek view editor."));mt("peekViewEditorStickyScroll.background",MM,w("peekViewEditorStickScrollBackground","Background color of sticky scroll in the peek view editor."));mt("peekViewResult.matchHighlightBackground",{dark:"#ea5c004d",light:"#ea5c004d",hcDark:null,hcLight:null},w("peekViewResultsMatchHighlight","Match highlight color in the peek view result list."));mt("peekViewEditor.matchHighlightBackground",{dark:"#ff8f0099",light:"#f5d802de",hcDark:null,hcLight:null},w("peekViewEditorMatchHighlight","Match highlight color in the peek view editor."));mt("peekViewEditor.matchHighlightBorder",{dark:null,light:null,hcDark:Yd,hcLight:Yd},w("peekViewEditorMatchHighlightBorder","Match highlight border in the peek view editor."));class wc{constructor(e,t,i,n){this.isProviderFirst=e,this.parent=t,this.link=i,this._rangeCallback=n,this.id=BA.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 pz{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 pc}dispose(){As(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 pz(i))}catch(i){dn(i)}return this}}class lo{constructor(e,t){this.groups=[],this.references=[],this._onDidChangeReferenceRange=new ui,this.onDidChangeReferenceRange=this._onDidChangeReferenceRange.event,this._links=e,this._title=t;const[i]=e;e.sort(lo._compareReferences);let n;for(const s of e)if((!n||!OL.isEqual(n.uri,s.uri,!0))&&(n=new np(this,s.uri),this.groups.push(n)),n.children.length===0||lo._compareReferences(s,n.children[n.children.length-1])!==0){const r=new wc(i===s,n,s,a=>this._onDidChangeReferenceRange.fire(a));this.references.push(r),n.children.push(r)}}dispose(){As(this.groups),this._onDidChangeReferenceRange.dispose(),this.groups.length=0}clone(){return new lo(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 OL.compare(e.uri,t.uri)||B.compareRangesUsingStarts(e.range,t.range)}}var mw=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},_w=function(o,e){return function(t,i){e(t,i,o)}},$S;let qS=class{constructor(e){this._resolverService=e}hasChildren(e){return e instanceof lo||e instanceof np}getChildren(e){if(e instanceof lo)return e.groups;if(e instanceof np)return e.resolve(this._resolverService).then(t=>t.children);throw new Error("bad tree")}};qS=mw([_w(0,Ur)],qS);class mz{getHeight(){return 23}getTemplateId(e){return e instanceof np?K_.id:G_.id}}let KS=class{constructor(e){this._keybindingService=e}getKeyboardNavigationLabel(e){var t;if(e instanceof wc){const i=(t=e.parent.getPreview(e))==null?void 0:t.preview(e.range);if(i)return i.value}return La(e.uri)}};KS=mw([_w(0,ns)],KS);class _z{getId(e){return e instanceof wc?e.id:e.uri}}let GS=class extends je{constructor(e,t){super(),this._labelService=t;const i=document.createElement("div");i.classList.add("reference-file"),this.file=this._register(new lE(i,{supportHighlights:!0})),this.badge=new zA(lt(i,pt(".count")),{},VA),e.appendChild(i)}set(e,t){const i=I0(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))}};GS=mw([_w(1,zf)],GS);var fd;let K_=(fd=class{constructor(e){this._instantiationService=e,this.templateId=$S.id}renderTemplate(e){return this._instantiationService.createInstance(GS,e)}renderElement(e,t,i){i.set(e.element,$b(e.filterData))}disposeTemplate(e){e.dispose()}},$S=fd,fd.id="FileReferencesRenderer",fd);K_=$S=mw([_w(0,li)],K_);class vz extends je{constructor(e){super(),this.label=this._register(new jA(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,$b(t))):(this.label.element.classList.toggle("referenceMatch",!0),this.label.set(s,[r]))}}}const Yv=class Yv{constructor(){this.templateId=Yv.id}renderTemplate(e){return new vz(e)}renderElement(e,t,i){i.set(e.element,e.filterData)}disposeTemplate(e){e.dispose()}};Yv.id="OneReferenceRenderer";let G_=Yv;class bz{getWidgetAriaLabel(){return w("treeAriaLabel","References")}getAriaLabel(e){return e.ariaMessage}}var wz=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Oh=function(o,e){return function(t,i){e(t,i,o)}};const Jv=class Jv{constructor(e,t){this._editor=e,this._model=t,this._decorations=new Map,this._decorationIgnoreSet=new Set,this._callOnDispose=new Be,this._callOnModelChange=new Be,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:Jv.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()}};Jv.DecorationOptions=Li.register({description:"reference-decoration",stickiness:1,className:"reference-decoration"});let ZS=Jv;class yz{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 Sz extends qA{}let XS=class extends q_{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 Be,this._callOnDispose=new Be,this._onDidSelectReference=new ui,this.onDidSelectReference=this._onDidSelectReference.event,this._dim=new gn(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(),As(this._preview),As(this._previewNotAvailableMessage),As(this._tree),As(this._previewModelReference),this._splitView.dispose(),super.dispose()}_applyTheme(e){const t=e.getColor(gz)||xi.transparent;this.style({arrowColor:t,frameColor:t,headerBackgroundColor:e.getColor(uz)||xi.transparent,primaryHeadingColor:e.getColor(PM),secondaryHeadingColor:e.getColor(TM)})}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=lt(e,pt("div.messages")),Co(this._messageContainer),this._splitView=new UA(e,{orientation:1}),this._previewContainer=lt(e,pt("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),Co(this._previewContainer),this._previewNotAvailableMessage=this._instantiationService.createInstance(zl,w("missingPreviewMessage","no preview available"),jf,zl.DEFAULT_CREATION_OPTIONS,null),this._treeContainer=lt(e,pt("div.ref-tree.inline"));const i={keyboardSupport:this._defaultTreeKeyboardSupport,accessibilityProvider:new bz,keyboardNavigationLabelProvider:this._instantiationService.createInstance(KS),identityProvider:new _z,openOnSingleClick:!0,selectionNavigation:!0,overrideStyles:{listBackground:fz}};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(Sz,"ReferencesWidget",this._treeContainer,new mz,[this._instantiationService.createInstance(K_),this._instantiationService.createInstance(G_)],this._instantiationService.createInstance(qS),i),this._splitView.addView({onDidChange:as.None,element:this._previewContainer,minimumSize:200,maximumSize:Number.MAX_VALUE,layout:s=>{this._preview.layout({height:this._dim.height,width:s})}},FL.Distribute),this._splitView.addView({onDidChange:as.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)}},FL.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 wc&&(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")})),Co(this._treeContainer)}_onWidth(e){this._dim&&this._doLayoutBody(this._dim.height,e)}_doLayoutBody(e,t){super._doLayoutBody(e,t),this._dim=new gn(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)):(Co(this._messageContainer),this._decorationsManager=new ZS(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 wc)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!==qs.inMemory?this.setTitle($A(e.uri),this._uriLabel.getUriLabel(I0(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}As(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()}};XS=wz([Oh(3,mr),Oh(4,Ur),Oh(5,li),Oh(6,EM),Oh(7,zf),Oh(8,ns)],XS);var Cz=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Fh=function(o,e){return function(t,i){e(t,i,o)}},c_;const Ch=new Pi("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 Be,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=yz.fromJSON(this._storageService.get(s,0,"{}"));this._widget=this._instantiationService.createInstance(XS,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 xt(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,fs(c=>Promise.resolve(a)),this._peekMode??!1)}},s=>{this._ignoreModelChangeEvent=!1,dn(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_=Cz([Fh(2,Fi),Fh(3,Qn),Fh(4,zs),Fh(5,li),Fh(6,Lc),Fh(7,Cn)],ch);function xh(o,e){const t=dz(o);if(!t)return;const i=ch.get(t);i&&e(i)}Da.registerCommandAndKeybindingRule({id:"togglePeekWidgetFocus",weight:100,primary:is(2089,60),when:ae.or(Ch,Zs.inPeekEditor),handler(o){xh(o,e=>{e.changeFocusBetweenPreviewAndReferences()})}});Da.registerCommandAndKeybindingRule({id:"goToNextReference",weight:90,primary:62,secondary:[70],when:ae.or(Ch,Zs.inPeekEditor),handler(o){xh(o,e=>{e.goToNextOrPreviousReference(!0)})}});Da.registerCommandAndKeybindingRule({id:"goToPreviousReference",weight:90,primary:1086,secondary:[1094],when:ae.or(Ch,Zs.inPeekEditor),handler(o){xh(o,e=>{e.goToNextOrPreviousReference(!1)})}});mn.registerCommandAlias("goToNextReferenceFromEmbeddedEditor","goToNextReference");mn.registerCommandAlias("goToPreviousReferenceFromEmbeddedEditor","goToPreviousReference");mn.registerCommandAlias("closeReferenceSearchEditor","closeReferenceSearch");mn.registerCommand("closeReferenceSearch",o=>xh(o,e=>e.closeWidget()));Da.registerKeybindingRule({id:"closeReferenceSearch",weight:-1,primary:9,secondary:[1033],when:ae.and(Zs.inPeekEditor,ae.not("config.editor.stablePeek"))});Da.registerKeybindingRule({id:"closeReferenceSearch",weight:250,primary:9,secondary:[1033],when:ae.and(Ch,ae.not("config.editor.stablePeek"),ae.or(M.editorTextFocus,KA.negate()))});Da.registerCommandAndKeybindingRule({id:"revealReference",weight:200,primary:3,mac:{primary:3,secondary:[2066]},when:ae.and(Ch,cE,dE.negate(),hE.negate()),handler(o){var i;const t=(i=o.get(D0).lastFocusedList)==null?void 0:i.getFocus();Array.isArray(t)&&t[0]instanceof wc&&xh(o,n=>n.revealReference(t[0]))}});Da.registerCommandAndKeybindingRule({id:"openReferenceToSide",weight:100,primary:2051,mac:{primary:259},when:ae.and(Ch,cE,dE.negate(),hE.negate()),handler(o){var i;const t=(i=o.get(D0).lastFocusedList)==null?void 0:i.getFocus();Array.isArray(t)&&t[0]instanceof wc&&xh(o,n=>n.openReference(t[0],!0,!0))}});mn.registerCommand("openReference",o=>{var i;const t=(i=o.get(D0).lastFocusedList)==null?void 0:i.getFocus();Array.isArray(t)&&t[0]instanceof wc&&xh(o,n=>n.openReference(t[0],!1,!0))});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},tf=function(o,e){return function(t,i){e(t,i,o)}};const p1=new Pi("hasSymbols",!1,w("hasSymbols","Whether there are symbol locations that can be navigated via keyboard-only.")),vw=fl("ISymbolNavigationService");let YS=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=p1.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 JS(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(y_(f.uri,a.uri))h=!0,g=g||B.containsPosition(f.range,c);else if(h)break;(!h||!g)&&this.reset()});this._currentState=uE(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)}};YS=NM([tf(0,Fi),tf(1,Qn),tf(2,zs),tf(3,ns)],YS);pl(vw,YS,1);Et(new class extends Js{constructor(){super({id:"editor.gotoNextSymbolFromResult",precondition:p1,kbOpts:{weight:100,primary:70}})}runEditorCommand(o,e){return o.get(vw).revealNext(e)}});Da.registerCommandAndKeybindingRule({id:"editor.gotoNextSymbolFromResult.cancel",weight:100,when:p1,primary:9,handler(o){o.get(vw).reset()}});let JS=class{constructor(e){this._listener=new Map,this._disposables=new Be,this._onDidChange=new ui,this.onDidChange=this._onDidChange.event,this._disposables.add(e.onCodeEditorRemove(this._onDidRemoveEditor,this)),this._disposables.add(e.onCodeEditorAdd(this._onDidAddEditor,this)),e.listCodeEditors().forEach(this._onDidAddEditor,this)}dispose(){this._disposables.dispose(),this._onDidChange.dispose(),As(this._listener.values())}_onDidAddEditor(e){this._listener.set(e,uE(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)}};JS=NM([tf(0,Qn)],JS);function QS(o,e){return e.uri.scheme===o.uri.scheme?!0:!GA(e.uri,qs.walkThroughSnippet,qs.vscodeChatCodeBlock,qs.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=>{Jn(h)})),a=await Promise.all(r);return nl(a.flat()).filter(c=>QS(o,c))}function em(o,e,t,i,n){return Qp(e,t,o,i,(s,r,a)=>s.provideDefinition(r,a,n))}function m1(o,e,t,i,n){return Qp(e,t,o,i,(s,r,a)=>s.provideDeclaration(r,a,n))}function _1(o,e,t,i,n){return Qp(e,t,o,i,(s,r,a)=>s.provideImplementation(r,a,n))}function v1(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=>QS(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=>QS(a,v));return g&&g.length===1?g:h})}async function Ea(o){const e=await o(),t=new lo(e,""),i=t.references.map(n=>n.link);return t.dispose(),i}Qs("_executeDefinitionProvider",(o,e,t)=>{const i=o.get(Lt),n=em(i.definitionProvider,e,t,!1,gi.None);return Ea(()=>n)});Qs("_executeDefinitionProvider_recursive",(o,e,t)=>{const i=o.get(Lt),n=em(i.definitionProvider,e,t,!0,gi.None);return Ea(()=>n)});Qs("_executeTypeDefinitionProvider",(o,e,t)=>{const i=o.get(Lt),n=v1(i.typeDefinitionProvider,e,t,!1,gi.None);return Ea(()=>n)});Qs("_executeTypeDefinitionProvider_recursive",(o,e,t)=>{const i=o.get(Lt),n=v1(i.typeDefinitionProvider,e,t,!0,gi.None);return Ea(()=>n)});Qs("_executeDeclarationProvider",(o,e,t)=>{const i=o.get(Lt),n=m1(i.declarationProvider,e,t,!1,gi.None);return Ea(()=>n)});Qs("_executeDeclarationProvider_recursive",(o,e,t)=>{const i=o.get(Lt),n=m1(i.declarationProvider,e,t,!0,gi.None);return Ea(()=>n)});Qs("_executeReferenceProvider",(o,e,t)=>{const i=o.get(Lt),n=tm(i.referenceProvider,e,t,!1,!1,gi.None);return Ea(()=>n)});Qs("_executeReferenceProvider_recursive",(o,e,t)=>{const i=o.get(Lt),n=tm(i.referenceProvider,e,t,!1,!0,gi.None);return Ea(()=>n)});Qs("_executeImplementationProvider",(o,e,t)=>{const i=o.get(Lt),n=_1(i.implementationProvider,e,t,!1,gi.None);return Ea(()=>n)});Qs("_executeImplementationProvider_recursive",(o,e,t)=>{const i=o.get(Lt),n=_1(i.implementationProvider,e,t,!0,gi.None);return Ea(()=>n)});ur.appendMenuItem(rt.EditorContext,{submenu:rt.EditorContextPeek,title:w("peek.submenu","Peek"),group:"navigation",order:100});class lg{static is(e){return!e||typeof e!="object"?!1:!!(e instanceof lg||xt.isIPosition(e.position)&&e.model)}constructor(e,t){this.model=e,this.position=t}}const Yo=class Yo extends Wr{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===rt.EditorContext||i.id===rt.EditorContextPeek)&&(i.when=ae.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(zs),r=e.get(Qn),a=e.get(Np),c=e.get(vw),h=e.get(Lt),g=e.get(li),f=t.getModel(),p=t.getPosition(),v=lg.is(i)?i:new lg(f,p),_=new ju(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 z=this._getAlternativeCommand(t);!Yo._activeAlternativeCommands.has(z)&&Yo._allSymbolNavigationCommands.has(z)&&(D=Yo._allSymbolNavigationCommands.get(z))}const E=S.references.length;if(E===0){if(!this.configuration.muteMessage){const z=f.getWordAtPosition(p);(N=ao.get(t))==null||N.showMessage(this._getNoResultFoundMessage(z),p)}}else if(E===1&&D)Yo._activeAlternativeCommands.add(this.desc.id),g.invokeFunction(z=>D.runEditorCommand(z,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(ZA(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(),fs(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 lo(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 sc;Ji((sc=class extends im{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:sc.id,title:{...St("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:ae.and(M.editorTextFocus,gE),primary:2118,weight:100}],menu:[{id:rt.EditorContext,group:"navigation",order:1.1},{id:rt.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:2}]}),mn.registerCommandAlias("editor.action.goToDeclaration",sc.id)}},sc.id="editor.action.revealDefinition",sc));var oc;Ji((oc=class extends im{constructor(){super({openToSide:!0,openInPeek:!1,muteMessage:!1},{id:oc.id,title:St("actions.goToDeclToSide.label","Open Definition to the Side"),precondition:ae.and(M.hasDefinitionProvider,M.isInEmbeddedEditor.toNegated()),keybinding:[{when:M.editorTextFocus,primary:is(2089,70),weight:100},{when:ae.and(M.editorTextFocus,gE),primary:is(2089,2118),weight:100}]}),mn.registerCommandAlias("editor.action.openDeclarationToTheSide",oc.id)}},oc.id="editor.action.revealDefinitionAside",oc));var rc;Ji((rc=class extends im{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:rc.id,title:St("actions.previewDecl.label","Peek Definition"),precondition:ae.and(M.hasDefinitionProvider,Zs.notInPeekEditor,M.isInEmbeddedEditor.toNegated()),keybinding:{when:M.editorTextFocus,primary:582,linux:{primary:3140},weight:100},menu:{id:rt.EditorContextPeek,group:"peek",order:2}}),mn.registerCommandAlias("editor.action.previewDeclaration",rc.id)}},rc.id="editor.action.peekDefinition",rc));class RM extends dl{async _getLocationModel(e,t,i,n){return new lo(await m1(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 RM{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:md.id,title:{...St("actions.goToDeclaration.label","Go to Declaration"),mnemonicTitle:w({key:"miGotoDeclaration",comment:["&& denotes a mnemonic"]},"Go to &&Declaration")},precondition:ae.and(M.hasDeclarationProvider,M.isInEmbeddedEditor.toNegated()),menu:[{id:rt.EditorContext,group:"navigation",order:1.3},{id:rt.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 RM{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:"editor.action.peekDeclaration",title:St("actions.peekDecl.label","Peek Declaration"),precondition:ae.and(M.hasDeclarationProvider,Zs.notInPeekEditor,M.isInEmbeddedEditor.toNegated()),menu:{id:rt.EditorContextPeek,group:"peek",order:3}})}});class AM extends dl{async _getLocationModel(e,t,i,n){return new lo(await v1(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 AM{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:_d.ID,title:{...St("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:rt.EditorContext,group:"navigation",order:1.4},{id:rt.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:3}]})}},_d.ID="editor.action.goToTypeDefinition",_d));var vd;Ji((vd=class extends AM{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:vd.ID,title:St("actions.peekTypeDefinition.label","Peek Type Definition"),precondition:ae.and(M.hasTypeDefinitionProvider,Zs.notInPeekEditor,M.isInEmbeddedEditor.toNegated()),menu:{id:rt.EditorContextPeek,group:"peek",order:4}})}},vd.ID="editor.action.peekTypeDefinition",vd));class OM extends dl{async _getLocationModel(e,t,i,n){return new lo(await _1(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 OM{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:bd.ID,title:{...St("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:rt.EditorContext,group:"navigation",order:1.45},{id:rt.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:4}]})}},bd.ID="editor.action.goToImplementation",bd));var wd;Ji((wd=class extends OM{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:wd.ID,title:St("actions.peekImplementation.label","Peek Implementations"),precondition:ae.and(M.hasImplementationProvider,Zs.notInPeekEditor,M.isInEmbeddedEditor.toNegated()),keybinding:{when:M.editorTextFocus,primary:3142,weight:100},menu:{id:rt.EditorContextPeek,group:"peek",order:5}})}},wd.ID="editor.action.peekImplementation",wd));class FM 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 FM{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:"editor.action.goToReferences",title:{...St("goToReferences.label","Go to References"),mnemonicTitle:w({key:"miGotoReference",comment:["&& denotes a mnemonic"]},"Go to &&References")},precondition:ae.and(M.hasReferenceProvider,Zs.notInPeekEditor,M.isInEmbeddedEditor.toNegated()),keybinding:{when:M.editorTextFocus,primary:1094,weight:100},menu:[{id:rt.EditorContext,group:"navigation",order:1.45},{id:rt.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:5}]})}async _getLocationModel(e,t,i,n){return new lo(await tm(e.referenceProvider,t,i,!0,!1,n),w("ref.title","References"))}});Ji(class extends FM{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:"editor.action.referenceSearch.trigger",title:St("references.action.label","Peek References"),precondition:ae.and(M.hasReferenceProvider,Zs.notInPeekEditor,M.isInEmbeddedEditor.toNegated()),menu:{id:rt.EditorContextPeek,group:"peek",order:6}})}async _getLocationModel(e,t,i,n){return new lo(await tm(e.referenceProvider,t,i,!1,!1,n),w("ref.title","References"))}});class xz extends dl{constructor(e,t,i){super(e,{id:"editor.action.goToLocation",title:St("label.generic","Go to Any Symbol"),precondition:ae.and(Zs.notInPeekEditor,M.isInEmbeddedEditor.toNegated())}),this._references=t,this._gotoMultipleBehaviour=i}async _getLocationModel(e,t,i,n){return new lo(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""}}mn.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:on},{name:"position",description:"The position at which to start",constraint:xt.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)=>{Wi(on.isUri(e)),Wi(xt.isIPosition(t)),Wi(Array.isArray(i)),Wi(typeof n>"u"||typeof n=="string"),Wi(typeof r>"u"||typeof r=="boolean");const a=o.get(Qn),c=await a.openCodeEditor({resource:e},a.getFocusedCodeEditor());if(fE(c))return c.setPosition(t),c.revealPositionInCenterIfOutsideViewport(t,0),c.invokeWithinContext(h=>{const g=new class extends xz{_getNoResultFoundMessage(f){return s||super._getNoResultFoundMessage(f)}}({muteMessage:!s,openInPeek:!!r,openToSide:!1},i,n);h.get(li).invokeFunction(g.run.bind(g),c)})}});mn.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:on},{name:"position",description:"The position at which to start",constraint:xt.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(us).executeCommand("editor.action.goToLocations",e,t,i,n,void 0,!0)}});mn.registerCommand({id:"editor.action.findReferences",handler:(o,e,t)=>{Wi(on.isUri(e)),Wi(xt.isIPosition(t));const i=o.get(Lt),n=o.get(Qn);return n.openCodeEditor({resource:e},n.getFocusedCodeEditor()).then(s=>{if(!fE(s)||!s.hasModel())return;const r=ch.get(s);if(!r)return;const a=fs(h=>tm(i.referenceProvider,s.getModel(),xt.lift(t),!1,!1,h).then(g=>new lo(g,w("ref.title","References")))),c=new B(t.lineNumber,t.column,t.lineNumber,t.column);return Promise.resolve(r.toggleWidget(c,a,!1))})}});mn.registerCommandAlias("editor.action.showReferences","editor.action.peekLocations");async function Lz(o,e,t,i){const n=o.get(Ur),s=o.get(bg),r=o.get(us),a=o.get(li),c=o.get(zs);if(await i.item.resolve(gi.None),!i.part.location)return;const h=i.part.location,g=[],f=new Set(ur.getMenuItems(rt.EditorContext).map(v=>XA(v)?v.command.id:dw()));for(const v of dl.all())f.has(v.desc.id)&&g.push(new Gu(v.desc.id,Zu.label(v.desc,{renderShortTitle:!0}),void 0,!0,async()=>{const _=await n.createModelReference(h.uri);try{const y=new lg(_.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 Gu(v.id,v.title,void 0,!0,async()=>{try{await r.executeCommand(v.id,...v.arguments??[])}catch(_){c.notify({severity:E0.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=Gs(t);return{x:v.left,y:v.top+v.height+8}},getActions:()=>g,onHide:()=>{e.focus()},autoSelectFirstItem:!0})}async function HM(o,e,t,i){const s=await o.get(Ur).createModelReference(i.uri);await t.invokeWithinContext(async r=>{const a=e.hasSideBySideModifier,c=r.get(Fi),h=Zs.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 lg(s.object.textEditorModel,B.getStartPosition(i.range)),B.lift(i.range))}),s.dispose()}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},Hh=function(o,e){return function(t,i){e(t,i,o)}},Jh;class Z_{constructor(){this._entries=new Ap(50)}get(e){const t=Z_._key(e);return this._entries.get(t)}set(e,t){const i=Z_._key(e);this._entries.set(i,t)}static _key(e){return`${e.uri.toString()}/${e.getVersionId()}`}}const WM=fl("IInlayHintsCache");pl(WM,Z_,1);class eC{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 Iz{constructor(e,t){this.part=e,this.hasTriggerModifier=t}}var Xa;let sp=(Xa=class{static get(e){return e.getContribution(Jh.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 Be,this._sessionDisposables=new Be,this._decorationsMetadata=new Map,this._ruleFactory=new eE(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(YA.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(yn(()=>{t.isDisposed()||this._cacheHintsForFastRestore(t)}));let n;const s=new Set,r=new ls(async()=>{const a=Date.now();n==null||n.dispose(!0),n=new ps;const c=t.onWillDispose(()=>n==null?void 0:n.cancel());try{const h=n.token,g=await U_.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){dn(h)}finally{n.dispose(),c.dispose()}},this._debounceInfo.get(t));this._sessionDisposables.add(r),this._sessionDisposables.add(yn(()=>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 Be,t=e.add(new pw(this._editor)),i=new Be;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 ps;i.add(yn(()=>c.dispose(!0))),r.item.resolve(c.token),this._activeInlayHintPart=r.part.command||r.part.location?new Iz(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(yn(()=>{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(HM,n,this._editor,r.location):JA.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(gi.None),ko(i.item.hint.textEdits))){const n=i.item.hint.textEdits.map(s=>zn.replace(B.lift(s.range),s.text));this._editor.executeEdits("inlayHint.default",n),e()}})}_installContextMenu(){return this._editor.onContextMenu(async e=>{if(!QA(e.event.target))return;const t=this._getInlayHintLabelPart(e);t&&await this._instaService.invokeFunction(Lz,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 P0&&(t==null?void 0:t.attachedData)instanceof eC)return t.attachedData}async _invokeCommand(e,t){try{await this._commandService.executeCommand(e.id,...e.arguments??[])}catch(i){this._notificationService.notify({severity:E0.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 kM(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,E,N,z)=>{const O={content:E,inlineClassNameAffectsLetterSpacing:!0,inlineClassName:D.className,cursorStops:N,attachedData:z};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?O:void 0}}})},s=(S,D)=>{const E=this._ruleFactory.createClassNameRef({width:`${r/3|0}px`,display:"inline-block"});n(S,E," ",D?nu.Right:nu.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>Jh._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 E=0;E<D.length;E++){const N=D[E],z=E===0,O=E===D.length-1,J={fontSize:`${r}px`,fontFamily:`var(${g}), ${x0.fontFamily}`,verticalAlign:h?"baseline":"middle",unicodeBidi:"isolate"};ko(S.hint.textEdits)&&(J.cursor="default"),this._fillInColors(J,S.hint),(N.command||N.location)&&((_=this._activeInlayHintPart)==null?void 0:_.part.item)===S&&this._activeInlayHintPart.part.index===E&&(J.textDecoration="underline",this._activeInlayHintPart.hasTriggerModifier&&(J.color=os(eO),J.cursor="pointer")),c&&(z&&O?(J.padding=`1px ${Math.max(1,r/4)|0}px`,J.borderRadius=`${r/4|0}px`):z?(J.padding=`1px 0 1px ${Math.max(1,r/4)|0}px`,J.borderRadius=`${r/4|0}px 0 0 ${r/4|0}px`):O?(J.padding=`1px ${Math.max(1,r/4)|0}px 1px 0`,J.borderRadius=`0 ${r/4|0}px ${r/4|0}px 0`):J.padding="1px 0 1px 0");let X=N.label;f.totalLen+=X.length;let fe=!1;const Ee=f.totalLen-Jh._MAX_LABEL_LEN;if(Ee>0&&(X=X.slice(0,-Ee)+"…",fe=!0),n(S,this._ruleFactory.createClassNameRef(J),Dz(X),O&&!S.hint.paddingRight?nu.Right:nu.None,new eC(S,E)),fe)break}if(S.hint.paddingRight&&s(S,!0),i.length>Jh._MAX_DECORATORS)break}const p=[];for(const[S,D]of this._decorationsMetadata){const E=(y=this._editor.getModel())==null?void 0:y.getDecorationRange(S);E&&e.some(N=>N.containsRange(E))&&(p.push(S),D.classNameRef.dispose(),this._decorationsMetadata.delete(S))}const v=qu.capture(this._editor);this._editor.changeDecorations(S=>{const D=S.deltaDecorations(p,i.map(E=>E.decoration));for(let E=0;E<D.length;E++){const N=i[E];this._decorationsMetadata.set(D[E],N)}}),v.restore(this._editor)}_fillInColors(e,t){t.kind===HL.Parameter?(e.backgroundColor=os(tO),e.color=os(iO)):t.kind===HL.Type?(e.backgroundColor=os(nO),e.color=os(sO)):(e.backgroundColor=os(oO),e.color=os(rO))}_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()}},Jh=Xa,Xa.ID="editor.contrib.InlayHints",Xa._MAX_DECORATORS=1500,Xa._MAX_LABEL_LEN=43,Xa);sp=Jh=kz([Hh(1,Lt),Hh(2,qo),Hh(3,WM),Hh(4,us),Hh(5,zs),Hh(6,li)],sp);function Dz(o){return o.replace(/[ \t]/g," ")}mn.registerCommand("_executeInlayHintProvider",async(o,...e)=>{const[t,i]=e;Wi(on.isUri(t)),Wi(B.isIRange(i));const{inlayHintsProvider:n}=o.get(Lt),s=await o.get(Ur).createModelReference(t);try{const r=await U_.create(n,s.object.textEditorModel,[B.lift(i)],gi.None),a=r.items.map(c=>c.hint);return setTimeout(()=>r.dispose(),0),a}finally{s.dispose()}});var Ez=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Il=function(o,e){return function(t,i){e(t,i,o)}};class qk extends r_{constructor(e,t,i,n){super(10,t,e.item.anchor.range,i,n,!0),this.part=e}}let X_=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 P0&&i.attachedData instanceof eC?new qk(i.attachedData,this,e.event.posx,e.event.posy):null}computeSync(){return[]}computeAsync(e,t,i){return e instanceof qk?new Rr(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 Ns().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)),ko(s.item.hint.textEdits)&&n.emitOne(new lr(this,e.range,[new Ns().appendText(w("hint.dbl","Double-click to insert"))],!1,10001));let a;if(typeof s.part.tooltip=="string"?a=new Ns().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 Ns().appendText(w("hint.defAndCommand","Go to Definition ({0}), right click for more",f)):s.part.location?h=new Ns().appendText(w("hint.def","Go to Definition ({0})",f)):s.part.command&&(h=new Ns(`[${w("hint.cmd","Execute Command")}](${nz(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)}):Rr.EMPTY}async _resolveInlayHintLabelPartHover(e,t){if(!e.part.location)return Rr.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)?g1(this._languageFeaturesService.hoverProvider,r,new xt(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)):Rr.EMPTY}finally{s.dispose()}}};X_=Ez([Il(1,jr),Il(2,zr),Il(3,ns),Il(4,Wp),Il(5,Cn),Il(6,Ur),Il(7,Lt),Il(8,us)],X_);class b1 extends je{constructor(e,t,i,n,s,r){super();const a=t.anchor,c=t.hoverParts;this._renderedHoverParts=this._register(new tC(e,i,c,r,s));const{showAtPosition:h,showAtSecondaryPosition:g}=b1.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 xt(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 xt(s,r);return{showAtPosition:c,showAtSecondaryPosition:h}}}class Pz{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 Qv=class Qv extends je{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 je.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:Qv._DECORATION_OPTIONS}]),yn(()=>{n.clear()})}_renderParts(e,t,i,n){const s=new j_(n),r={fragment:this._fragment,statusBar:s,...i},a=new Be;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})),yn(()=>{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 Pz(e,t)}_registerListenersOnRenderedParts(){const e=new Be;return this._renderedParts.forEach((t,i)=>{const n=t.hoverElement;n.tabIndex=0,e.add(Oi(n,Hn.FOCUS_IN,s=>{s.stopPropagation(),this._focusedHoverPartIndex=i})),e.add(Oi(n,Hn.FOCUS_OUT,s=>{s.stopPropagation(),this._focusedHoverPartIndex=-1}))}),e}_updateMarkdownAndColorParticipantInfo(e){const t=e.find(i=>i instanceof ip&&!(i instanceof X_));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 Xu;return t-s}get domNode(){return this._fragment}get domNodeHasChildren(){return this._fragment.hasChildNodes()}get focusedHoverPartIndex(){return this._focusedHoverPartIndex}};Qv._DECORATION_OPTIONS=Li.register({description:"content-hover-highlight",className:"hoverHighlight"});let tC=Qv;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},Kk=function(o,e){return function(t,i){e(t,i,o)}};let iC=class extends je{constructor(e,t,i){super(),this._editor=e,this._instantiationService=t,this._keybindingService=i,this._currentResult=null,this._onContentsChanged=this._register(new ui),this.onContentsChanged=this._onContentsChanged.event,this._contentHoverWidget=this._register(this._instantiationService.createInstance(VS,this._editor)),this._participants=this._initializeHoverParticipants(),this._computer=new V_(this._editor,this._participants),this._hoverOperation=this._register(new yM(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 SM(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(qb.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 b1(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 hy(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 hy(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||!fw(t,e.x,e.y))&&this.hide()}startShowingAtRange(e,t,i,n){this._startShowingOrUpdateHover(new hy(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}};iC=Tz([Kk(1,li),Kk(2,ns)],iC);var Mz=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Gk=function(o,e){return function(t,i){e(t,i,o)}},nC,yd;let Ts=(yd=class extends je{constructor(e,t,i){super(),this._editor=e,this._instantiationService=t,this._keybindingService=i,this._onHoverContentsChanged=this._register(new ui),this.shouldKeepOpenOnEditorMouseMoveOrLeave=!1,this._listenersStore=new Be,this._hoverState={mouseDown:!1,activatedByDecoratorClick:!1},this._reactToEditorMouseMoveRunner=this._register(new ls(()=>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(nC.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?fw(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===_M||t.commandId===uw||t.commandId===gw)&&((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)||ag.dropDownVisible||(this._hoverState.activatedByDecoratorClick=!1,(t=this._contentWidget)==null||t.hide())}_getOrCreateContentWidget(){return this._contentWidget||(this._contentWidget=this._instantiationService.createInstance(iC,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()}},nC=yd,yd.ID="editor.contrib.contentHover",yd);Ts=nC=Mz([Gk(1,li),Gk(2,ns)],Ts);const oL=class oL extends je{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!==dM||!i.range)return;const n=this._editor.getContribution(Ts.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)}}};oL.ID="editor.contrib.colorContribution";let Y_=oL;_i(Y_.ID,Y_,2);Sh.register(ep);var BM=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(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)}},sC,oC,Sd;let dh=(Sd=class extends je{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(rC,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(sC.ID)}},sC=Sd,Sd.ID="editor.contrib.standaloneColorPickerController",Sd);dh=sC=BM([lu(1,Fi),lu(2,li)],dh);_i(dh.ID,dh,1);const Zk=8,Nz=22;var Cd;let rC=(Cd=class extends je{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 ui),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(Uu(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 oC.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 Rz(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 j_(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-Nz-Zk,f=a.body.enterButton;f==null||f.onClicked(()=>{this.updateEditor(),this.hide()});const p=a.header,v=p.pickedColorNode;v.style.width=h+Zk+"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)}},oC=Cd,Cd.ID="editor.contrib.standaloneColorPickerWidget",Cd);rC=oC=BM([lu(3,li),lu(4,ns),lu(5,Lt),lu(6,ml)],rC);class Rz{constructor(e,t){this.value=e,this.foundInEditor=t}}class Az extends Wr{constructor(){super({id:"editor.action.showOrFocusStandaloneColorPicker",title:{...St("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:rt.CommandPalette}],metadata:{description:St("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 Oz 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:St("hideColorPickerDescription","Hide the standalone color picker.")}})}run(e,t){var i;(i=dh.get(t))==null||i.hide()}}class Fz 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:St("insertColorWithStandaloneColorPickerDescription","Insert hex/rgb/hsl colors with the focused standalone color picker.")}})}run(e,t){var i;(i=dh.get(t))==null||i.insertColor()}}ne(Oz);ne(Fz);Ji(Az);class Ul{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=Ul._createRemoveBlockCommentOperations(new B(a,v+t.length+1,h,_+1),t,i)):(y=Ul._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(zn.delete(new B(e.startLineNumber,e.startColumn-t.length,e.endLineNumber,e.endColumn+i.length))):(n.push(zn.delete(new B(e.startLineNumber,e.startColumn-t.length,e.startLineNumber,e.startColumn))),n.push(zn.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(zn.replace(new B(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn),t+" "+i)):(s.push(zn.insert(new xt(e.startLineNumber,e.startColumn),t+(n?" ":""))),s.push(zn.insert(new xt(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 Ut(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 Ut(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=qy(y);if(S===-1){v.ignore=r,v.commentStrOffset=y.length;continue}if(h=!1,v.ignore=!1,v.commentStrOffset=S,g&&!Ul._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 xt(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?Ul._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=qy(h);g===-1&&(g=h.length),c=Ul._createAddBlockCommentOperations(new B(i.startLineNumber,g+1,i.startLineNumber,h.length+1),r,a,this._insertSpace)}else c=Ul._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 Ut(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(zn.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(zn.insert(new xt(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 w1 extends we{constructor(e,t){super(t),this._type=e}run(e,t){const i=e.get(gs);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 Hz extends w1{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:rt.MenubarEditMenu,group:"5_insert",title:w({key:"miToggleLineComment",comment:["&& denotes a mnemonic"]},"&&Toggle Line Comment"),order:1}})}}class Wz extends w1{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:is(2089,2081),weight:100}})}}class Bz extends w1{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:is(2089,2099),weight:100}})}}class zz 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:rt.MenubarEditMenu,group:"5_insert",title:w({key:"miToggleBlockComment",comment:["&& denotes a mnemonic"]},"Toggle &&Block Comment"),order:2}})}run(e,t){const i=e.get(gs);if(!t.hasModel())return;const n=t.getOption(23),s=[],r=t.getSelections();for(const a of r)s.push(new Ul(a,n.insertSpace,i));t.pushUndoStop(),t.executeCommands(this.id,s),t.pushUndoStop()}}ne(Hz);ne(Wz);ne(Bz);ne(zz);var Vz=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(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)}},aC,xd;let cg=(xd=class{static get(e){return e.getContribution(aC.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 Be,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&&aO(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 lO){const h=this._getMenuActions(e,c.item.submenu);h.length>0&&(i.push(new WL(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=Gs(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)&&!Ky;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 Uy(r,r,{label:!0,keybinding:a.getLabel(),isMenu:!0});const c=r;return typeof c.getActionViewItem=="function"?c.getActionViewItem():new Uy(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()||cO(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 WL(`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)&&!Ky;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()}},aC=xd,xd.ID="editor.contrib.contextmenu",xd);cg=aC=Vz([Mc(1,bg),Mc(2,Wb),Mc(3,Fi),Mc(4,ns),Mc(5,mh),Mc(6,Cn),Mc(7,Vu)],cg);class jz 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=cg.get(t))==null||i.showContextMenu()}}_i(cg.ID,cg,2);ne(jz);class gy{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 fy{constructor(e,t,i){this.cursorState=e,this.scrollTop=t,this.scrollLeft=i}}const eb=class eb extends je{static get(e){return e.getContribution(eb.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 gy(t.oldSelections);this._undoStack.length>0&&this._undoStack[this._undoStack.length-1].cursorState.equals(i)||(this._undoStack.push(new fy(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 fy(new gy(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 fy(new gy(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}};eb.ID="editor.contrib.cursorUndoRedoController";let dg=eb;class Uz 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=dg.get(t))==null||n.cursorUndo()}}class $z 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=dg.get(t))==null||n.cursorRedo()}}_i(dg.ID,dg,0);ne(Uz);ne($z);class qz{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 Ut(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 Ut(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 Ut(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 Ut(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 Ut(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 Wh(o){return xa?o.altKey:o.ctrlKey}const Rl=class Rl extends je{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)||(Wh(e)&&(this._modifierPressed=!0),this._mouseDown&&Wh(e)&&this._editor.updateOptions({mouseStyle:"copy"}))}onEditorKeyUp(e){!this._editor.getOption(35)||this._editor.getOption(22)||(Wh(e)&&(this._modifierPressed=!1),this._mouseDown&&e.keyCode===Rl.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}Wh(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 xt(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 Ut(s,r,t.lineNumber,t.column)]}}else i=(this._editor.getSelections()||[]).map(n=>n.containsPosition(t)?new Ut(t.lineNumber,t.column,t.lineNumber,t.column):n);this._editor.setSelections(i||[],"mouse",3)}else(!this._dragSelection.containsPosition(t)||(Wh(e.event)||this._modifierPressed)&&(this._dragSelection.getEndPosition().equals(t)||this._dragSelection.getStartPosition().equals(t)))&&(this._editor.pushUndoStop(),this._editor.executeCommand(Rl.ID,new qz(this._dragSelection,t,Wh(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:Rl._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()}};Rl.ID="editor.contrib.dragAndDrop",Rl.TRIGGER_KEY_VALUE=xa?6:5,Rl._DECORATION_OPTIONS=Li.register({description:"dnd-target",className:"dnd-target"});let J_=Rl;_i(J_.ID,J_,2);_i(cl.ID,cl,0);Sg(SS);Et(new class extends Js{constructor(){super({id:jT,precondition:r1,kbOpts:{weight:100,primary:2137}})}runEditorCommand(o,e){var t;return(t=cl.get(e))==null?void 0:t.changePasteType()}});Et(new class extends Js{constructor(){super({id:"editor.hidePasteWidget",precondition:r1,kbOpts:{weight:100,primary:9}})}runEditorCommand(o,e){var t;(t=cl.get(e))==null||t.clearWidgets()}});var Ld;ne((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 Sn(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));ne(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 Kz{constructor(){this._dragOperations=new Map}removeDragOperationTransfer(e){if(e&&this._dragOperations.has(e)){const t=this._dragOperations.get(e);return this._dragOperations.delete(e),t}}}class Xk{constructor(e){this.identifier=e}}const zM=fl("treeViewsDndService");pl(zM,Kz,1);var Gz=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(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)}},lC;const VM="editor.experimental.dropIntoEditor.defaultProvider",jM="editor.changeDropType",y1=new Pi("dropWidgetVisible",!1,w("dropWidgetVisible","Whether the drop widget is showing"));var kd;let hg=(kd=class extends je{static get(e){return e.getContribution(lC.ID)}constructor(e,t,i,n,s){super(),this._configService=i,this._languageFeaturesService=n,this._treeViewsDragAndDropService=s,this.treeItemsTransfer=wS.getInstance(),this._dropProgressManager=this._register(t.createInstance(W_,"dropIntoEditor",e)),this._postDropWidgetManager=this._register(t.createInstance(z_,"dropIntoEditor",e,y1,{id:jM,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=fs(async r=>{const a=new Be,c=a.add(new ju(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 Be,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:zT(c),dispose:()=>r.dispose()}}getInitialActiveEditIndex(e,t){const i=this._configService.getValue(VM,{resource:e.uri});for(const[n,s]of Object.entries(i)){const r=new Sn(s),a=t.findIndex(c=>r.value===c.providerId&&c.handledMimeType&&MT(n,[c.handledMimeType]));if(a>=0)return a}return 0}async extractDataTransferData(e){if(!e.dataTransfer)return new TT;const t=AT(e.dataTransfer);if(this.treeItemsTransfer.hasData(Xk.prototype)){const i=this.treeItemsTransfer.getData(Xk.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}},lC=kd,kd.ID="editor.contrib.dropIntoEditorController",kd);hg=lC=Gz([km(1,li),km(2,Cn),km(3,Lt),km(4,zM)],hg);_i(hg.ID,hg,2);Sg(yS);Et(new class extends Js{constructor(){super({id:jM,precondition:y1,kbOpts:{weight:100,primary:2137}})}runEditorCommand(o,e,t){var i;(i=hg.get(e))==null||i.changeDropType()}});Et(new class extends Js{constructor(){super({id:"editor.hideDropWidget",precondition:y1,kbOpts:{weight:100,primary:9}})}runEditorCommand(o,e,t){var i;(i=hg.get(e))==null||i.clearWidgets()}});Br.as(Rp.Configuration).registerConfiguration({...zb,properties:{[VM]:{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=Li.register({description:"current-find-match",stickiness:1,zIndex:13,className:"currentFindMatch",inlineClassName:"currentFindMatchInline",showIfCollapsed:!0,overviewRuler:{color:os($w),position:ba.Center},minimap:{color:os(BL),position:1}}),Is._FIND_MATCH_DECORATION=Li.register({description:"find-match",stickiness:1,zIndex:10,className:"findMatch",inlineClassName:"findMatchInline",showIfCollapsed:!0,overviewRuler:{color:os($w),position:ba.Center},minimap:{color:os(BL),position:1}}),Is._FIND_MATCH_NO_OVERVIEW_DECORATION=Li.register({description:"find-match-no-overview",stickiness:1,className:"findMatch",showIfCollapsed:!0}),Is._FIND_MATCH_ONLY_OVERVIEW_DECORATION=Li.register({description:"find-match-only-overview",stickiness:1,overviewRuler:{color:os($w),position:ba.Center}}),Is._RANGE_HIGHLIGHT_DECORATION=Li.register({description:"find-range-highlight",stickiness:1,className:"rangeHighlight",isWholeLine:!0}),Is._FIND_SCOPE_DECORATION=Li.register({description:"find-scope",className:"findScope",isWholeLine:!0});let cC=Is;class Zz{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 UM(o,e){if(o&&o[0]!==""){const t=Yk(o,e,"-"),i=Yk(o,e,"_");return t&&!i?Jk(o,e,"-"):!t&&i?Jk(o,e,"_"):o[0].toUpperCase()===o[0]?e.toUpperCase():o[0].toLowerCase()===o[0]?e.toLowerCase():dO(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 Yk(o,e,t){return o[0].indexOf(t)!==-1&&e.indexOf(t)!==-1&&o[0].split(t).length===e.split(t).length}function Jk(o,e,t){const i=e.split(t),n=o[0].split(t);let s="";return i.forEach((r,a)=>{s+=UM([n[a]],r)+t}),s.slice(0,-1)}class Qk{constructor(e){this.staticValue=e,this.kind=0}}class Xz{constructor(e){this.pieces=e,this.kind=1}}class ug{static fromStaticValue(e){return new ug([ad.staticValue(e)])}get hasReplacementPatterns(){return this._state.kind===1}constructor(e){!e||e.length===0?this._state=new Qk(""):e.length===1&&e[0].staticValue!==null?this._state=new Qk(e[0].staticValue):this._state=new Xz(e)}buildReplaceString(e,t){if(this._state.kind===0)return t?UM(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=ug._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 Yz{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 ug(this._result)}}function Jz(o){if(!o||o.length===0)return new ug(null);const e=[],t=new Yz(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 Pi("findWidgetVisible",!1);bl.toNegated();const bw=new Pi("findInputFocussed",!1),S1=new Pi("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}},cn={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"},$l=19999,Qz=240;class Sf{constructor(e,t){this._toDispose=new Be,this._editor=e,this._state=t,this._isDisposed=!1,this._startSearchingTimer=new Mp,this._decorations=new cC(e),this._toDispose.add(this._decorations),this._updateDecorationsScheduler=new ls(()=>{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,As(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)},Qz)):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,$l);this._decorations.set(n,i);const s=this._editor.getSelection();let r=this._decorations.getCurrentMatchesPosition(s);if(r===0&&n.length>0){const a=pE(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 xt(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()<$l){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 xt(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 xt(i,n)}_moveToNextMatch(e){if(!this._state.canNavigateForward()){const i=this._decorations.matchBeforePosition(e);i&&this._setCurrentFindMatch(i);return}if(this._decorations.getCount()<$l){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 xt(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?Jz(this._state.replaceString):ug.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 xt(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>=$l?this._largeReplaceAll():this._regularReplaceAll(e),this.research(!1)}_largeReplaceAll(){const t=new hO(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 mE(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 Zz(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 Ut(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 tb=class tb extends Op{constructor(e,t,i){super(),this._hideSoon=this._register(new ls(()=>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(vE),inputActiveOptionForeground:Qc(_E),inputActiveOptionBackground:Qc(y0)},s=this._register(Gy());this.caseSensitive=this._register(new uO({appendTitle:this._keybindingLabelFor(cn.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 gO({appendTitle:this._keybindingLabelFor(cn.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 fO({appendTitle:this._keybindingLabelFor(cn.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,Hn.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 tb.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")}};tb.ID="editor.contrib.findOptionsWidget";let dC=tb;function Mm(o,e){return o===1?!0:o===2?!1:e}class eV extends je{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 ui),this.onFindReplaceStateChange=this._onFindReplaceStateChange.event,this._searchString="",this._replaceString="",this._isRevealed=!1,this._isReplaceRevealed=!1,this._isRegex=!1,this._isRegexOverride=0,this._wholeWord=!1,this._wholeWordOverride=0,this._matchCase=!1,this._matchCaseOverride=0,this._preserveCase=!1,this._preserveCaseOverride=0,this._searchScope=null,this._matchesPosition=0,this._matchesCount=0,this._currentMatch=null,this._loop=!0,this._isSearching=!1,this._filters=null}changeMatchInfo(e,t,i){const n={moveCursor:!1,updateHistory:!1,searchString:!1,replaceString:!1,isRevealed:!1,isReplaceRevealed:!1,isRegex:!1,wholeWord:!1,matchCase:!1,preserveCase:!1,searchScope:!1,matchesPosition:!1,matchesCount:!1,currentMatch:!1,loop:!1,isSearching:!1,filters:!1};let s=!1;t===0&&(e=0),e>t&&(e=t),this._matchesPosition!==e&&(this._matchesPosition=e,n.matchesPosition=!0,s=!0),this._matchesCount!==t&&(this._matchesCount=t,n.matchesCount=!0,s=!0),typeof i<"u"&&(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>=$l}}const tV=w("defaultLabel","input"),iV=w("label.preserveCaseToggle","Preserve Case");class nV extends bE{constructor(e){super({icon:Zt.preserveCase,title:iV+e.appendTitle,isChecked:e.isChecked,hoverDelegate:e.hoverDelegate??Kb("element"),inputActiveOptionBorder:e.inputActiveOptionBorder,inputActiveOptionForeground:e.inputActiveOptionForeground,inputActiveOptionBackground:e.inputActiveOptionBackground})}}class sV extends Op{constructor(e,t,i,n){super(),this._showOptionButtons=i,this.fixFocusOnOptionClickEnabled=!0,this.cachedOptionsWidth=0,this._onDidOptionChange=this._register(new ui),this.onDidOptionChange=this._onDidOptionChange.event,this._onKeyDown=this._register(new ui),this.onKeyDown=this._onKeyDown.event,this._onMouseDown=this._register(new ui),this._onInput=this._register(new ui),this._onKeyUp=this._register(new ui),this._onPreserveCaseKeyDown=this._register(new ui),this.onPreserveCaseKeyDown=this._onPreserveCaseKeyDown.event,this.contextViewProvider=t,this.placeholder=n.placeholder||"",this.validation=n.validation,this.label=n.label||tV;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 pO(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 nV({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(),C_.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 $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},qM=function(o,e){return function(t,i){e(t,i,o)}};const C1=new Pi("suggestWidgetVisible",!1,w("suggestWidgetVisible","Whether suggestion are visible")),x1="historyNavigationWidgetFocus",KM="historyNavigationForwardsEnabled",GM="historyNavigationBackwardsEnabled";let tl;const Nm=[];function ZM(o,e){if(Nm.includes(e))throw new Error("Cannot register the same widget multiple times");Nm.push(e);const t=new Be,i=new Pi(x1,!1).bindTo(o),n=new Pi(KM,!0).bindTo(o),s=new Pi(GM,!0).bindTo(o),r=()=>{i.set(!0),tl=e},a=()=>{i.set(!1),tl===e&&(tl=void 0)};return _O(e.element)&&r(),t.add(e.onDidFocus(()=>r())),t.add(e.onDidBlur(()=>a())),t.add(yn(()=>{Nm.splice(Nm.indexOf(e),1),a()})),{historyNavigationForwardsEnablement:n,historyNavigationBackwardsEnablement:s,dispose(){t.dispose()}}}let hC=class extends mO{constructor(e,t,i,n){super(e,t,i);const s=this._register(n.createScoped(this.inputBox.element));this._register(ZM(s,this.inputBox))}};hC=$M([qM(3,Fi)],hC);let uC=class extends sV{constructor(e,t,i,n,s=!1){super(e,t,s,i);const r=this._register(n.createScoped(this.inputBox.element));this._register(ZM(r,this.inputBox))}};uC=$M([qM(3,Fi)],uC);Da.registerCommandAndKeybindingRule({id:"history.showPrevious",weight:200,when:ae.and(ae.has(x1),ae.equals(GM,!0),ae.not("isComposing"),C1.isEqualTo(!1)),primary:16,secondary:[528],handler:o=>{tl==null||tl.showPreviousValue()}});Da.registerCommandAndKeybindingRule({id:"history.showNext",weight:200,when:ae.and(ae.has(x1),ae.equals(KM,!0),ae.not("isComposing"),C1.isEqualTo(!1)),primary:18,secondary:[530],handler:o=>{tl==null||tl.showNextValue()}});function eI(o){var e,t;return((e=o.lookupKeybinding("history.showPrevious"))==null?void 0:e.getElectronAccelerator())==="Up"&&((t=o.lookupKeybinding("history.showNext"))==null?void 0:t.getElectronAccelerator())==="Down"}const tI=Xn("find-collapsed",Zt.chevronRight,w("findCollapsedIcon","Icon to indicate that the editor find widget is collapsed.")),iI=Xn("find-expanded",Zt.chevronDown,w("findExpandedIcon","Icon to indicate that the editor find widget is expanded.")),oV=Xn("find-selection",Zt.selection,w("findSelectionIcon","Icon for 'Find in Selection' in the editor find widget.")),rV=Xn("find-replace",Zt.replace,w("findReplaceIcon","Icon for 'Replace' in the editor find widget.")),aV=Xn("find-replace-all",Zt.replaceAll,w("findReplaceAllIcon","Icon for 'Replace All' in the editor find widget.")),lV=Xn("find-previous-match",Zt.arrowUp,w("findPreviousMatchIcon","Icon for 'Find Previous' in the editor find widget.")),cV=Xn("find-next-match",Zt.arrowDown,w("findNextMatchIcon","Icon for 'Find Next' in the editor find widget.")),dV=w("label.findDialog","Find / Replace"),hV=w("label.find","Find"),uV=w("placeholder.find","Find"),gV=w("label.previousMatchButton","Previous Match"),fV=w("label.nextMatchButton","Next Match"),pV=w("label.toggleSelectionFind","Find in Selection"),mV=w("label.closeButton","Close"),_V=w("label.replace","Replace"),vV=w("placeholder.replace","Replace"),bV=w("label.replaceButton","Replace"),wV=w("label.replaceAllButton","Replace All"),yV=w("label.toggleReplaceButton","Toggle Replace"),SV=w("title.matchesCountLimit","Only the first {0} results are highlighted, but all find operations work on the entire text.",$l),CV=w("label.matchesLocation","{0} of {1}"),nI=w("label.noResults","No results"),Qr=419,xV=275,LV=xV-54;let jg=69;const kV=33,sI="ctrlEnterReplaceAll.windows.donotask",oI=xa?256:2048;class py{constructor(e){this.afterLineNumber=e,this.heightInPx=kV,this.suppressMouseDown=!1,this.domNode=document.createElement("div"),this.domNode.className="dock-find-viewzone"}}function rI(o,e,t){const i=!!e.match(/\n/);if(t&&i&&t.selectionStart>0){o.stopPropagation();return}}function aI(o,e,t){const i=!!e.match(/\n/);if(t&&i&&t.selectionEnd<t.value.length){o.stopPropagation();return}}const ib=class ib 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(sI,0),this._isVisible=!1,this._isReplaceVisible=!1,this._ignoreChangeEvent=!1,this._updateHistoryDelayer=new mc(500),this._register(yn(()=>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 py(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=bw.bindTo(r),this._findFocusTracker=this._register(Uu(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=S1.bindTo(r),this._replaceFocusTracker=this._register(Uu(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 py(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 ib.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,dn)}_updateHistory(){this._state.searchString&&this._findInput.inputBox.addToHistory(),this._state.replaceString&&this._replaceInput.inputBox.addToHistory()}_updateMatchesCount(){var t;this._matchesCount.style.minWidth=jg+"px",this._state.matchesCount>=$l?this._matchesCount.title=SV: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>=$l&&(i+="+");let n=String(this._state.matchesPosition);n==="0"&&(n="?"),e=T0(CV,n,i)}else e=nI;this._matchesCount.appendChild(document.createTextNode(e)),gr(this._getAriaLabel(e,this._state.currentMatch,this._state.searchString)),jg=Math.max(jg,this._matchesCount.clientWidth)}_getAriaLabel(e,t,i){if(e===nI)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=Gs(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=vO(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 py(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-jg>=i&&(a=!0),Qr+28+n-jg>=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(oI|3))if(this._keybindingService.dispatchEvent(e,e.target)){e.preventDefault();return}else{this._findInput.inputBox.insertAtCursor(`
21
+ `),e.preventDefault();return}if(e.equals(2)){this._isReplaceVisible?this._replaceInput.focus():this._findInput.focusOnCaseSensitive(),e.preventDefault();return}if(e.equals(2066)){this._codeEditor.focus(),e.preventDefault();return}if(e.equals(16))return rI(e,this._findInput.getValue(),this._findInput.domNode.querySelector("textarea"));if(e.equals(18))return aI(e,this._findInput.getValue(),this._findInput.domNode.querySelector("textarea"))}_onReplaceInputKeyDown(e){if(e.equals(oI|3))if(this._keybindingService.dispatchEvent(e,e.target)){e.preventDefault();return}else{Ob&&yg&&!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(sI,!0,0,0)),this._replaceInput.inputBox.insertAtCursor(`
22
+ `),e.preventDefault();return}if(e.equals(2)){this._findInput.focusOnCaseSensitive(),e.preventDefault();return}if(e.equals(1026)){this._findInput.focus(),e.preventDefault();return}if(e.equals(2066)){this._codeEditor.focus(),e.preventDefault();return}if(e.equals(16))return rI(e,this._replaceInput.inputBox.value,this._replaceInput.inputBox.element.querySelector("textarea"));if(e.equals(18))return aI(e,this._replaceInput.inputBox.value,this._replaceInput.inputBox.element.querySelector("textarea"))}getVerticalSashLeft(e){return 0}_keybindingLabelFor(e){const t=this._keybindingService.lookupKeybinding(e);return t?` (${t.getLabel()})`:""}_buildDomNode(){this._findInput=this._register(new hC(null,this._contextViewProvider,{width:LV,label:hV,placeholder:uV,appendCaseSensitiveLabel:this._keybindingLabelFor(cn.ToggleCaseSensitiveCommand),appendWholeWordsLabel:this._keybindingLabelFor(cn.ToggleWholeWordCommand),appendRegexLabel:this._keybindingLabelFor(cn.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:()=>eI(this._keybindingService),inputBoxStyles:VL,toggleStyles:zL},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()})),bO&&this._register(this._findInput.onMouseDown(g=>this._onFindInputMouseDown(g))),this._matchesCount=document.createElement("div"),this._matchesCount.className="matchesCount",this._updateMatchesCount();const i=this._register(Gy());this._prevBtn=this._register(new Bh({label:gV+this._keybindingLabelFor(cn.PreviousMatchFindAction),icon:lV,hoverDelegate:i,onTrigger:()=>{su(this._codeEditor.getAction(cn.PreviousMatchFindAction)).run().then(void 0,dn)}},this._hoverService)),this._nextBtn=this._register(new Bh({label:fV+this._keybindingLabelFor(cn.NextMatchFindAction),icon:cV,hoverDelegate:i,onTrigger:()=>{su(this._codeEditor.getAction(cn.NextMatchFindAction)).run().then(void 0,dn)}},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 bE({icon:oV,title:pV+this._keybindingLabelFor(cn.ToggleSearchScopeCommand),isChecked:!1,hoverDelegate:i,inputActiveOptionBackground:Qc(y0),inputActiveOptionBorder:Qc(vE),inputActiveOptionForeground:Qc(_E)})),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 Bh({label:mV+this._keybindingLabelFor(cn.CloseFindWidgetCommand),icon:wE,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 uC(null,void 0,{label:_V,placeholder:vV,appendPreserveCaseLabel:this._keybindingLabelFor(cn.TogglePreserveCaseCommand),history:[],flexibleHeight:!0,flexibleWidth:!0,flexibleMaxHeight:118,showHistoryHint:()=>eI(this._keybindingService),inputBoxStyles:VL,toggleStyles:zL},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(Gy());this._replaceBtn=this._register(new Bh({label:bV+this._keybindingLabelFor(cn.ReplaceOneAction),icon:rV,hoverDelegate:r,onTrigger:()=>{this._controller.replace()},onKeyDown:g=>{g.equals(1026)&&(this._closeBtn.focus(),g.preventDefault())}},this._hoverService)),this._replaceAllBtn=this._register(new Bh({label:wV+this._keybindingLabelFor(cn.ReplaceAllAction),icon:aV,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 Bh({label:yV,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=dV,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 tu(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(wO(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)}};ib.ID="editor.contrib.findWidget";let gC=ib;class Bh 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??Kb("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(tI)),this._domNode.classList.add(...qi.asClassNameArray(iI))):(this._domNode.classList.remove(...qi.asClassNameArray(iI)),this._domNode.classList.add(...qi.asClassNameArray(tI)))}}Bb((o,e)=>{const t=o.getColor(QD);t&&e.addRule(`.monaco-editor .findMatch { border: 1px ${Ff(o.type)?"dotted":"solid"} ${t}; box-sizing: border-box; }`);const i=o.getColor(yO);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(SO);s&&e.addRule(`.monaco-editor .findMatchInline { color: ${s}; }`);const r=o.getColor(CO);r&&e.addRule(`.monaco-editor .currentFindMatchInline { color: ${r}; }`)});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},Bo=function(o,e){return function(t,i){e(t,i,o)}},fC;const IV=524288;function pC(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)<IV)return o.getModel().getValueInRange(i)}return null}var Id;let Xs=(Id=class extends je{get editor(){return this._editor}static get(e){return e.getContribution(fC.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 mc(500),this._state=this._register(new eV),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!!bw.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=pC(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=pC(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)}},fC=Id,Id.ID="editor.contrib.findController",Id);Xs=fC=XM([Bo(1,Fi),Bo(2,Lc),Bo(3,wg),Bo(4,zs),Bo(5,Wp)],Xs);let mC=class extends Xs{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 gC(this._editor,this,this._state,this._contextViewService,this._keybindingService,this._contextKeyService,this._themeService,this._storageService,this._notificationService,this._hoverService)),this._findOptionsWidget=this._register(new dC(this._editor,this._state,this._keybindingService))}};mC=XM([Bo(1,Wb),Bo(2,Fi),Bo(3,ns),Bo(4,mr),Bo(5,zs),Bo(6,Lc),Bo(7,wg),Bo(8,Wp)],mC);const DV=yE(new SE({id:cn.StartFindAction,label:w("startFindAction","Find"),alias:"Find",precondition:ae.or(M.focus,ae.has("editorIsOpen")),kbOpts:{kbExpr:null,primary:2084,weight:100},menuOpts:{menuId:rt.MenubarEditMenu,group:"3_find",title:w({key:"miFind",comment:["&& denotes a mnemonic"]},"&&Find"),order:1}}));DV.addImplementation(0,(o,e,t)=>{const i=Xs.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 EV={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 PV extends we{constructor(){super({id:cn.StartFindWithArgs,label:w("startFindWithArgsAction","Find With Arguments"),alias:"Find With Arguments",precondition:void 0,kbOpts:{kbExpr:null,primary:0,weight:100},metadata:EV})}async run(e,t,i){const n=Xs.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 TV extends we{constructor(){super({id:cn.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=Xs.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 YM extends we{async run(e,t){const i=Xs.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 MV extends YM{constructor(){super({id:cn.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:ae.and(M.focus,bw),primary:3,weight:100}]})}_run(e){return e.moveToNextMatch()?(e.editor.pushUndoStop(),!0):!1}}class NV extends YM{constructor(){super({id:cn.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:ae.and(M.focus,bw),primary:1027,weight:100}]})}_run(e){return e.moveToPrevMatch()}}class RV extends we{constructor(){super({id:cn.GoToMatchFindAction,label:w("findMatchAction.goToMatch","Go to Match..."),alias:"Go to Match...",precondition:bl}),this._highlightDecorations=[]}run(e,t,i){const n=Xs.get(t);if(!n)return;const s=n.getState().matchesCount;if(s<1){e.get(zs).notify({severity:E0.Warning,message:w("findMatchAction.noResults","No matches. Try searching for something else.")});return}const r=e.get(gl),a=new Be,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:os(CE),position:ba.Full}}}])})}}class JM extends we{async run(e,t){const i=Xs.get(t);if(!i)return;const n=pC(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 AV extends JM{constructor(){super({id:cn.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 OV extends JM{constructor(){super({id:cn.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 FV=yE(new SE({id:cn.StartFindReplaceAction,label:w("startReplace","Replace"),alias:"Replace",precondition:ae.or(M.focus,ae.has("editorIsOpen")),kbOpts:{kbExpr:null,primary:2086,mac:{primary:2596},weight:100},menuOpts:{menuId:rt.MenubarEditMenu,group:"3_find",title:w({key:"miReplace",comment:["&& denotes a mnemonic"]},"&&Replace"),order:2}}));FV.addImplementation(0,(o,e,t)=>{if(!e.hasModel()||e.getOption(92))return!1;const i=Xs.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(Xs.ID,mC,0);ne(PV);ne(TV);ne(MV);ne(NV);ne(RV);ne(AV);ne(OV);const $r=Js.bindToContribution(Xs.get);Et(new $r({id:cn.CloseFindWidgetCommand,precondition:bl,handler:o=>o.closeFindWidget(),kbOpts:{weight:105,kbExpr:ae.and(M.focus,ae.not("isComposing")),primary:9,secondary:[1033]}}));Et(new $r({id:cn.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}}));Et(new $r({id:cn.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}}));Et(new $r({id:cn.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}}));Et(new $r({id:cn.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}}));Et(new $r({id:cn.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}}));Et(new $r({id:cn.ReplaceOneAction,precondition:bl,handler:o=>o.replace(),kbOpts:{weight:105,kbExpr:M.focus,primary:3094}}));Et(new $r({id:cn.ReplaceOneAction,precondition:bl,handler:o=>o.replace(),kbOpts:{weight:105,kbExpr:ae.and(M.focus,S1),primary:3}}));Et(new $r({id:cn.ReplaceAllAction,precondition:bl,handler:o=>o.replaceAll(),kbOpts:{weight:105,kbExpr:M.focus,primary:2563}}));Et(new $r({id:cn.ReplaceAllAction,precondition:bl,handler:o=>o.replaceAll(),kbOpts:{weight:105,kbExpr:ae.and(M.focus,S1),primary:void 0,mac:{primary:2051}}}));Et(new $r({id:cn.SelectAllMatchesAction,precondition:bl,handler:o=>o.selectAllMatches(),kbOpts:{weight:105,kbExpr:M.focus,primary:515}}));const HV={0:" ",1:"u",2:"r"},lI=65535,Dr=16777215,cI=4278190080;class my{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 xo{constructor(e,t,i){if(e.length!==t.length||e.length>lI)throw new Error("invalid startIndexes or endIndexes size");this._startIndexes=e,this._endIndexes=t,this._collapseStates=new my(e.length),this._userDefinedStates=new my(e.length),this._recoveredStates=new my(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>Dr||r>Dr)throw new Error("startLineNumber or endLineNumber must not exceed "+Dr);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]&Dr}getEndLineNumber(e){return this._endIndexes[e]&Dr}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 WV(this,e)}getParentIndex(e){this.ensureParentIndices();const t=((this._startIndexes[e]&cI)>>>24)+((this._endIndexes[e]&cI)>>>16);return t===lI?-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]=`[${HV[this.getSource(t)]}${this.isCollapsed(t)?"+":"-"}] ${this.getStartLineNumber(t)}/${this.getEndLineNumber(t)}`;return e.join(", ")}toFoldRange(e){return{startLineNumber:this._startIndexes[e]&Dr,endLineNumber:this._endIndexes[e]&Dr,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 xo(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)?(E=>E<D?S[E]:void 0):(E=>E<D?S.toFoldRange(E):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,E=f;for(;;){if(!E||E.startLineNumber>g.endLineNumber){S=g;break}if(E.source===1&&E.endLineNumber>g.endLineNumber)break;E=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 WV{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 BV{get regions(){return this._regions}get textModel(){return this._textModel}constructor(e,t){this._updateEventEmitter=new ui,this.onDidChange=this._updateEventEmitter.event,this._textModel=e,this._decorationProvider=t,this._regions=new xo(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(xo.fromFoldRanges(t))}update(e,t){const i=this._currentFoldedOrManualRanges(t),n=xo.sanitizeAndMerge(e,i,this._textModel.getLineCount(),t);this.updatePost(xo.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=xo.sanitizeAndMerge(this._regions,t,i);this.updatePost(xo.fromFoldRanges(n))}_getLinesChecksum(e,t){return xE(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 L1(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 Eg(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 QM(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 zV(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 VV(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 eN(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 k1(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 I1(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 jV(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 UV(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 $V(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 qV{get onDidChange(){return this._updateEventEmitter.event}get hiddenRanges(){return this._hiddenRanges}constructor(e){this._updateEventEmitter=new ui,this._hasLineChanges=!1,this._foldingModel=e,this._foldingModelListener=e.onDidChange(t=>this.updateHiddenRanges()),this._hiddenRanges=[],e.regions.length&&this.updateHiddenRanges()}notifyChangeModelContent(e){this._hiddenRanges.length&&!this._hasLineChanges&&(this._hasLineChanges=e.changes.some(t=>t.range.endLineNumber!==t.range.startLineNumber||xO(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 dI(this._hiddenRanges,e)!==null}adjustSelections(e){let t=!1;const i=this._foldingModel.textModel;let n=null;const s=r=>((!n||!KV(r,n))&&(n=dI(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 KV(o,e){return o>=e.startLineNumber&&o<=e.endLineNumber}function dI(o,e){const t=pE(o,i=>e<i.startLineNumber)-1;return t>=0&&o[t].endLineNumber>=e?o[t]:null}const GV=5e3,ZV="indent";class D1{constructor(e,t,i){this.editorModel=e,this.languageConfigurationService=t,this.foldingRangesLimit=i,this.id=ZV}dispose(){}compute(e){const t=this.languageConfigurationService.getLanguageConfiguration(this.editorModel.getLanguageId()).foldingRules,i=t&&!!t.offSide,n=t&&t.markers;return Promise.resolve(JV(this.editorModel,i,n,this.foldingRangesLimit))}}let XV=class{constructor(e){this._startIndexes=[],this._endIndexes=[],this._indentOccurrences=[],this._length=0,this._foldingRangesLimit=e}insertFirst(e,t,i){if(e>Dr||t>Dr)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 xo(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=_0(f,s);(p<n||p===n&&i++<t)&&(r[h]=g,a[h]=this._endIndexes[c],h++)}return new xo(r,a)}}};const YV={limit:GV,update:()=>{}};function JV(o,e,t,i=YV){const n=o.getOptions().tabSize,s=new XV(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=_0(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 QV=mt("editor.foldBackground",{light:ya(jL,.3),dark:ya(jL,.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);mt("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."));mt("editorGutter.foldingControlForeground",LO,w("editorGutter.foldingControlForeground","Color of the folding control in the editor gutter."));const Q_=Xn("folding-expanded",Zt.chevronDown,w("foldingExpandedIcon","Icon for expanded ranges in the editor glyph margin.")),ev=Xn("folding-collapsed",Zt.chevronRight,w("foldingCollapsedIcon","Icon for collapsed ranges in the editor glyph margin.")),hI=Xn("folding-manual-collapsed",ev,w("foldingManualCollapedIcon","Icon for manually collapsed ranges in the editor glyph margin.")),uI=Xn("folding-manual-expanded",Q_,w("foldingManualExpandedIcon","Icon for manually expanded ranges in the editor glyph margin.")),_y={color:os(QV),position:1},zh=w("linesCollapsed","Click to expand the range."),Rm=w("linesExpanded","Click to collapse the range."),Yn=class Yn{constructor(e){this.editor=e,this.showFoldingControls="mouseover",this.showFoldingHighlights=!0}getDecorationOption(e,t,i){return t?Yn.HIDDEN_RANGE_DECORATION:this.showFoldingControls==="never"?e?this.showFoldingHighlights?Yn.NO_CONTROLS_COLLAPSED_HIGHLIGHTED_RANGE_DECORATION:Yn.NO_CONTROLS_COLLAPSED_RANGE_DECORATION:Yn.NO_CONTROLS_EXPANDED_RANGE_DECORATION:e?i?this.showFoldingHighlights?Yn.MANUALLY_COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION:Yn.MANUALLY_COLLAPSED_VISUAL_DECORATION:this.showFoldingHighlights?Yn.COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION:Yn.COLLAPSED_VISUAL_DECORATION:this.showFoldingControls==="mouseover"?i?Yn.MANUALLY_EXPANDED_AUTO_HIDE_VISUAL_DECORATION:Yn.EXPANDED_AUTO_HIDE_VISUAL_DECORATION:i?Yn.MANUALLY_EXPANDED_VISUAL_DECORATION:Yn.EXPANDED_VISUAL_DECORATION}changeDecorations(e){return this.editor.changeDecorations(e)}removeDecorations(e){this.editor.removeDecorations(e)}};Yn.COLLAPSED_VISUAL_DECORATION=Li.register({description:"folding-collapsed-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:!0,linesDecorationsTooltip:zh,firstLineDecorationClassName:qi.asClassName(ev)}),Yn.COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION=Li.register({description:"folding-collapsed-highlighted-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",className:"folded-background",minimap:_y,isWholeLine:!0,linesDecorationsTooltip:zh,firstLineDecorationClassName:qi.asClassName(ev)}),Yn.MANUALLY_COLLAPSED_VISUAL_DECORATION=Li.register({description:"folding-manually-collapsed-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:!0,linesDecorationsTooltip:zh,firstLineDecorationClassName:qi.asClassName(hI)}),Yn.MANUALLY_COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION=Li.register({description:"folding-manually-collapsed-highlighted-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",className:"folded-background",minimap:_y,isWholeLine:!0,linesDecorationsTooltip:zh,firstLineDecorationClassName:qi.asClassName(hI)}),Yn.NO_CONTROLS_COLLAPSED_RANGE_DECORATION=Li.register({description:"folding-no-controls-range-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:!0,linesDecorationsTooltip:zh}),Yn.NO_CONTROLS_COLLAPSED_HIGHLIGHTED_RANGE_DECORATION=Li.register({description:"folding-no-controls-range-decoration",stickiness:0,afterContentClassName:"inline-folded",className:"folded-background",minimap:_y,isWholeLine:!0,linesDecorationsTooltip:zh}),Yn.EXPANDED_VISUAL_DECORATION=Li.register({description:"folding-expanded-visual-decoration",stickiness:1,isWholeLine:!0,firstLineDecorationClassName:"alwaysShowFoldIcons "+qi.asClassName(Q_),linesDecorationsTooltip:Rm}),Yn.EXPANDED_AUTO_HIDE_VISUAL_DECORATION=Li.register({description:"folding-expanded-auto-hide-visual-decoration",stickiness:1,isWholeLine:!0,firstLineDecorationClassName:qi.asClassName(Q_),linesDecorationsTooltip:Rm}),Yn.MANUALLY_EXPANDED_VISUAL_DECORATION=Li.register({description:"folding-manually-expanded-visual-decoration",stickiness:0,isWholeLine:!0,firstLineDecorationClassName:"alwaysShowFoldIcons "+qi.asClassName(uI),linesDecorationsTooltip:Rm}),Yn.MANUALLY_EXPANDED_AUTO_HIDE_VISUAL_DECORATION=Li.register({description:"folding-manually-expanded-auto-hide-visual-decoration",stickiness:0,isWholeLine:!0,firstLineDecorationClassName:qi.asClassName(uI),linesDecorationsTooltip:Rm}),Yn.NO_CONTROLS_EXPANDED_RANGE_DECORATION=Li.register({description:"folding-no-controls-range-decoration",stickiness:0,isWholeLine:!0}),Yn.HIDDEN_RANGE_DECORATION=Li.register({description:"folding-hidden-range-decoration",stickiness:1});let _C=Yn;const e4={},t4="syntax";class E1{constructor(e,t,i,n,s){this.editorModel=e,this.providers=t,this.handleFoldingRangesChange=i,this.foldingRangesLimit=n,this.fallbackRangeProvider=s,this.id=t4,this.disposables=new Be,s&&this.disposables.add(s);for(const r of t)typeof r.onDidChange=="function"&&this.disposables.add(r.onDidChange(i))}compute(e){return i4(this.providers,this.editorModel,e).then(t=>{var i;return t?s4(t,this.foldingRangesLimit):((i=this.fallbackRangeProvider)==null?void 0:i.compute(e))??null})}dispose(){this.disposables.dispose()}}function i4(o,e,t){let i=null;const n=o.map((s,r)=>Promise.resolve(s.provideFoldingRanges(e,e4,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})}},Jn));return Promise.all(n).then(s=>i)}class n4{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>Dr||t>Dr)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 xo(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 xo(n,s,r)}}}function s4(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 n4(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 o4=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Ug=function(o,e){return function(t,i){e(t,i,o)}},Fc;const vs=new Pi("foldingEnabled",!1);var Dd;let yc=(Dd=class extends je{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 Be),this.editor=e,this._foldingLimitReporter=new tN(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 _C(e),this.foldingDecorationProvider.showFoldingControls=a.get(111),this.foldingDecorationProvider.showFoldingHighlights=a.get(45),this.foldingEnabled=vs.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 BV(e,this.foldingDecorationProvider),this.localToDispose.add(this.foldingModel),this.hiddenRangeModel=new qV(this.foldingModel),this.localToDispose.add(this.hiddenRangeModel),this.localToDispose.add(this.hiddenRangeModel.onDidChange(t=>this.onHiddenRangesChanges(t))),this.updateScheduler=new mc(this.updateDebounceInfo.get(e)),this.cursorChangedScheduler=new ls(()=>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 D1(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 E1(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 ho,i=this.getRangeProvider(e.textModel),n=this.foldingRegionPromise=fs(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=qu.capture(this.editor),this._currentModelHasFoldedImports=h)}const a=this.editor.getSelections();e.update(s,r4(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=>(dn(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,dn)}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);yc=Fc=o4([Ug(1,Fi),Ug(2,gs),Ug(3,zs),Ug(4,qo),Ug(5,Lt)],yc);class tN{constructor(e){this.editor=e,this._onDidChange=new ui,this._computed=0,this._limited=!1}get limit(){return this.editor.getOptions().get(47)}update(e,t){(e!==this._computed||t!==this._limited)&&(this._computed=e,this._limited=t,this._onDidChange.fire())}}class Ls extends we{runEditorCommand(e,t,i){const n=e.get(gs),s=yc.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 r4(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 iN(o){if(!Xg(o)){if(!LE(o))return!1;const e=o;if(!Xg(e.levels)&&!UL(e.levels)||!Xg(e.direction)&&!YD(e.direction)||!Xg(e.selectionLines)&&(!Array.isArray(e.selectionLines)||!e.selectionLines.every(UL)))return!1}return!0}class a4 extends Ls{constructor(){super({id:"editor.unfold",label:w("unfoldAction.label","Unfold"),alias:"Unfold",precondition:vs,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:iN,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"?QM(t,!1,s,r):Eg(t,!1,s,r)}}class l4 extends Ls{constructor(){super({id:"editor.unfoldRecursively",label:w("unFoldRecursivelyAction.label","Unfold Recursively"),alias:"Unfold Recursively",precondition:vs,kbOpts:{kbExpr:M.editorTextFocus,primary:is(2089,2142),weight:100}})}invoke(e,t,i,n){Eg(t,!1,Number.MAX_VALUE,this.getSelectedLines(i))}}class c4 extends Ls{constructor(){super({id:"editor.fold",label:w("foldAction.label","Fold"),alias:"Fold",precondition:vs,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:iN,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"?zV(t,!0,s):a==="up"?QM(t,!0,r||1,s):Eg(t,!0,r||1,s)}}class d4 extends Ls{constructor(){super({id:"editor.toggleFold",label:w("toggleFoldAction.label","Toggle Fold"),alias:"Toggle Fold",precondition:vs,kbOpts:{kbExpr:M.editorTextFocus,primary:is(2089,2090),weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);L1(t,1,n)}}class h4 extends Ls{constructor(){super({id:"editor.foldRecursively",label:w("foldRecursivelyAction.label","Fold Recursively"),alias:"Fold Recursively",precondition:vs,kbOpts:{kbExpr:M.editorTextFocus,primary:is(2089,2140),weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);Eg(t,!0,Number.MAX_VALUE,n)}}class u4 extends Ls{constructor(){super({id:"editor.toggleFoldRecursively",label:w("toggleFoldRecursivelyAction.label","Toggle Fold Recursively"),alias:"Toggle Fold Recursively",precondition:vs,kbOpts:{kbExpr:M.editorTextFocus,primary:is(2089,3114),weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);L1(t,Number.MAX_VALUE,n)}}class g4 extends Ls{constructor(){super({id:"editor.foldAllBlockComments",label:w("foldAllBlockComments.label","Fold All Block Comments"),alias:"Fold All Block Comments",precondition:vs,kbOpts:{kbExpr:M.editorTextFocus,primary:is(2089,2138),weight:100}})}invoke(e,t,i,n,s){if(t.regions.hasTypes())I1(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));k1(t,c,!0)}}}}class f4 extends Ls{constructor(){super({id:"editor.foldAllMarkerRegions",label:w("foldAllMarkerRegions.label","Fold All Regions"),alias:"Fold All Regions",precondition:vs,kbOpts:{kbExpr:M.editorTextFocus,primary:is(2089,2077),weight:100}})}invoke(e,t,i,n,s){if(t.regions.hasTypes())I1(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);k1(t,c,!0)}}}}class p4 extends Ls{constructor(){super({id:"editor.unfoldAllMarkerRegions",label:w("unfoldAllMarkerRegions.label","Unfold All Regions"),alias:"Unfold All Regions",precondition:vs,kbOpts:{kbExpr:M.editorTextFocus,primary:is(2089,2078),weight:100}})}invoke(e,t,i,n,s){if(t.regions.hasTypes())I1(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);k1(t,c,!1)}}}}class m4 extends Ls{constructor(){super({id:"editor.foldAllExcept",label:w("foldAllExcept.label","Fold All Except Selected"),alias:"Fold All Except Selected",precondition:vs,kbOpts:{kbExpr:M.editorTextFocus,primary:is(2089,2136),weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);eN(t,!0,n)}}class _4 extends Ls{constructor(){super({id:"editor.unfoldAllExcept",label:w("unfoldAllExcept.label","Unfold All Except Selected"),alias:"Unfold All Except Selected",precondition:vs,kbOpts:{kbExpr:M.editorTextFocus,primary:is(2089,2134),weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);eN(t,!1,n)}}class v4 extends Ls{constructor(){super({id:"editor.foldAll",label:w("foldAllAction.label","Fold All"),alias:"Fold All",precondition:vs,kbOpts:{kbExpr:M.editorTextFocus,primary:is(2089,2069),weight:100}})}invoke(e,t,i){Eg(t,!0)}}class b4 extends Ls{constructor(){super({id:"editor.unfoldAll",label:w("unfoldAllAction.label","Unfold All"),alias:"Unfold All",precondition:vs,kbOpts:{kbExpr:M.editorTextFocus,primary:is(2089,2088),weight:100}})}invoke(e,t,i){Eg(t,!1)}}const pu=class pu extends Ls{getFoldingLevel(){return parseInt(this.id.substr(pu.ID_PREFIX.length))}invoke(e,t,i){VV(t,this.getFoldingLevel(),!0,this.getSelectedLines(i))}};pu.ID_PREFIX="editor.foldLevel",pu.ID=e=>pu.ID_PREFIX+e;let tv=pu;class w4 extends Ls{constructor(){super({id:"editor.gotoParentFold",label:w("gotoParentFold.label","Go to Parent Fold"),alias:"Go to Parent Fold",precondition:vs,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.gotoPreviousFold",label:w("gotoPreviousFold.label","Go to Previous Folding Range"),alias:"Go to Previous Folding Range",precondition:vs,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.gotoNextFold",label:w("gotoNextFold.label","Go to Next Folding Range"),alias:"Go to Next Folding Range",precondition:vs,kbOpts:{kbExpr:M.editorTextFocus,weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);if(n.length>0){const s=$V(n[0],t);s!==null&&i.setSelection({startLineNumber:s,startColumn:1,endLineNumber:s,endColumn:1})}}}class C4 extends Ls{constructor(){super({id:"editor.createFoldingRangeFromSelection",label:w("createManualFoldRange.label","Create Folding Range from Selection"),alias:"Create Folding Range from Selection",precondition:vs,kbOpts:{kbExpr:M.editorTextFocus,primary:is(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=xo.sanitizeAndMerge(t.regions,n,(r=i.getModel())==null?void 0:r.getLineCount());t.updatePost(xo.fromFoldRanges(a))}}}}class x4 extends Ls{constructor(){super({id:"editor.removeManualFoldingRanges",label:w("removeManualFoldingRanges.label","Remove Manual Folding Ranges"),alias:"Remove Manual Folding Ranges",precondition:vs,kbOpts:{kbExpr:M.editorTextFocus,primary:is(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(yc.ID,yc,0);ne(a4);ne(l4);ne(c4);ne(h4);ne(u4);ne(v4);ne(b4);ne(g4);ne(f4);ne(p4);ne(m4);ne(_4);ne(d4);ne(w4);ne(y4);ne(S4);ne(C4);ne(x4);for(let o=1;o<=7;o++)kO(new tv({id:tv.ID(o),label:w("foldLevelAction.label","Fold Level {0}",o),alias:`Fold Level ${o}`,precondition:vs,kbOpts:{kbExpr:M.editorTextFocus,primary:is(2089,2048|21+o),weight:100}}));mn.registerCommand("_executeFoldingRangeProvider",async function(o,...e){const[t]=e;if(!(t instanceof on))throw Ja();const i=o.get(Lt),n=o.get(Vs).getModel(t);if(!n)throw Ja();const s=o.get(Cn);if(!s.getValue("editor.folding",{resource:t}))return[];const r=o.get(gs),a=s.getValue("editor.foldingStrategy",{resource:t}),c={get limit(){return s.getValue("editor.foldingMaximumRegions",{resource:t})},update:(v,_)=>{}},h=new D1(n,r,c);let g=h;if(a!=="indentation"){const v=yc.getFoldingRangeProviders(i,n);v.length&&(g=new E1(n,v,()=>{},c,h))}const f=await g.compute(gi.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 L4 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 k4 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 I4 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)}}ne(L4);ne(k4);ne(I4);var nN=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(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)}},Ru;let iv=(Ru=class{constructor(e,t,i,n){this._editor=e,this._languageFeaturesService=t,this._workerService=i,this._accessibilitySignalService=n,this._disposables=new Be,this._sessionDisposables=new Be,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 x_;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 ps,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}});IO(this._workerService,this._languageFeaturesService,t,i,e,t.getFormattingOptions(),n.token).then(r=>{n.token.isCancellationRequested||ko(r)&&(this._accessibilitySignalService.playSignal(IE.format,{userGesture:!1}),DO.execute(this._editor,r,!0))}).finally(()=>{s.dispose()})}},Ru.ID="editor.contrib.autoFormat",Ru);iv=nN([Cf(1,Lt),Cf(2,ml),Cf(3,kE)],iv);var Au;let nv=(Au=class{constructor(e,t,i){this.editor=e,this._languageFeaturesService=t,this._instantiationService=i,this._callOnDispose=new Be,this._callOnModel=new Be,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(DE,this.editor,e,2,Ka.None,gi.None,!1).catch(dn))}},Au.ID="editor.contrib.formatOnPaste",Au);nv=nN([Cf(1,Lt),Cf(2,li)],nv);class D4 extends we{constructor(){super({id:"editor.action.formatDocument",label:w("formatDocument.label","Format Document"),alias:"Format Document",precondition:ae.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(li);await e.get(Np).showWhile(i.invokeFunction(EO,t,1,Ka.None,gi.None,!0),250)}}}class E4 extends we{constructor(){super({id:"editor.action.formatSelection",label:w("formatSelection.label","Format Selection"),alias:"Format Selection",precondition:ae.and(M.writable,M.hasDocumentSelectionFormattingProvider),kbOpts:{kbExpr:M.editorTextFocus,primary:is(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(li),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(DE,t,s,1,Ka.None,gi.None,!0),250)}}_i(iv.ID,iv,2);_i(nv.ID,nv,2);ne(D4);ne(E4);mn.registerCommand("editor.action.format",async o=>{const e=o.get(Qn).getFocusedCodeEditor();if(!e||!e.hasModel())return;const t=o.get(us);e.getSelection().isEmpty()?await t.executeCommand("editor.action.formatDocument"):await t.executeCommand("editor.action.formatSelection")});var P4=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},vy=function(o,e){return function(t,i){e(t,i,o)}};class cu{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 vC extends cu{constructor(e,t,i){super(),this.id=e,this.parent=t,this.symbol=i,this.children=new Map}}class sN extends cu{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 cu{static create(e,t,i){const n=new ps(i),s=new za(t.uri),r=e.ordered(t),a=r.map((h,g)=>{const f=cu.findId(`provider_${g}`,s),p=new sN(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=>(Jn(v),p)).then(v=>{cu.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=cu.findId(e,t),n=new vC(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 vC?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)=>xt.compare(B.getStartPosition(i.range),B.getStartPosition(n.range))||xt.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 bC=class{constructor(e,t,i){this._languageFeaturesService=e,this._disposables=new Be,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 ps;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()}}};bC=P4([vy(0,Lt),vy(1,qo),vy(2,Vs)],bC);pl(nm,bC,1);mn.registerCommand("_executeDocumentSymbolProvider",async function(o,...e){const[t]=e;Wi(on.isUri(t));const i=o.get(nm),s=await o.get(Ur).createModelReference(t);try{return(await i.getOrCreate(s.object.textEditorModel,gi.None)).getTopLevelSymbols()}finally{s.dispose()}});const sa=class sa extends je{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(Fn(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(Fn(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=qy(g);v===-1&&(v=g.length-1),s=v>0;const _=n.textModel.getOptions().tabSize;r=PO.visibleColumnFromColumn(g,v+1,_)<_}}this.inlineCompletionSuggestsIndentation.set(s),this.inlineCompletionSuggestsIndentationLessThanTabSize.set(r)}))}};sa.inlineSuggestionVisible=new Pi("inlineSuggestionVisible",!1,w("inlineSuggestionVisible","Whether an inline suggestion is visible")),sa.inlineSuggestionHasIndentation=new Pi("inlineSuggestionHasIndentation",!1,w("inlineSuggestionHasIndentation","Whether the inline suggestion starts with whitespace")),sa.inlineSuggestionHasIndentationLessThanTabSize=new Pi("inlineSuggestionHasIndentationLessThanTabSize",!0,w("inlineSuggestionHasIndentationLessThanTabSize","Whether the inline suggestion starts with whitespace that is less than what would be inserted by tab")),sa.suppressSuggestions=new Pi("inlineSuggestionSuppressSuggestions",void 0,w("suppressSuggestions","Whether suggestions should be suppressed for the current suggestion"));let co=sa;function T4(o){const e=new Be,t=e.add(EE());return e.add(Fn(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 PE([...this.parts.map(s=>new rl(B.fromPositions(new xt(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 sv{constructor(e,t,i){this.column=e,this.text=t,this.preview=i,this.lines=Gb(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 wC{constructor(e,t,i,n=0){this.lineNumber=e,this.columnRange=t,this.text=i,this.additionalReservedLineCount=n,this.parts=[new sv(this.columnRange.endColumnExclusive,this.text,!1)],this.newLines=Gb(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 gI(o,e){return Ca(o,e,oN)}function oN(o,e){return o===e?!0:!o||!e?!1:o instanceof op&&e instanceof op||o instanceof wC&&e instanceof wC?o.equals(e):!1}const M4=[];function N4(){return M4}class rN{constructor(e,t){if(this.startColumn=e,this.endColumnExclusive=t,e>t)throw new Xu(`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 aN(o,e){const t=new Be,i=o.createDecorationsCollection();return t.add(TO({debugName:()=>`Apply decorations from ${e.debugName}`},n=>{const s=e.read(n);i.set(s)})),t.add({dispose:()=>{i.clear()}}),t}function R4(o,e){return new xt(o.lineNumber+e.lineNumber-1,e.lineNumber===1?o.column+e.column-1:e.column)}function fI(o,e){return new xt(o.lineNumber-e.lineNumber+1,o.lineNumber-e.lineNumber===0?o.column-e.column+1:o.column)}var A4=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},O4=function(o,e){return function(t,i){e(t,i,o)}};const pI="ghost-text";let yC=class extends je{constructor(e,t,i){super(),this.editor=e,this.model=t,this.languageService=i,this.isDisposed=Io(this,!1),this.currentTextModel=so(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 wC?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,pI),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 rN(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 xt(s.lineNumber,a.column)),options:{description:pI,after:{content:a.text,inlineClassName:a.preview?"ghost-text-decoration-preview":"ghost-text-decoration",cursorStops:nu.Left},showIfCollapsed:!0}});return r}),this.additionalLinesWidget=this._register(new F4(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(yn(()=>{this.isDisposed.set(!0,void 0)})),this._register(aN(this.editor,this.decorations))}ownsViewZone(e){return this.additionalLinesWidget.viewZoneId===e}};yC=A4([O4(2,jr)],yC);class F4 extends je{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",as.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(Fn(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");H4(c,s,t,this.editor.getOptions(),this.languageIdCodec),this._viewZoneId=r.addZone({afterLineNumber:e,heightInLines:a,domNode:c,afterColumnAffinity:1})}})}}function H4(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 ME(1e4);p.appendString('<div class="suggest-preview-text">');for(let y=0,S=t.length;y<S;y++){const D=t[y],E=D.content;p.appendString('<div class="view-line'),p.appendString('" style="top:'),p.appendString(String(y*f)),p.appendString('px;width:1000000px;">');const N=OE(E),z=MO(E),O=NO.createEmpty(E,n);NE(new RE(g.isMonospace&&!s,g.canUseHalfwidthRightwardsArrow,E,!1,N,z,0,O,D.decorations,e,0,g.spaceWidth,g.middotWidth,g.wsmiddotWidth,r,a,c,h!==RO.OFF,null),p),p.appendString("</div>")}p.appendString("</div>"),AE(o,g);const v=p.build(),_=mI?mI.createHTML(v):v;o.innerHTML=_}const mI=TE("editorGhostText",{createHTML:o=>o});function W4(o,e){const t=new HO,i=new OO(t,h=>e.getLanguageConfiguration(h)),n=new AO(new B4([o]),i),s=FO(n,[],void 0,!0);let r="";const a=o.getLineContent();function c(h,g){if(h.kind===2)if(c(h.openingBracket,g),g=Wg(g,h.openingBracket.length),h.child&&(c(h.child,g),g=Wg(g,h.child.length)),h.closingBracket)c(h.closingBracket,g),g=Wg(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($L(g),$L(Wg(g,h.length)));else if(h.kind===4)for(const f of h.children)c(f,g),g=Wg(g,f.length)}}return c(s,WO),r}class B4{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 lN(o,e,t,i,n=gi.None,s){const r=e instanceof xt?j4(e,t):e,a=o.all(t),c=new BO;for(const D of a)D.groupId&&c.add(D.groupId,D);function h(D){if(!D.yieldsToGroupIds)return[];const E=[];for(const N of D.yieldsToGroupIds||[]){const z=c.get(N);for(const O of z)E.push(O)}return E}const g=new Map,f=new Set;function p(D,E){if(E=[...E,D],f.has(D))return E;f.add(D);try{const N=h(D);for(const z of N){const O=p(z,E);if(O)return O}}finally{f.delete(D)}}function v(D){const E=g.get(D);if(E)return E;const N=p(D,[]);N&&Jn(new Error(`Inline completions: cyclic yield-to dependency detected. Path: ${N.map(O=>O.toString?O.toString():""+O).join(" -> ")}`));const z=new Fb;return g.set(D,z.p),(async()=>{var O;if(!N){const J=h(D);for(const X of J){const fe=await v(X);if(fe&&fe.items.length>0)return}}try{return e instanceof xt?await D.provideInlineCompletions(t,e,i,n):await((O=D.provideInlineEdits)==null?void 0:O.call(D,t,e,i,n))}catch(J){Jn(J);return}})().then(O=>z.complete(O),O=>z.error(O)),z.p}const _=await Promise.all(a.map(async D=>({provider:D,completions:await v(D)}))),y=new Map,S=[];for(const D of _){const E=D.completions;if(!E)continue;const N=new V4(E,D.provider);S.push(N);for(const z of E.items){const O=ov.from(z,N,r,t,s);y.set(O.hash(),O)}}return new z4(Array.from(y.values()),new Set(y.keys()),S)}class z4{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 V4{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 ov{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=_I(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=_I(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 oo?(r=g.children[0].value,a=void 0):(r=g.toString(),a={snippet:e.insertText.snippet,range:c})}else zO(e.insertText);return new ov(r,e.command,c,r,a,e.additionalTextEdits||N4(),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 ov(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 j4(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 _I(o,e,t,i){const s=t.getLineContent(e.lineNumber).substring(0,e.column-1)+o,r=t.tokenization.tokenizeLineWithEdit(e,s.length-(e.column-1),o),a=r==null?void 0:r.sliceAndInflate(e.column-1,s.length,0);return a?W4(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=L_.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 cN(o,e){return o.text.startsWith(e.text)&&U4(o.range,e.range)}function vI(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()],E=S.column+y.length<=D.column?S.delta(0,y.length):D,N=B.fromPositions(E,D),z=s.text.startsWith(y)?s.text.substring(y.length):s.text.substring(_);s=new rl(N,z)}const h=e.getValueInRange(s.range),g=$4(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)),E=s.text.substring(_.modifiedStart,D),N=s.text.substring(D,Math.max(_.modifiedStart,S));E.length>0&&p.push(new sv(y,E,!1)),N.length>0&&p.push(new sv(y,N,!0))}return new op(f,p)}function U4(o,e){return e.getStartPosition().equals(o.getStartPosition())&&e.getEndPosition().isBeforeOrEqual(o.getEndPosition())}let ea;function $4(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=wI(o,e,!0);if(t){const i=bI(t);if(i>0){const n=wI(o,e,!1);n&&bI(n)<i&&(t=n)}}return ea={originalValue:o,newValue:e,changes:t},t}}function bI(o){let e=0;for(const t of o)e+=t.originalLength;return e}function wI(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 VO({getElements:()=>a},{getElements:()=>c}).ComputeDiff(!1).changes}var q4=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(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 SC=class extends je{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 Eo),this.inlineCompletions=Zy("inlineCompletions",void 0),this.suggestWidgetInlineCompletions=Zy("suggestWidgetInlineCompletions",void 0),this._register(this.textModel.onDidChangeContent(()=>{this._updateOperation.clear()}))}fetch(e,t,i){var g,f;const n=new G4(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 ps,c=(async()=>{if((r||t.triggerKind===Qa.Automatic)&&await K4(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 lN(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 X4(_,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 Z4(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()}};SC=q4([yI(3,Lt),yI(4,gs)],SC);function K4(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 G4{constructor(e,t,i){this.position=e,this.context=t,this.versionId=i}satisfies(e){return this.position.equals(e.position)&&jO(this.context.selectedSuggestionInfo,e.context.selectedSuggestionInfo,$O())&&(e.context.triggerKind===Qa.Automatic||this.context.triggerKind===Qa.Explicit)&&this.versionId===e.versionId}}class Z4{constructor(e,t,i){this.request=e,this.cancellationTokenSource=t,this.promise=i}dispose(){this.cancellationTokenSource.cancel()}}class X4{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 SI(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 SI(e,n,this._textModel,this._versionId)),this._prependedInlineCompletionItems.push(e)}}class SI{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)??by)}toSingleTextEdit(e){return new rl(this._updatedRange.read(e)??by,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)&&!!UO(p,g)}canBeReused(e,t){const i=this._updatedRange.read(void 0);return!!i&&i.containsPosition(t)&&this.isVisible(e,t,void 0)&&L_.ofRange(i).isGreaterThanOrEqualTo(L_.ofRange(this.inlineCompletion.range))}_toFilterTextReplacement(e){return new rl(this._updatedRange.read(e)??by,this.inlineCompletion.filterText)}}const by=new B(1,1,1,1),Gt={Visible:C1,HasFocusedSuggestion:new Pi("suggestWidgetHasFocusedSuggestion",!1,w("suggestWidgetHasSelection","Whether any suggestion is focused")),DetailsVisible:new Pi("suggestWidgetDetailsVisible",!1,w("suggestWidgetDetailsVisible","Whether suggestion details are visible")),MultipleSuggestions:new Pi("suggestWidgetMultipleSuggestions",!1,w("suggestWidgetMultipleSuggestions","Whether there are multiple suggestions to pick from")),MakesTextEdit:new Pi("suggestionMakesTextEdit",!0,w("suggestionMakesTextEdit","Whether inserting the current suggestion yields in a change or has everything already been typed")),AcceptSuggestionsOnEnter:new Pi("acceptSuggestionOnEnter",!0,w("acceptSuggestionOnEnter","Whether suggestions are inserted when pressing Enter")),HasInsertAndReplaceRange:new Pi("suggestionHasInsertAndReplaceRange",!1,w("suggestionHasInsertAndReplaceRange","Whether the current suggestion has insert and replace behaviour")),InsertMode:new Pi("suggestionInsertMode",void 0,{type:"string",description:w("suggestionInsertMode","Whether the default behaviour is to insert or replace")}),CanResolve:new Pi("suggestionCanResolve",!1,w("suggestionCanResolve","Whether the current suggestion supports to resolve further details"))},Jl=new rt("suggestWidgetStatusBar");class Y4{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 xt(t.range.startLineNumber,t.range.startColumn),this.editInsertEnd=new xt(t.range.endLineNumber,t.range.endColumn),this.editReplaceEnd=new xt(t.range.endLineNumber,t.range.endColumn),this.isInvalid=this.isInvalid||B.spansMultipleLines(t.range)||t.range.startLineNumber!==e.lineNumber):(this.editStart=new xt(t.range.insert.startLineNumber,t.range.insert.startColumn),this.editInsertEnd=new xt(t.range.insert.endLineNumber,t.range.insert.endColumn),this.editReplaceEnd=new xt(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 ho(!0);this._resolveCache=Promise.resolve(this.provider.resolveCompletionItem(this.completion,e)).then(n=>{Object.assign(this.completion,n),this._resolveDuration=i.elapsed()},n=>{xc(n)&&(this._resolveCache=void 0,this._resolveDuration=void 0)}).finally(()=>{t.dispose()})}return this._resolveCache}}const nb=class nb{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}};nb.default=new nb;let rp=nb;class J4{constructor(e,t,i,n){this.items=e,this.needsClipboard=t,this.durations=i,this.disposable=n}}async function P1(o,e,t,i=rp.default,n={triggerKind:0},s=gi.None){const r=new ho;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 Be,p=[];let v=!1;const _=(S,D,E)=>{var z;let N=!1;if(!D)return N;for(const O of D.suggestions)if(!i.kindFilter.has(O.kind)){if(!i.showDeprecated&&((z=O==null?void 0:O.tags)!=null&&z.includes(1)))continue;O.range||(O.range=h),O.sortText||(O.sortText=typeof O.label=="string"?O.label:O.label.label),!v&&O.insertTextRules&&O.insertTextRules&4&&(v=sh.guessNeedsClipboard(O.insertText)),g.push(new Y4(t,O,D,S)),N=!0}return FE(D)&&f.add(D),p.push({providerName:S._debugDisplayName??"unknown_provider",elapsedProvider:D.duration??-1,elapsedOverall:E.elapsed()}),N},y=(async()=>{})();for(const S of o.orderedGroups(e)){let D=!1;if(await Promise.all(S.map(async E=>{if(i.providerItemsToReuse.has(E)){const N=i.providerItemsToReuse.get(E);N.forEach(z=>g.push(z)),D=D||N.length>0;return}if(!(i.providerFilter.size>0&&!i.providerFilter.has(E)))try{const N=new ho,z=await E.provideCompletionItems(e,t,n,s);D=_(E,z,N)||D}catch(N){Jn(N)}})),D||s.isCancellationRequested)break}return await y,s.isCancellationRequested?(f.dispose(),Promise.reject(new Hb)):new J4(g.sort(tj(i.snippetSortOrder)),v,{entries:p,elapsed:r.elapsed()},f)}function T1(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 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 T1(o,e)}function ej(o,e){if(o.completion.kind!==e.completion.kind){if(o.completion.kind===27)return 1;if(e.completion.kind===27)return-1}return T1(o,e)}const ww=new Map;ww.set(0,Q4);ww.set(2,ej);ww.set(1,T1);function tj(o){return ww.get(o)}mn.registerCommand("_executeCompletionItemProvider",async(o,...e)=>{const[t,i,n,s]=e;Wi(on.isUri(t)),Wi(xt.isIPosition(i)),Wi(typeof n=="string"||!n),Wi(typeof s=="number"||!s);const{completionProvider:r}=o.get(Lt),a=await o.get(Ur).createModelReference(t);try{const c={incomplete:!1,suggestions:[]},h=[],g=a.object.textEditorModel.validatePosition(i),f=await P1(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(gi.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 ij(o,e){var t;(t=o.getContribution("editor.contrib.suggestController"))==null||t.triggerSuggest(new Set().add(e),void 0,!0)}class du{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 CI(o,e=Ob){return qO(o,e)?o.charAt(0).toUpperCase()+o.slice(1):o}var nj=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},sj=function(o,e){return function(t,i){e(t,i,o)}};class xI{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 LI{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 oo&&(a=Ss(Gb(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 kI{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 KO(this._model.uri.fsPath)==="."?"":this._labelService.getUriLabel(I0(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 II{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=>!GO(n));if(i.length===this._selectionCount)return i[this._selectionIdx]}return t}}}let rv=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}}};rv=nj([sj(2,gs)],rv);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 av=oa;class DI{constructor(e){this._workspaceService=e}resolve(e){if(!this._workspaceService)return;const t=ZO(this._workspaceService.getWorkspace());if(!XO(t)){if(e.name==="WORKSPACE_NAME")return this._resolveWorkspaceName(t);if(e.name==="WORKSPACE_FOLDER")return this._resoveWorkspacePath(t)}}_resolveWorkspaceName(e){if(qL(e))return pf(e.uri.path);let t=pf(e.configPath.path);return t.endsWith(KL)&&(t=t.substr(0,t.length-KL.length-1)),t}_resoveWorkspacePath(e){if(qL(e))return CI(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?CI(i):"/"}}class EI{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 dw()}}var oj=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},rj=function(o,e){return function(t,i){e(t,i,o)}},yr;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=GL(t.placeholders,jo.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(zn.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 Ut(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 jo){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 Dg,!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=GL(this._snippet.placeholders,jo.compareByIndex)})}};Jo._decor={active:Li.register({description:"snippet-placeholder-1",stickiness:0,className:"snippet-placeholder"}),inactive:Li.register({description:"snippet-placeholder-2",stickiness:1,className:"snippet-placeholder"}),activeFinal:Li.register({description:"snippet-placeholder-3",stickiness:1,className:"finish-snippet-placeholder"}),inactiveFinal:Li.register({description:"snippet-placeholder-4",stickiness:1,className:"finish-snippet-placeholder"})};let lv=Jo;const PI={overwriteBefore:0,overwriteAfter:0,adjustWhitespace:!0,clipboardText:void 0,overtypingCapturer:void 0};let cv=yr=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 oo)||h.parent instanceof Dg||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 oo(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=Ut.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(z=>z.get(Vu)),_=e.invokeWithinContext(z=>new kI(z.get(zf),p)),y=()=>a,S=p.getValueInRange(yr.adjustSelection(p,e.getSelection(),i,0)),D=p.getValueInRange(yr.adjustSelection(p,e.getSelection(),0,n)),E=p.getLineFirstNonWhitespaceColumn(e.getSelection().positionLineNumber),N=e.getSelections().map((z,O)=>({selection:z,idx:O})).sort((z,O)=>B.compareRangesUsingStarts(z.selection,O.selection));for(const{selection:z,idx:O}of N){let J=yr.adjustSelection(p,z,i,0),X=yr.adjustSelection(p,z,0,n);S!==p.getValueInRange(J)&&(J=z),D!==p.getValueInRange(X)&&(X=z);const fe=z.setStartPosition(J.startLineNumber,J.startColumn).setEndPosition(X.endLineNumber,X.endColumn),Ee=new sh().parse(t,!0,s),$e=fe.getStartPosition(),me=yr.adjustWhitespace(p,$e,r||O>0&&E!==p.getLineFirstNonWhitespaceColumn(z.positionLineNumber),Ee);Ee.resolveVariables(new xI([_,new II(y,O,N.length,e.getOption(79)==="spread"),new LI(p,z,O,c),new rv(p,z,h),new av,new DI(v),new EI])),g[O]=zn.replace(fe,Ee.toString()),g[O].identifier={major:O,minor:0},g[O]._isTracked=!0,f[O]=new lv(e,Ee,me)}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 xI([e.invokeWithinContext(_=>new kI(_.get(zf),h)),new II(()=>s,0,e.getSelections().length,e.getOption(79)==="spread"),new LI(h,e.getSelection(),0,r),new rv(h,e.getSelection(),a),new av,new DI(e.invokeWithinContext(_=>_.get(Vu))),new EI]);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 O=t[_-1].range,J=B.fromPositions(O.getEndPosition(),y.getStartPosition()),X=new oo(h.getValueInRange(J));f.appendChild(X),v+=X.value.length}const D=g.parseFragment(S,f);yr.adjustWhitespace(h,y.getStartPosition(),!0,f,new Set(D)),f.resolveVariables(p);const E=f.toString(),N=E.slice(v);v=E.length;const z=zn.replace(y,N);z.identifier={major:_,minor:0},z._isTracked=!0,c.push(z)}return g.ensureFinalTabstop(f,i,!0),{edits:c,snippets:[new lv(e,f,"")]}}constructor(e,t,i=PI,n){this._editor=e,this._template=t,this._options=i,this._languageConfigurationService=n,this._templateMerges=[],this._snippets=[]}dispose(){As(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"?yr.createEditsAndSnippetsFromSelections(this._editor,this._template,this._options.overwriteBefore,this._options.overwriteAfter,!1,this._options.adjustWhitespace,this._options.clipboardText,this._options.overtypingCapturer,this._languageConfigurationService):yr.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=>Ut.fromPositions(s.range.getEndPosition()))}),this._editor.revealRange(this._editor.getSelections()[0])}merge(e,t=PI){if(!this._editor.hasModel())return;this._templateMerges.push([this._snippets[0]._nestingLevel,this._snippets[0]._placeholderGroupsIdx,e]);const{edits:i,snippets:n}=yr.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=>Ut.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}};cv=yr=oj([rj(3,gs)],cv);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},Am=function(o,e){return function(t,i){e(t,i,o)}},Qh;const TI={overwriteBefore:0,overwriteAfter:0,undoStopBefore:!0,undoStopAfter:!0,adjustWhitespace:!0,clipboardText:void 0,overtypingCapturer:void 0};var fa;let Bs=(fa=class{static get(e){return e.getContribution(Qh.ID)}constructor(e,t,i,n,s){this._editor=e,this._logService=t,this._languageFeaturesService=i,this._languageConfigurationService=s,this._snippetListener=new Be,this._modelVersionId=-1,this._inSnippet=Qh.InSnippetMode.bindTo(n),this._hasNextTabstop=Qh.HasNextTabstop.bindTo(n),this._hasPrevTabstop=Qh.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"?TI:{...TI,...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?(Wi(typeof e=="string"),this._session.merge(e,t)):(this._modelVersionId=this._editor.getModel().getAlternativeVersionId(),this._session=new cv(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()||!xt.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(()=>{ij(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()}},Qh=fa,fa.ID="snippetController2",fa.InSnippetMode=new Pi("inSnippetMode",!1,w("inSnippetMode","Whether the editor in current in snippet mode")),fa.HasNextTabstop=new Pi("hasNextTabstop",!1,w("hasNextTabstop","Whether there is a next tab stop when in snippet mode")),fa.HasPrevTabstop=new Pi("hasPrevTabstop",!1,w("hasPrevTabstop","Whether there is a previous tab stop when in snippet mode")),fa);Bs=Qh=aj([Am(1,vh),Am(2,Lt),Am(3,Fi),Am(4,gs)],Bs);_i(Bs.ID,Bs,4);const yw=Js.bindToContribution(Bs.get);Et(new yw({id:"jumpToNextSnippetPlaceholder",precondition:ae.and(Bs.InSnippetMode,Bs.HasNextTabstop),handler:o=>o.next(),kbOpts:{weight:130,kbExpr:M.textInputFocus,primary:2}}));Et(new yw({id:"jumpToPrevSnippetPlaceholder",precondition:ae.and(Bs.InSnippetMode,Bs.HasPrevTabstop),handler:o=>o.prev(),kbOpts:{weight:130,kbExpr:M.textInputFocus,primary:1026}}));Et(new yw({id:"leaveSnippet",precondition:Bs.InSnippetMode,handler:o=>o.cancel(!0),kbOpts:{weight:130,kbExpr:M.textInputFocus,primary:9,secondary:[1033]}}));Et(new yw({id:"acceptSnippet",precondition:Bs.InSnippetMode,handler:o=>o.finish()}));var lj=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},wy=function(o,e){return function(t,i){e(t,i,o)}};let CC=class extends je{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(SC,this.textModel,this._textModelVersionId,this._debounceValue)),this._isActive=Io(this,!1),this._forceUpdateExplicitlySignal=M0(this),this._selectedInlineCompletionId=Io(this,void 0),this._primaryPosition=Xi(this,_=>this._positions.read(_)[0]??new xt(1,1)),this._isAcceptingPartially=!1,this._preserveCurrentCompletionReasons=new Set([Ba.Redo,Ba.Undo,Ba.AcceptWord]),this._fetchInlineCompletionsPromise=HE({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(),E=this.selectedSuggestItem.read(_);if(D&&!E){const X=this._source.inlineCompletions.get();_h(fe=>{(!X||D.request.versionId>X.request.versionId)&&this._source.inlineCompletions.set(D.clone(),fe),this._source.clearSuggestWidgetInlineCompletions(fe)})}const N=this._primaryPosition.read(_),z={triggerKind:y.inlineCompletionTriggerKind,selectedSuggestionInfo:E==null?void 0:E.toSelectedSuggestionInfo()},O=this.selectedInlineCompletion.get(),J=y.preserveCurrentCompletion||O!=null&&O.forwardStable?O:void 0;return this._source.fetch(N,z,J)}),this._filteredInlineCompletionItems=qa({owner:this,equalsFn:Xy()},_=>{const y=this._source.inlineCompletions.read(_);if(!y)return[];const S=this._primaryPosition.read(_);return y.inlineCompletions.filter(E=>E.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(E=>E.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:Xy()},_=>{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:gI(_.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),E=this._computeAugmentation(D,_);if(!this._suggestPreviewEnabled.read(_)&&!E)return;const z=(E==null?void 0:E.edit)??D,O=E?E.edit.text.length-D.text.length:0,J=this._suggestPreviewMode.read(_),X=this._positions.read(_),fe=[z,...yy(this.textModel,X,z)],Ee=fe.map((me,at)=>vI(me,y,J,X[at],O)).filter(Xm),$e=Ee[0]??new op(z.range.endLineNumber,[]);return{edits:fe,primaryGhostText:$e,ghostTexts:Ee,inlineCompletion:E==null?void 0:E.completion,suggestItem:S}}else{if(!this._isActive.read(_))return;const D=this.selectedInlineCompletion.read(_);if(!D)return;const E=D.toSingleTextEdit(_),N=this._inlineSuggestMode.read(_),z=this._positions.read(_),O=[E,...yy(this.textModel,z,E)],J=O.map((X,fe)=>vI(X,y,N,z[fe],0)).filter(Xm);return J[0]?{edits:O,primaryGhostText:J[0],ghostTexts:J,inlineCompletion:D,suggestItem:void 0}:void 0}}),this.ghostTexts=qa({owner:this,equalsFn:gI},_=>{const y=this.state.read(_);if(y)return y.ghostTexts}),this.primaryGhostText=qa({owner:this,equalsFn:oN},_=>{const y=this.state.read(_);if(y)return y==null?void 0:y.primaryGhostText}),this._register(WE(this._fetchInlineCompletionsPromise));let v;this._register(Fn(_=>{var D,E;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,z=N.source;(E=(D=z.provider).handleItemDidShow)==null||E.call(D,z.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){k_(e,t=>{this._isActive.set(!0,t),this._forceUpdateExplicitlySignal.trigger(t)}),await this._fetchInlineCompletionsPromise.get()}stop(e){k_(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 YO(s,a=>{let c=a.toSingleTextEdit(t);return c=ld(c,i,B.fromPositions(c.range.getStartPosition(),e.range.getEndPosition())),cN(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 Xu;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",[zn.replace(i.range,""),...i.additionalTextEdits]),e.setPosition(i.snippetInfo.range.getStartPosition(),"inlineCompletionAccept"),(n=Bs.get(e))==null||n.insert(i.snippetInfo.snippet,{undoStopBefore:!1});else{const s=t.edits,r=MI(s).map(a=>Ut.fromPositions(a));e.executeEdits("inlineSuggestion.accept",[...s.map(a=>zn.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,Jn),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 Xu;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 xt(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,...yy(this.textModel,p,S)],E=MI(D).map(N=>Ut.fromPositions(N));e.executeEdits("inlineSuggestion.accept",D.map(N=>zn.replace(N.range,N.text))),e.setSelections(E,"inlineCompletionPartialAccept"),e.revealPositionInCenterIfOutsideViewport(e.getPosition(),1)}finally{this._isAcceptingPartially=!1}if(r.source.provider.handlePartialAccept){const _=B.fromPositions(r.range.getStartPosition(),L_.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})}};CC=lj([wy(9,li),wy(10,us),wy(11,gs)],CC);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 yy(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=fI(i,s);if(c.lineNumber<1)return dn(new Xu(`positionWithinTextEdit line number should be bigger than 0.
36
+ Invalid subtraction between ${i.toString()} and ${s.toString()}`)),[];const h=cj(t.text,c);return n.map(g=>{const f=R4(fI(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 cj(o,e){let t="";const i=QO(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 MI(o){const e=JO.createSortPermutation(o,Bp(s=>s.range,B.compareRangesUsingStarts)),i=new PE(e.apply(o)).getNewRanges();return e.inverse().apply(i).map(s=>s.getEndPosition())}var dj=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},NI=function(o,e){return function(t,i){e(t,i,o)}},nf;class M1{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 RI extends M1{constructor(){super("first")}memorize(e,t,i){}toJSON(){}fromJSON(){}}class hj extends M1{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:N0.fromString(n.type),this._cache.set(i,n);this._seq=this._cache.size}}class uj extends M1{constructor(){super("recentlyUsedByPrefix"),this._trie=e2.forStrings(),this._seq=0}memorize(e,t,i){const{word:n}=e.getWordUntilPosition(t),s=`${e.getLanguageId()}/${n}`;this._trie.set(s,{type:i.completion.kind,insertText:i.completion.insertText,touch:this._seq++})}select(e,t,i){const{word:n}=e.getWordUntilPosition(t);if(!n)return super.select(e,t,i);const s=`${e.getLanguageId()}/${n}`;let r=this._trie.get(s);if(r||(r=this._trie.findSubstr(s)),r)for(let a=0;a<i.length;a++){const{kind: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:N0.fromString(i.type),this._trie.set(t,i)}}}var ac;let xC=(ac=class{constructor(e,t){this._storageService=e,this._configService=t,this._disposables=new Be,this._persistSoon=new ls(()=>this._saveState(),500),this._disposables.add(e.onWillSaveState(i=>{i.reason===C0.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=nf._strategyCtors.get(i)||RI;this._strategy=new s;try{const a=this._configService.getValue("editor.suggest.shareSuggestSelections")?0:1,c=this._storageService.get(`${nf._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(`${nf._storagePrefix}/${this._strategy.name}`,i,t,1)}}},nf=ac,ac._strategyCtors=new Map([["recentlyUsedByPrefix",uj],["recentlyUsed",hj],["first",RI]]),ac._storagePrefix="suggest/memories",ac);xC=nf=dj([NI(0,Lc),NI(1,Cn)],xC);const Sw=fl("ISuggestMemories");pl(Sw,xC,1);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},fj=function(o,e){return function(t,i){e(t,i,o)}},LC,Ed;let dv=(Ed=class{constructor(e,t){this._editor=e,this._enabled=!1,this._ckAtEnd=LC.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)}},LC=Ed,Ed.AtEnd=new Pi("atEndOfWord",!1),Ed);dv=LC=gj([fj(1,Fi)],dv);var pj=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},mj=function(o,e){return function(t,i){e(t,i,o)}},sf,Pd;let gg=(Pd=class{constructor(e,t){this._editor=e,this._index=0,this._ckOtherSuggestions=sf.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(sf._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=sf._moveIndex(e,this._model,this._index),this._acceptNext({index:this._index,item:this._model.items[this._index],model:this._model})}finally{this._ignore=!1}}},sf=Pd,Pd.OtherSuggestions=new Pi("hasOtherSuggestions",!1),Pd);gg=sf=pj([mj(1,Fi)],gg);class _j{constructor(e,t,i,n){this._disposables=new Be,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||!ko(e.item.completion.commitCharacters)){this.reset();return}if(this._active&&this._active.item.item===e.item)return;const t=new x_;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 Fo=class Fo{async provideSelectionRanges(e,t){const i=[];for(const n of t){const s=[];i.push(s);const r=new Map;await new Promise(a=>Fo._bracketsRightYield(a,0,e,n,r)),await new Promise(a=>Fo._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>=Fo._maxRounds){e();break}if(!n){e();break}const c=i.bracketPairs.findNextBracket(n);if(!c){e();break}if(Date.now()-a>Fo._maxDuration){setTimeout(()=>Fo._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 BE,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>=Fo._maxRounds&&s.size===0){e();break}if(!n){e();break}const h=i.bracketPairs.findPrevBracket(n);if(!h){e();break}if(Date.now()-c>Fo._maxDuration){setTimeout(()=>Fo._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}),Fo._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 xt(n,s),t.getEndPosition())}),i.push({range:B.fromPositions(new xt(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 xt(r,a),t.getEndPosition())}),i.push({range:B.fromPositions(new xt(r,1),t.getEndPosition())}))}}};Fo._maxDuration=30,Fo._maxRounds=2;let hv=Fo;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 hv().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(t2(f))return 2<<20;const p=I_(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 uv=ra,AI=class{constructor(e,t){this.leadingLineContent=e,this.characterCountDelta=t}};class Ol{constructor(e,t,i,n,s,r,a=zE.default,c=void 0){this.clipboardText=c,this._snippetCompareFn=Ol._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=Ol._compareCompletionItemsSnippetsUp:r==="bottom"&&(this._snippetCompareFn=Ol._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?VE:i2;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;n2(g.completion.filterText,g.textLabel)===0?g.score=y:(g.score=s2(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?o2(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 Ol._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 Ol._compareCompletionItems(e,t)}}var vj=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Dl=function(o,e){return function(t,i){e(t,i,o)}},kC;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 bj(o,e,t){if(!e.getContextKeyValue(co.inlineSuggestionVisible.key))return!0;const i=e.getContextKeyValue(co.suppressSuggestions.key);return i!==void 0?!i:!o.getOption(62).suppressSuggestions}function wj(o,e,t){if(!e.getContextKeyValue("inlineSuggestionVisible"))return!0;const i=e.getContextKeyValue(co.suppressSuggestions.key);return i!==void 0?!i:!o.getOption(62).suppressSuggestions}let gv=kC=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 Be,this._triggerCharacterListener=new Be,this._triggerQuickSuggest=new Mp,this._triggerState=void 0,this._completionDisposables=new Be,this._onDidCancel=new ui,this._onDidTrigger=new ui,this._onDidSuggest=new ui,this.onDidCancel=this._onDidCancel.event,this.onDidTrigger=this._onDidTrigger.event,this.onDidSuggest=this._onDidSuggest.event,this._telemetryGate=0,this._currentSelection=this._editor.getSelection()||new Ut(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(){As(this._triggerCharacterListener),As([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(!wj(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="";a2(i.charCodeAt(i.length-1))?l2(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;du.isAllOff(this._editor.getOption(90))||this._editor.getOption(119).snippetsPreventQuickSuggestions&&((e=Bs.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(!du.isAllOff(n)){if(!du.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(du.valueFor(n,r)!=="on")return}bj(this._editor,this._contextKeyService,this._configurationService)&&this._languageFeaturesService.completionProvider.has(t)&&this.trigger({auto:!0})}},this._editor.getOption(91)))}_refilterCompletionItems(){Wi(this._editor.hasModel()),Wi(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 ps;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}=kC.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=uv.create(this._editorWorkerService,this._editor),f=P1(this._languageFeaturesService.completionProvider,t,this._editor.getPosition(),h,n,this._requestToken.token);Promise.all([f,g]).then(async([y,S])=>{var O;if((O=this._requestToken)==null||O.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 E=this._editor.getModel(),N=new Nc(E,this._editor.getPosition(),e),z={...zE.default,firstMatchCanBeWeak:!this._editor.getOption(119).matchOnWordStartOnly};if(this._completionModel=new Ol(y.items,this._context.column,{leadingLineContent:N.leadingLineContent,characterCountDelta:N.column-this._context.column},S,this._editor.getOption(119),this._editor.getOption(113),z,D),this._completionDisposables.add(y.disposable),this._onNewContext(N),this._reportDurationsTelemetry(y.durations),!this._envService.isBuilt||this._envService.isExtensionDevelopment)for(const J of y.items)J.isInvalid&&this._logService.warn(`[suggest] did IGNORE invalid completion item from ${J.provider._debugDisplayName}`,J.completion)}).catch(dn)}_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})}}}}};gv=kC=vj([Dl(1,ml),Dl(2,wg),Dl(3,Vr),Dl(4,vh),Dl(5,Fi),Dl(6,Cn),Dl(7,Lt),Dl(8,r2)],gv);const sb=class sb{constructor(e,t){this._disposables=new Be,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)>sb._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()}};sb._maxSelectionLength=51200;let IC=sb;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},Sy=function(o,e){return function(t,i){e(t,i,o)}};let DC=class{constructor(e,t,i,n,s){this._menuId=t,this._menuService=n,this._contextKeyService=s,this._menuDisposables=new Be,this.element=lt(e,pt(".suggest-status-bar"));const r=(a=>a instanceof Zu?i.createInstance(c2,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()}};DC=yj([Sy(2,li),Sy(3,mh),Sy(4,Fi)],DC);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},Cj=function(o,e){return function(t,i){e(t,i,o)}};function N1(o){return!!o&&!!(o.completion.documentation||o.completion.detail&&o.completion.detail!==o.completion.label)}let EC=class{constructor(e,t){this._editor=e,this._onDidClose=new ui,this.onDidClose=this._onDidClose.event,this._onDidChangeContents=new ui,this.onDidChangeContents=this._onDidChangeContents.event,this._disposables=new Be,this._renderDisposeable=new Be,this._borderWidth=1,this._size=new gn(330,0),this.domNode=pt(".suggest-details"),this.domNode.classList.add("no-docs"),this._markdownRenderer=t.createInstance(Cg,{editor:e}),this._body=pt(".body"),this._scrollbar=new jE(this._body,{alwaysConsumeMouseWheel:!0}),lt(this.domNode,this._scrollbar.getDomNode()),this._disposables.add(this._scrollbar),this._header=lt(this._body,pt(".header")),this._close=lt(this._header,pt("span"+qi.asCSSSelector(Zt.close))),this._close.title=w("details.close","Close"),this._type=lt(this._header,pt("p.type")),this._docs=lt(this._body,pt("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 Ns().appendCodeblock("empty",r),i=`Provider: ${e.provider._debugDisplayName}`}if(!t&&!N1(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="",Co(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 gn(e,t);gn.equals(i,this._size)||(this._size=i,d2(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}};EC=Sj([Cj(1,li)],EC);class xj{constructor(e,t){this.widget=e,this._editor=t,this.allowEditorOverflow=!0,this._disposables=new Be,this._added=!1,this._preferAlignAtTop=!0,this._resizable=new u1,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 gn(220,2*s.lineHeight),a=e.top,c=(function(){const O=n.width-(e.left+e.width+s.borderWidth+s.horizontalPadding),J=-s.borderWidth+e.left+e.width,X=new gn(O,n.height-e.top-s.borderHeight-s.verticalPadding),fe=X.with(void 0,e.top+e.height-s.borderHeight-s.verticalPadding);return{top:a,left:J,fit:O-t.width,maxSizeTop:X,maxSizeBottom:fe,minSize:r.with(Math.min(O,r.width))}})(),h=(function(){const O=e.left-s.borderWidth-s.horizontalPadding,J=Math.max(s.horizontalPadding,e.left-t.width-s.borderWidth),X=new gn(O,n.height-e.top-s.borderHeight-s.verticalPadding),fe=X.with(void 0,e.top+e.height-s.borderHeight-s.verticalPadding);return{top:a,left:J,fit:O-t.width,maxSizeTop:X,maxSizeBottom:fe,minSize:r.with(Math.min(O,r.width))}})(),g=(function(){const O=e.left,J=-s.borderWidth+e.top+e.height,X=new gn(e.width-s.borderHeight,n.height-e.top-e.height-s.verticalPadding);return{top:J,left:O,fit:X.height-t.height,maxSizeBottom:X,maxSizeTop:X,minSize:r.with(X.width)}})(),f=[c,h,g],p=f.find(O=>O.fit>=0)??f.sort((O,J)=>J.fit-O.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:E,left:N}=p;!_&&y>e.height&&(E=v-y);const z=this._editor.getDomNode();if(z){const O=z.getBoundingClientRect();E-=O.top,N-=O.left}this._applyTopLeft({left:N,top:E}),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 Lj=/(?:\/|^)(?:([^\/]+)\/)?([^\/]+)$/;function Om(o,e,t,i,n){if(qi.isThemeIcon(n))return[`codicon-${n.id}`,"predefined-file-icon"];if(on.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===qs.data)r=D_.parseMetaData(t).get(D_.META_DATA_LABEL);else{const a=t.path.match(Lj);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=kj(o,e,t);a&&s.push(`${Fm(a)}-lang-file-icon`)}}return s}function kj(o,e,t){if(!t)return null;let i=null;if(t.scheme===qs.data){const s=D_.parseMetaData(t).get(D_.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 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},Cy=function(o,e){return function(t,i){e(t,i,o)}};function dN(o){return`suggest-aria-id:${o}`}const Dj=Xn("suggest-more-info",Zt.chevronRight,w("suggestMoreInfoIcon","Icon for more information in the suggest widget."));var Tr;const Ej=new(Tr=class{extract(e,t){if(e.textLabel.match(Tr._regexStrict))return t[0]=e.textLabel,!0;if(e.completion.detail&&e.completion.detail.match(Tr._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=Tr._regexRelaxed.exec(i);if(n&&(n.index===0||n.index+n[0].length===i.length))return t[0]=n[0],!0}return!1}},Tr._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*\))/,Tr._regexStrict=new RegExp(`^${Tr._regexRelaxed.source}$`,"i"),Tr);let PC=class{constructor(e,t,i,n){this._editor=e,this._modelService=t,this._languageService=i,this._themeService=n,this._onDidToggleDetails=new ui,this.onDidToggleDetails=this._onDidToggleDetails.event,this.templateId="suggestion"}dispose(){this._onDidToggleDetails.dispose()}renderTemplate(e){const t=new Be,i=e;i.classList.add("show-file-icons");const n=lt(e,pt(".icon")),s=lt(n,pt("span.colorspan")),r=lt(e,pt(".contents")),a=lt(r,pt(".main")),c=lt(a,pt(".icon-label.codicon")),h=lt(a,pt("span.left")),g=lt(a,pt("span.right")),f=new lE(h,{supportHighlights:!0,supportIcons:!0});t.add(f);const p=lt(h,pt("span.signature-label")),v=lt(h,pt("span.qualifier-label")),_=lt(g,pt("span.details-label")),y=lt(g,pt("span.readMore"+qi.asCSSSelector(Dj)));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(),E=D.get(50),N=E.getMassagedFontFamily(),z=E.fontFeatureSettings,O=D.get(120)||E.fontSize,J=D.get(121)||E.lineHeight,X=E.fontWeight,fe=E.letterSpacing,Ee=`${O}px`,$e=`${J}px`,me=`${fe}px`;i.style.fontSize=Ee,i.style.fontWeight=X,i.style.letterSpacing=me,a.style.fontFamily=N,a.style.fontFeatureSettings=z,a.style.lineHeight=$e,n.style.height=$e,n.style.width=$e,y.style.height=$e,y.style.width=$e}}}renderElement(e,t,i){i.configureFont();const{completion:n}=e;i.root.id=dN(t),i.colorspan.style.backgroundColor="";const s={labelEscapeNewLines:!0,matches:$b(e.score)},r=[];if(n.kind===19&&Ej.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,on.from({scheme:"fake",path:e.textLabel}),va.FILE),c=Om(this._modelService,this._languageService,on.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,on.from({scheme:"fake",path:e.textLabel}),va.FOLDER),Om(this._modelService,this._languageService,on.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(N0.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=xy(n.detail||""),i.root.classList.add("string-label")):(i.parametersLabel.textContent=xy(n.label.detail||""),i.detailsLabel.textContent=xy(n.label.description||""),i.root.classList.remove("string-label")),this._editor.getOption(119).showInlineDetails?ar(i.detailsLabel):Co(i.detailsLabel),N1(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"),Co(i.readMore),i.readMore.onmousedown=null,i.readMore.onclick=null)}disposeTemplate(e){e.disposables.dispose()}};PC=Ij([Cy(1,Vs),Cy(2,jr),Cy(3,mr)],PC);function xy(o){return o.replace(/\r\n|\r|\n/g,"")}var Pj=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(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)}},eu;mt("editorSuggestWidget.background",UE,w("editorSuggestWidgetBackground","Background color of the suggest widget."));mt("editorSuggestWidget.border",h2,w("editorSuggestWidgetBorder","Border color of the suggest widget."));const Tj=mt("editorSuggestWidget.foreground",zp,w("editorSuggestWidgetForeground","Foreground color of the suggest widget."));mt("editorSuggestWidget.selectedForeground",$E,w("editorSuggestWidgetSelectedForeground","Foreground color of the selected entry in the suggest widget."));mt("editorSuggestWidget.selectedIconForeground",u2,w("editorSuggestWidgetSelectedIconForeground","Icon foreground color of the selected entry in the suggest widget."));const Mj=mt("editorSuggestWidget.selectedBackground",qE,w("editorSuggestWidgetSelectedBackground","Background color of the selected entry in the suggest widget."));mt("editorSuggestWidget.highlightForeground",KE,w("editorSuggestWidgetHighlightForeground","Color of the match highlights in the suggest widget."));mt("editorSuggestWidget.focusHighlightForeground",g2,w("editorSuggestWidgetFocusHighlightForeground","Color of the match highlights in the suggest widget when an item is focused."));mt("editorSuggestWidgetStatus.foreground",ya(Tj,.5),w("editorSuggestWidgetStatusForeground","Foreground color of the suggest widget status."));class Nj{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(gn.is(t))return gn.lift(t)}catch{}}store(e){this._service.store(this._key,JSON.stringify(e),0,1)}reset(){this._service.remove(this._key,0)}}var lc;let TC=(lc=class{constructor(e,t,i,n,s){this.editor=e,this._storageService=t,this._state=0,this._isAuto=!1,this._pendingLayout=new Eo,this._pendingShowDetails=new Eo,this._ignoreFocusEvents=!1,this._forceRenderingAbove=!1,this._explainMode=!1,this._showTimeout=new Mp,this._disposables=new Be,this._onDidSelect=new ZL,this._onDidFocus=new ZL,this._onDidHide=new ui,this._onDidShow=new ui,this.onDidSelect=this._onDidSelect.event,this.onDidFocus=this._onDidFocus.event,this.onDidHide=this._onDidHide.event,this.onDidShow=this._onDidShow.event,this._onDetailsKeydown=new ui,this.onDetailsKeyDown=this._onDetailsKeydown.event,this.element=new u1,this.element.domNode.classList.add("editor-widget","suggest-widget"),this._contentWidget=new Rj(this,e),this._persistedSize=new Nj(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:E,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-E)<=D)&&(E=((_=a.persistedSize)==null?void 0:_.width)??S.width),this._persistedSize.store(new gn(E,N))}this._contentWidget.unlockPreference(),a=void 0}})),this._messageElement=lt(this.element.domNode,pt(".message")),this._listElement=lt(this.element.domNode,pt(".tree"));const c=this._disposables.add(s.createInstance(EC,this.editor));c.onDidClose(this.toggleDetails,this,this._disposables),this._details=new xj(c,this.editor);const h=()=>this.element.domNode.classList.toggle("no-icons",!this.editor.getOption(119).showIcons);h();const g=s.createInstance(PC,this.editor);this._disposables.add(g),this._disposables.add(g.onDidToggleDetails(()=>this.toggleDetails())),this._list=new w0("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:E}=p.completion.label;D&&E?v=w("label.full","{0} {1}, {2}",v,D,E):D?v=w("label.detail","{0} {1}",v,D):E&&(v=w("label.desc","{0}, {1}",v,E))}if(!p.isResolved||!this._isDetailsVisible())return v;const{documentation:_,detail:y}=p.completion,S=T0("{0}{1}",y||"",_?typeof _=="string"?_:_.value:"");return w("ariaCurrenttSuggestionReadDetails","{0}, docs: {1}",v,S)}}}),this._list.style(GE({listInactiveFocusBackground:Mj,listInactiveFocusOutline:Yd})),this._status=s.createInstance(DC,this.element.domNode,Jl);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=Gt.Visible.bindTo(i),this._ctxSuggestWidgetDetailsVisible=Gt.DetailsVisible.bindTo(i),this._ctxSuggestWidgetMultipleSuggestions=Gt.MultipleSuggestions.bindTo(i),this._ctxSuggestWidgetHasFocusedSuggestion=Gt.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=fs(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:dN(i)}))}).catch(dn)),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:Co(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=eu.LOADING_MESSAGE,Co(this._listElement,this._status.element),ar(this._messageElement),this._details.hide(),this._show(),this._focusedItem=void 0,$u(eu.LOADING_MESSAGE);break;case 2:this.element.domNode.classList.add("message"),this._messageElement.textContent=eu.NO_SUGGESTIONS_MESSAGE,Co(this._listElement,this._status.element),ar(this._messageElement),this._details.hide(),this._show(),this._focusedItem=void 0,$u(eu.NO_SUGGESTIONS_MESSAGE);break;case 3:Co(this._messageElement),ar(this._listElement,this._status.element),this._show();break;case 4:Co(this._messageElement),ar(this._listElement,this._status.element),this._show();break;case 5:Co(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=XL(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")):(N1(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=XL(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 gn(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=Gs(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 E=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>E&&(n=E),n>y||this._forceRenderingAbove&&S>150?(this._contentWidget.setPreference(1),this.element.enableSashes(!0,!0,!1,!1),E=D):(this._contentWidget.setPreference(2),this.element.enableSashes(!1,!0,!0,!1),E=y),this.element.preferredSize=new gn(h,i.defaultSize.height),this.element.maxSize=new gn(c,E),this.element.minSize=new gn(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=f2(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 gn(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}},eu=lc,lc.LOADING_MESSAGE=w("suggestWidget.loading","Loading..."),lc.NO_SUGGESTIONS_MESSAGE=w("suggestWidget.noSuggestions","No suggestions."),lc);TC=eu=Pj([Hm(1,Lc),Hm(2,Fi),Hm(3,mr),Hm(4,li)],TC);class Rj{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 gn(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 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},Vh=function(o,e){return function(t,i){e(t,i,o)}},MC;class Oj{constructor(e,t){if(this._model=e,this._position=t,this._decorationOptions=Li.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(MC.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 Eo,this._toDispose=new Be,this._selectors=new Fj(f=>f.priority),this._onWillInsertSuggestItem=new ui,this.onWillInsertSuggestItem=this._onWillInsertSuggestItem.event,this.editor=e,this.model=s.createInstance(gv,this.editor),this._selectors.register({priority:0,select:(f,p,v)=>this._memoryService.select(f,p,v)});const c=Gt.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 qw(ed(e.getDomNode()),()=>{const f=this._instantiationService.createInstance(TC,this.editor);this._toDispose.add(f),this._toDispose.add(f.onDidSelect(S=>this._insertSuggestion(S,0),this));const p=new _j(this.editor,f,this.model,S=>this._insertSuggestion(S,2));this._toDispose.add(p);const v=Gt.MakesTextEdit.bindTo(this._contextKeyService),_=Gt.HasInsertAndReplaceRange.bindTo(this._contextKeyService),y=Gt.CanResolve.bindTo(this._contextKeyService);return this._toDispose.add(yn(()=>{v.reset(),_.reset(),y.reset()})),this._toDispose.add(f.onDidFocus(({item:S})=>{const D=this.editor.getPosition(),E=S.editStart.column,N=D.column;let z=!0;this.editor.getOption(1)==="smart"&&this.model.state===2&&!S.completion.additionalTextEdits&&!(S.completion.insertTextRules&4)&&N-E===S.completion.insertText.length&&(z=this.editor.getModel().getValueInRange({startLineNumber:D.lineNumber,startColumn:E,endLineNumber:D.lineNumber,endColumn:N})!==S.completion.insertText),v.set(z),_.set(!xt.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 YL(!0,!1,!1,!1,33))||xa&&S.toKeyCodeChord().equals(new YL(!1,!1,!1,!0,33))){S.stopPropagation();return}S.toKeyCodeChord().isModifierKey()||this.editor.focus()})),f})),this._overtypingCapturer=this._toDispose.add(new qw(ed(e.getDomNode()),()=>this._toDispose.add(new IC(this.editor,this.model)))),this._alternatives=this._toDispose.add(new qw(ed(e.getDomNode()),()=>this._toDispose.add(new gg(this.editor,this._contextKeyService)))),this._toDispose.add(s.createInstance(dv,e)),this._toDispose.add(this.model.onDidTrigger(f=>{this.widget.value.showTriggered(f.auto,f.shy?250:50),this._lineSuffix.value=new Oj(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=Gt.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=Bs.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 ps;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 _=qu.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,E=D,N=B.spansMultipleLines(S)?0:D;S=new B(S.startLineNumber,S.startColumn+E,S.endLineNumber,S.endColumn+N)}return zn.replaceMove(S,y.text)})),_.restoreRelativeVerticalPositionOfCursor(this.editor)}else if(!g){const _=new ho;let y;const S=n.onDidChangeContent(z=>{if(z.isFlush){c.cancel(),S.dispose();return}for(const O of z.changes){const J=B.getEndPosition(O.range);(!y||xt.isBefore(J,y))&&(y=J)}}),D=t;t|=2;let E=!1;const N=this.editor.onWillType(()=>{N.dispose(),E=!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(O=>xt.isBefore(y,B.getStartPosition(O.range))))return!1;E&&this.editor.pushUndoStop();const z=qu.capture(this.editor);return this.editor.executeEdits("suggestController.additionalTextEdits.async",r.completion.additionalTextEdits.map(O=>zn.replaceMove(B.lift(O.range),O.text))),z.restoreRelativeVerticalPositionOfCursor(this.editor),(E||!(D&2))&&this.editor.pushUndoStop(),!0}).then(z=>{this._logService.trace("[suggest] async resolving of edits DONE (ms, applied?)",_.elapsed(),z),p=z===!0?1:z===!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===fv.id)this.model.trigger({auto:!0,retrigger:!0});else{const _=new ho;a.push(this._commandService.executeCommand(r.completion.command.id,...r.completion.command.arguments?[...r.completion.command.arguments]:[]).catch(y=>{r.completion.extensionId?Jn(y):dn(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:xE(La(t.uri)).toString(16),languageId:t.getLanguageId(),fileExtension:p2(t.uri),resolveInfo:e.provider.resolveCompletionItem?i?1:0:-1,resolveDuration:e.resolveDuration,commandDuration:n,additionalEditsAsync:s,index:r,firstIndex:f})}getOverwriteInfo(e,t){Wi(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(ko(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};as.once(this.model.onDidTrigger)(s=>{const r=[];as.any(this.model.onDidTrigger,this.model.onDidCancel)(()=>{As(r),i()},void 0,r),this.model.onDidSuggest(({completionModel:a})=>{if(As(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)}},MC=Td,Td.ID="editor.contrib.suggestController",Td);cr=MC=Aj([Vh(1,Sw),Vh(2,us),Vh(3,Fi),Vh(4,li),Vh(5,vh),Vh(6,Vr)],cr);class Fj{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 ob=class ob extends we{constructor(){super({id:ob.id,label:w("suggest.trigger.label","Trigger Suggest"),alias:"Trigger Suggest",precondition:ae.and(M.writable,M.hasCompletionItemProvider,Gt.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)}};ob.id="editor.action.triggerSuggest";let fv=ob;_i(cr.ID,cr,2);ne(fv);const Po=190,js=Js.bindToContribution(cr.get);Et(new js({id:"acceptSelectedSuggestion",precondition:ae.and(Gt.Visible,Gt.HasFocusedSuggestion),handler(o){o.acceptSelectedSuggestion(!0,!1)},kbOpts:[{primary:2,kbExpr:ae.and(Gt.Visible,M.textInputFocus),weight:Po},{primary:3,kbExpr:ae.and(Gt.Visible,M.textInputFocus,Gt.AcceptSuggestionsOnEnter,Gt.MakesTextEdit),weight:Po}],menuOpts:[{menuId:Jl,title:w("accept.insert","Insert"),group:"left",order:1,when:Gt.HasInsertAndReplaceRange.toNegated()},{menuId:Jl,title:w("accept.insert","Insert"),group:"left",order:1,when:ae.and(Gt.HasInsertAndReplaceRange,Gt.InsertMode.isEqualTo("insert"))},{menuId:Jl,title:w("accept.replace","Replace"),group:"left",order:1,when:ae.and(Gt.HasInsertAndReplaceRange,Gt.InsertMode.isEqualTo("replace"))}]}));Et(new js({id:"acceptAlternativeSelectedSuggestion",precondition:ae.and(Gt.Visible,M.textInputFocus,Gt.HasFocusedSuggestion),kbOpts:{weight:Po,kbExpr:M.textInputFocus,primary:1027,secondary:[1026]},handler(o){o.acceptSelectedSuggestion(!1,!0)},menuOpts:[{menuId:Jl,group:"left",order:2,when:ae.and(Gt.HasInsertAndReplaceRange,Gt.InsertMode.isEqualTo("insert")),title:w("accept.replace","Replace")},{menuId:Jl,group:"left",order:2,when:ae.and(Gt.HasInsertAndReplaceRange,Gt.InsertMode.isEqualTo("replace")),title:w("accept.insert","Insert")}]}));mn.registerCommandAlias("acceptSelectedSuggestionOnEnter","acceptSelectedSuggestion");Et(new js({id:"hideSuggestWidget",precondition:Gt.Visible,handler:o=>o.cancelSuggestWidget(),kbOpts:{weight:Po,kbExpr:M.textInputFocus,primary:9,secondary:[1033]}}));Et(new js({id:"selectNextSuggestion",precondition:ae.and(Gt.Visible,ae.or(Gt.MultipleSuggestions,Gt.HasFocusedSuggestion.negate())),handler:o=>o.selectNextSuggestion(),kbOpts:{weight:Po,kbExpr:M.textInputFocus,primary:18,secondary:[2066],mac:{primary:18,secondary:[2066,300]}}}));Et(new js({id:"selectNextPageSuggestion",precondition:ae.and(Gt.Visible,ae.or(Gt.MultipleSuggestions,Gt.HasFocusedSuggestion.negate())),handler:o=>o.selectNextPageSuggestion(),kbOpts:{weight:Po,kbExpr:M.textInputFocus,primary:12,secondary:[2060]}}));Et(new js({id:"selectLastSuggestion",precondition:ae.and(Gt.Visible,ae.or(Gt.MultipleSuggestions,Gt.HasFocusedSuggestion.negate())),handler:o=>o.selectLastSuggestion()}));Et(new js({id:"selectPrevSuggestion",precondition:ae.and(Gt.Visible,ae.or(Gt.MultipleSuggestions,Gt.HasFocusedSuggestion.negate())),handler:o=>o.selectPrevSuggestion(),kbOpts:{weight:Po,kbExpr:M.textInputFocus,primary:16,secondary:[2064],mac:{primary:16,secondary:[2064,302]}}}));Et(new js({id:"selectPrevPageSuggestion",precondition:ae.and(Gt.Visible,ae.or(Gt.MultipleSuggestions,Gt.HasFocusedSuggestion.negate())),handler:o=>o.selectPrevPageSuggestion(),kbOpts:{weight:Po,kbExpr:M.textInputFocus,primary:11,secondary:[2059]}}));Et(new js({id:"selectFirstSuggestion",precondition:ae.and(Gt.Visible,ae.or(Gt.MultipleSuggestions,Gt.HasFocusedSuggestion.negate())),handler:o=>o.selectFirstSuggestion()}));Et(new js({id:"focusSuggestion",precondition:ae.and(Gt.Visible,Gt.HasFocusedSuggestion.negate()),handler:o=>o.focusSuggestion(),kbOpts:{weight:Po,kbExpr:M.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[2087]}}}));Et(new js({id:"focusAndAcceptSuggestion",precondition:ae.and(Gt.Visible,Gt.HasFocusedSuggestion.negate()),handler:o=>{o.focusSuggestion(),o.acceptSelectedSuggestion(!0,!1)}}));Et(new js({id:"toggleSuggestionDetails",precondition:ae.and(Gt.Visible,Gt.HasFocusedSuggestion),handler:o=>o.toggleSuggestionDetails(),kbOpts:{weight:Po,kbExpr:M.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[2087]}},menuOpts:[{menuId:Jl,group:"right",order:1,when:ae.and(Gt.DetailsVisible,Gt.CanResolve),title:w("detail.more","Show Less")},{menuId:Jl,group:"right",order:1,when:ae.and(Gt.DetailsVisible.toNegated(),Gt.CanResolve),title:w("detail.less","Show More")}]}));Et(new js({id:"toggleExplainMode",precondition:Gt.Visible,handler:o=>o.toggleExplainMode(),kbOpts:{weight:100,primary:2138}}));Et(new js({id:"toggleSuggestionFocus",precondition:Gt.Visible,handler:o=>o.toggleSuggestionFocus(),kbOpts:{weight:Po,kbExpr:M.textInputFocus,primary:2570,mac:{primary:778}}}));Et(new js({id:"insertBestCompletion",precondition:ae.and(M.textInputFocus,ae.equals("config.editor.tabCompletion","on"),dv.AtEnd,Gt.Visible.toNegated(),gg.OtherSuggestions.toNegated(),Bs.InSnippetMode.toNegated()),handler:(o,e)=>{o.triggerSuggestAndAcceptBest(LE(e)?{fallback:"tab",...e}:{fallback:"tab"})},kbOpts:{weight:Po,primary:2}}));Et(new js({id:"insertNextSuggestion",precondition:ae.and(M.textInputFocus,ae.equals("config.editor.tabCompletion","on"),gg.OtherSuggestions,Gt.Visible.toNegated(),Bs.InSnippetMode.toNegated()),handler:o=>o.acceptNextSuggestion(),kbOpts:{weight:Po,kbExpr:M.textInputFocus,primary:2}}));Et(new js({id:"insertPrevSuggestion",precondition:ae.and(M.textInputFocus,ae.equals("config.editor.tabCompletion","on"),gg.OtherSuggestions,Gt.Visible.toNegated(),Bs.InSnippetMode.toNegated()),handler:o=>o.acceptPrevSuggestion(),kbOpts:{weight:Po,kbExpr:M.textInputFocus,primary:1026}}));ne(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 Hj extends je{get selectedItem(){return this._currentSuggestItemInfo}constructor(e,t,i){super(),this.editor=e,this.suggestControllerPreselector=t,this.onWillAccept=i,this.isSuggestWidgetVisible=!1,this.isShiftKeyPressed=!1,this._isActive=!1,this._currentSuggestItemInfo=void 0,this._onDidSelectedItemChange=this._register(new ui),this.onDidSelectedItemChange=this._onDidSelectedItemChange.event,this._register(e.onKeyDown(s=>{s.shiftKey&&!this.isShiftKeyPressed&&(this.isShiftKeyPressed=!0,this.update(this._isActive))})),this._register(e.onKeyUp(s=>{s.shiftKey&&this.isShiftKeyPressed&&(this.isShiftKeyPressed=!1,this.update(this._isActive))}));const n=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=xt.lift(c),_=h.map((S,D)=>{const E=xf.fromSuggestion(n,g,v,S,this.isShiftKeyPressed),N=ld(E.toSingleTextEdit(),g),z=cN(p,N);return{index:D,valid:z,prefixLength:N.text.length,suggestItem:S}}).filter(S=>S&&S.valid&&S.prefixLength>0),y=m2(_,Bp(S=>S.prefixLength,Ub));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(as.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||!Wj(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&&cv.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 _2(this.range,this.insertText,this.completionItemKind,this.isSnippetText)}toSingleTextEdit(){return new rl(this.range,this.insertText)}}function Wj(o,e){return o===e?!0:!o||!e?!1:o.equals(e)}var Bj=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Fa=function(o,e){return function(t,i){e(t,i,o)}},NC,Md;let $o=(Md=class extends je{static get(e){return e.getContribution(NC.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 xt(1,1)]}),this._suggestWidgetAdaptor=this._register(new Hj(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=so(this,p=>this._suggestWidgetAdaptor.onDidSelectedItemChange(()=>{this._editorObs.forceUpdate(v=>p(void 0))}),()=>this._suggestWidgetAdaptor.selectedItem),this._enabledInConfig=so(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(62).enabled),this._isScreenReaderEnabled=so(this,this._accessibilityService.onDidChangeScreenReaderOptimized,()=>this._accessibilityService.isScreenReaderOptimized()),this._editorDictationInProgress=so(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=_c(this,p=>{if(this._editorObs.isReadonly.read(p))return;const v=this._editorObs.model.read(p);return v?this._instantiationService.createInstance(CC,v,this._suggestWidgetSelectedItem,this._editorObs.versionId,this._positions,this._debounceValue,so(this.editor.onDidChangeConfiguration,()=>this.editor.getOption(119).preview),so(this.editor.onDidChangeConfiguration,()=>this.editor.getOption(119).previewMode),so(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=zj(this._ghostTexts,this._store),this._ghostTextWidgets=v2(this,this._stablizedGhostTexts,(p,v)=>v.add(this._instantiationService.createInstance(yC,this.editor,{ghostText:p,minReservedLineCount:Ga(0),targetTextModel:this.model.map(_=>_==null?void 0:_.textModel)}))).recomputeInitiallyAndOnChange(this._store),this._playAccessibilitySignal=M0(this),this._fontFamily=so(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(62).fontFamily),this._register(new co(this._contextKeyService,this.model)),this._register(JL(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,vM,"acceptSelectedSuggestion"]).has(p.commandId)&&e.hasTextFocus()&&this._enabled.get()&&this._editorObs.forceUpdate(_=>{var y;(y=this.model.get())==null||y.trigger(_)})})),this._register(JL(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||ag.dropDownVisible||_h(p=>{var v;(v=this.model.get())==null||v.stop(p)})})),this._register(Fn(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(yn(()=>{this._suggestWidgetAdaptor.stopForceRenderingAbove()}));const f=Vb(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(b2(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 Zb(50,Yy(_)),await w2(this._suggestWidgetSelectedItem,Xg,()=>!1,Yy(_)),await this._accessibilitySignalService.playSignal(IE.inlineSuggestion),this.editor.getOption(8)&&this._provideScreenReaderUpdate(S.primaryGhostText.renderForScreenReader(D))})),this._register(new BS(this.editor,this.model,this._instantiationService)),this._register(T4(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 xt(t.lineNumber,n.column))):!1}shouldShowHoverAtViewZone(e){var t;return((t=this._ghostTextWidgets.get()[0])==null?void 0:t.ownsViewZone(e))??!1}},NC=Md,Md.ID="editor.contrib.inlineCompletionsController",Md);$o=NC=Bj([Fa(1,li),Fa(2,Fi),Fa(3,Cn),Fa(4,us),Fa(5,qo),Fa(6,Lt),Fa(7,kE),Fa(8,ns),Fa(9,jb)],$o);function zj(o,e){const t=Io("result",[]),i=[];return e.add(Fn(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]=Io("item",s[a]));t.set([...i],r)}i.forEach((a,c)=>a.set(s[c],r))})})),t}const rb=class rb extends we{constructor(){super({id:rb.ID,label:w("action.inlineSuggest.showNext","Show Next Inline Suggestion"),alias:"Show Next Inline Suggestion",precondition:ae.and(M.writable,co.inlineSuggestionVisible),kbOpts:{weight:100,primary:606}})}async run(e,t){var n;const i=$o.get(t);(n=i==null?void 0:i.model.get())==null||n.next()}};rb.ID=wM;let RC=rb;const ab=class ab extends we{constructor(){super({id:ab.ID,label:w("action.inlineSuggest.showPrevious","Show Previous Inline Suggestion"),alias:"Show Previous Inline Suggestion",precondition:ae.and(M.writable,co.inlineSuggestionVisible),kbOpts:{weight:100,primary:604}})}async run(e,t){var n;const i=$o.get(t);(n=i==null?void 0:i.model.get())==null||n.previous()}};ab.ID=bM;let AC=ab;class Vj 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=$o.get(t);await ZE(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 jj 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:ae.and(M.writable,co.inlineSuggestionVisible),kbOpts:{weight:101,primary:2065,kbExpr:ae.and(M.writable,co.inlineSuggestionVisible)},menuOpts:[{menuId:rt.InlineSuggestionToolbar,title:w("acceptWord","Accept Word"),group:"primary",order:2}]})}async run(e,t){var n;const i=$o.get(t);await((n=i==null?void 0:i.model.get())==null?void 0:n.acceptNextWord(i.editor))}}class Uj 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:ae.and(M.writable,co.inlineSuggestionVisible),kbOpts:{weight:101},menuOpts:[{menuId:rt.InlineSuggestionToolbar,title:w("acceptLine","Accept Line"),group:"secondary",order:2}]})}async run(e,t){var n;const i=$o.get(t);await((n=i==null?void 0:i.model.get())==null?void 0:n.acceptNextLine(i.editor))}}class $j extends we{constructor(){super({id:vM,label:w("action.inlineSuggest.accept","Accept Inline Suggestion"),alias:"Accept Inline Suggestion",precondition:co.inlineSuggestionVisible,menuOpts:[{menuId:rt.InlineSuggestionToolbar,title:w("accept","Accept"),group:"primary",order:1}],kbOpts:{primary:2,weight:200,kbExpr:ae.and(co.inlineSuggestionVisible,M.tabMovesFocus.toNegated(),co.inlineSuggestionHasIndentationLessThanTabSize,Gt.Visible.toNegated(),M.hoverFocused.toNegated())}})}async run(e,t){var n;const i=$o.get(t);i&&((n=i.model.get())==null||n.accept(i.editor),i.editor.focus())}}const lb=class lb extends we{constructor(){super({id:lb.ID,label:w("action.inlineSuggest.hide","Hide Inline Suggestion"),alias:"Hide Inline Suggestion",precondition:co.inlineSuggestionVisible,kbOpts:{weight:100,primary:9}})}async run(e,t){const i=$o.get(t);_h(n=>{var s;(s=i==null?void 0:i.model.get())==null||s.stop(n)})}};lb.ID="editor.action.inlineSuggest.hide";let OC=lb;const cb=class cb extends Ys{constructor(){super({id:cb.ID,title:w("action.inlineSuggest.alwaysShowToolbar","Always Show Toolbar"),f1:!1,precondition:void 0,menu:[{id:rt.InlineSuggestionToolbar,group:"secondary",order:10}],toggled:ae.equals("config.editor.inlineSuggest.showToolbar","always")})}async run(e,t){const i=e.get(Cn),s=i.getValue("editor.inlineSuggest.showToolbar")==="always"?"onHover":"always";i.updateValue("editor.inlineSuggest.showToolbar",s)}};cb.ID="editor.action.inlineSuggest.toggleAlwaysShowToolbar";let FC=cb;var qj=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},$g=function(o,e){return function(t,i){e(t,i,o)}};class Kj{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 HC=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=$o.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=$o.get(this._editor);return i&&i.shouldShowHoverAt(e.range)?[new Kj(this,e.range,i)]:[]}renderHoverParts(e,t){const i=new Be,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(ag,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 Be,n=pt,s=n("div.hover-row.markdown-hover"),r=lt(s,n("div.hover-contents",{"aria-live":"assertive"})),a=i.add(new Cg({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 Ns().appendText(g).appendCodeblock("text",h)));r.replaceChildren(f.element)};return i.add(Fn(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 S_(r)})),e.fragment.appendChild(s),i}};HC=qj([$g(1,jr),$g(2,zr),$g(3,jb),$g(4,li),$g(5,Vr)],HC);class Gj{}const Cw=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($o.ID,$o,3);ne(Vj);ne(RC);ne(AC);ne(jj);ne(Uj);ne($j);ne(OC);Ji(FC);Sh.register(HC);Cw.register(new Gj);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},Ly=function(o,e){return function(t,i){e(t,i,o)}},of,cc;let ap=(cc=class{constructor(e,t,i,n){this.textModelResolverService=t,this.languageService=i,this.languageFeaturesService=n,this.toUnhook=new Be,this.toUnhookForKeyboard=new Be,this.currentWordAtPosition=null,this.previousPromise=null,this.editor=e,this.linkDecorations=this.editor.createDecorationsCollection();const s=new pw(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=>{dn(a)}).finally(()=>{this.removeLinkDecorations()})})),this.toUnhook.add(s.onCancel(()=>{this.removeLinkDecorations(),this.currentWordAtPosition=null}))}static get(e){return e.getContribution(of.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 XE(this.editor,15);this.previousPromise&&(this.previousPromise.cancel(),this.previousPromise=null),this.previousPromise=fs(a=>this.findDefinition(e,a));let n;try{n=await this.previousPromise}catch(a){dn(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 Ns().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 Ns().appendCodeblock(p||"",f):void 0),c.dispose()})}}getPreviewValue(e,t,i){let n=i.range;return n.endLineNumber-n.startLineNumber>=of.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+of.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 P0)&&(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 Zs.inPeekEditor.getValue(t)}dispose(){this.toUnhook.dispose(),this.toUnhookForKeyboard.dispose()}},of=cc,cc.ID="editor.contrib.gotodefinitionatposition",cc.MAX_SOURCE_PREVIEW_LINES=8,cc);ap=of=Zj([Ly(1,Ur),Ly(2,jr),Ly(3,Lt)],ap);_i(ap.ID,ap,2);var hN=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},pv=function(o,e){return function(t,i){e(t,i,o)}};class OI{constructor(e,t,i){this.marker=e,this.index=t,this.total=i}}let WC=class{constructor(e,t,i){this._markerService=t,this._configService=i,this._onDidChange=new ui,this.onDidChange=this._onDidChange.event,this._dispoables=new Be,this._markers=[],this._nextIdx=-1,on.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=QL(a.resource.toString(),c.resource.toString());return h===0&&(n==="position"?h=B.compareRangesUsingStarts(a,c)||Os.compare(a.severity,c.severity):h=Os.compare(a.severity,c.severity)||B.compareRangesUsingStarts(a,c)),h},r=()=>{this._markers=this._markerService.read({resource:on.isUri(e)?e:void 0,severities:Os.Error|Os.Warning|Os.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 OI(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=I_(this._markers,{resource:e.uri},(r,a)=>QL(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 OI(this._markers[i],i+1,this._markers.length)}}};WC=hN([pv(1,S0),pv(2,Cn)],WC);const uN=fl("IMarkerNavigationService");let BC=class{constructor(e,t){this._markerService=e,this._configService=t,this._provider=new BE}getMarkerList(e){for(const t of this._provider){const i=t.getMarkerList(e);if(i)return i}return new WC(e,this._markerService,this._configService)}};BC=hN([pv(0,S0),pv(1,Cn)],BC);pl(uN,BC,1);var zC;(function(o){function e(t){switch(t){case vm.Ignore:return"severity-ignore "+qi.asClassName(Zt.info);case vm.Info:return qi.asClassName(Zt.info);case vm.Warning:return qi.asClassName(Zt.warning);case vm.Error:return qi.asClassName(Zt.error);default:return""}}o.className=e})(zC||(zC={}));var Xj=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},jh=function(o,e){return function(t,i){e(t,i,o)}},VC;class Yj{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 Be,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 I2(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(){As(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=Gb(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=pt("a.code-link"),this._codeLink.setAttribute("href",`${s.target.toString()}`),this._codeLink.onclick=_=>{this._openerService.open(s.target,{allowCommands:!0}),_.preventDefault(),_.stopPropagation()};const v=lt(this._codeLink,pt("span"));v.innerText=s.value,p.appendChild(this._codeLink)}}if(wa(this._relatedBlock),this._editor.applyFontInfo(this._relatedBlock),ko(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 Os.Error:t=w("Error","Error");break;case Os.Warning:t=w("Warning","Warning");break;case Os.Info:t=w("Info","Info");break;case Os.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 q_{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 Be,this._onDidSelectRelatedInformation=new ui,this.onDidSelectRelatedInformation=this._onDidSelectRelatedInformation.event,this._severity=Os.Warning,this._backgroundColor=xi.white,this._applyTheme(t.getColorTheme()),this._callOnDispose.add(t.onDidColorThemeChange(this._applyTheme.bind(this))),this.create()}_applyTheme(e){this._backgroundColor=e.getColor(tU);let t=jC,i=Jj;this._severity===Os.Warning?(t=d_,i=Qj):this._severity===Os.Info&&(t=UC,i=eU);const n=e.getColor(t),s=e.getColor(i);this.style({arrowColor:n,frameColor:n,headerBackgroundColor:s,primaryHeadingColor:e.getColor(PM),secondaryHeadingColor:e.getColor(TM)})}_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(VC.TitleMenu,this._contextKeyService);L0(i,t),this._actionbarWidget.push(t,{label:!1,icon:!0,index:0})}_fillTitleIcon(e){this._icon=lt(e,pt(""))}_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 Yj(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 ${zC.className(Os.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()}},VC=Nd,Nd.TitleMenu=new rt("gotoErrorTitleMenu"),Nd);lp=VC=Xj([jh(1,mr),jh(2,zr),jh(3,mh),jh(4,li),jh(5,Fi),jh(6,zf)],lp);const FI=R0(S2,y2),HI=R0(x2,C2),WI=R0($y,L2),jC=mt("editorMarkerNavigationError.background",{dark:FI,light:FI,hcDark:sl,hcLight:sl},w("editorMarkerNavigationError","Editor marker navigation widget error color.")),Jj=mt("editorMarkerNavigationError.headerBackground",{dark:ya(jC,.1),light:ya(jC,.1),hcDark:null,hcLight:null},w("editorMarkerNavigationErrorHeaderBackground","Editor marker navigation widget error heading background.")),d_=mt("editorMarkerNavigationWarning.background",{dark:HI,light:HI,hcDark:sl,hcLight:sl},w("editorMarkerNavigationWarning","Editor marker navigation widget warning color.")),Qj=mt("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.")),UC=mt("editorMarkerNavigationInfo.background",{dark:WI,light:WI,hcDark:sl,hcLight:sl},w("editorMarkerNavigationInfo","Editor marker navigation widget info color.")),eU=mt("editorMarkerNavigationInfo.headerBackground",{dark:ya(UC,.1),light:ya(UC,.1),hcDark:null,hcLight:null},w("editorMarkerNavigationInfoHeaderBackground","Editor marker navigation widget info heading background.")),tU=mt("editorMarkerNavigation.background",k2,w("editorMarkerNavigationBackground","Editor marker navigation widget background."));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},Wm=function(o,e){return function(t,i){e(t,i,o)}},rf,Rd;let hh=(Rd=class{static get(e){return e.getContribution(rf.ID)}constructor(e,t,i,n,s){this._markerNavigationService=t,this._contextKeyService=i,this._editorService=n,this._instantiationService=s,this._sessionDispoables=new Be,this._editor=e,this._widgetVisible=gN.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 xt(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=rf.get(r))==null||i.close(),(n=rf.get(r))==null||n.nagivate(e,t))}else this._widget.showAtMarker(s.selected.marker,s.selected.index,s.selected.total)}}},rf=Rd,Rd.ID="editor.contrib.markerController",Rd);hh=rf=iU([Wm(1,uN),Wm(2,Fi),Wm(3,Qn),Wm(4,li)],hh);class xw 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 xw{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:Xn("marker-navigation-next",Zt.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 mv=Vc;const jc=class jc extends xw{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:Xn("marker-navigation-previous",Zt.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 $C=jc;class nU extends xw{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:rt.MenubarGoMenu,title:w({key:"miGotoNextProblem",comment:["&& denotes a mnemonic"]},"Next &&Problem"),group:"6_problem_nav",order:1}})}}class sU extends xw{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:rt.MenubarGoMenu,title:w({key:"miGotoPreviousProblem",comment:["&& denotes a mnemonic"]},"Previous &&Problem"),group:"6_problem_nav",order:2}})}}_i(hh.ID,hh,4);ne(mv);ne($C);ne(nU);ne(sU);const gN=new Pi("markersNavigationVisible",!1),oU=Js.bindToContribution(hh.get);Et(new oU({id:"closeMarkersNavigation",precondition:gN,handler:o=>o.close(),kbOpts:{weight:150,kbExpr:M.focus,primary:9,secondary:[1033]}}));var xr;(function(o){o.NoAutoFocus="noAutoFocus",o.FocusIfVisible="focusIfVisible",o.AutoFocusImmediately="autoFocusImmediately"})(xr||(xr={}));class rU extends we{constructor(){super({id:_M,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:St("showOrFocusHoverDescription","Show or focus the editor hover which shows documentation, references, and other content for a symbol at the current cursor position."),args:[{name:"args",schema:{type:"object",properties:{focus:{description:"Controls if and when the hover should take focus upon being triggered by this action.",enum:[xr.NoAutoFocus,xr.FocusIfVisible,xr.AutoFocusImmediately],enumDescriptions:[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:xr.FocusIfVisible}}}}]},alias:"Show or Focus Hover",precondition:void 0,kbOpts:{kbExpr:M.editorTextFocus,primary:is(2089,2087),weight:100}})}run(e,t,i){if(!t.hasModel())return;const n=Ts.get(t);if(!n)return;const s=i==null?void 0:i.focus;let r=xr.FocusIfVisible;Object.values(xr).includes(s)?r=s:typeof s=="boolean"&&s&&(r=xr.AutoFocusImmediately);const a=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!==xr.NoAutoFocus?n.focus():a(c):a(c||r===xr.AutoFocusImmediately)}}class aU extends we{constructor(){super({id:xB,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:St("showDefinitionPreviewHoverDescription","Show the definition preview hover in the editor.")}})}run(e,t){const i=Ts.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 lU extends we{constructor(){super({id:LB,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:St("scrollUpHoverDescription","Scroll up the editor hover.")}})}run(e,t){const i=Ts.get(t);i&&i.scrollUp()}}class cU extends we{constructor(){super({id:kB,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:St("scrollDownHoverDescription","Scroll down the editor hover.")}})}run(e,t){const i=Ts.get(t);i&&i.scrollDown()}}class dU extends we{constructor(){super({id:IB,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:St("scrollLeftHoverDescription","Scroll left the editor hover.")}})}run(e,t){const i=Ts.get(t);i&&i.scrollLeft()}}class hU extends we{constructor(){super({id:DB,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:St("scrollRightHoverDescription","Scroll right the editor hover.")}})}run(e,t){const i=Ts.get(t);i&&i.scrollRight()}}class uU extends we{constructor(){super({id:EB,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:St("pageUpHoverDescription","Page up the editor hover.")}})}run(e,t){const i=Ts.get(t);i&&i.pageUp()}}class gU extends we{constructor(){super({id:PB,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:St("pageDownHoverDescription","Page down the editor hover.")}})}run(e,t){const i=Ts.get(t);i&&i.pageDown()}}class fU extends we{constructor(){super({id:TB,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:St("goToTopHoverDescription","Go to the top of the editor hover.")}})}run(e,t){const i=Ts.get(t);i&&i.goToTop()}}class pU extends we{constructor(){super({id:MB,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:St("goToBottomHoverDescription","Go to the bottom of the editor hover.")}})}run(e,t){const i=Ts.get(t);i&&i.goToBottom()}}class mU extends we{constructor(){super({id:uw,label:NB,alias:"Increase Hover Verbosity Level",precondition:M.hoverVisible})}run(e,t,i){const n=Ts.get(t);if(!n)return;const s=(i==null?void 0:i.index)!==void 0?i.index:n.focusedHoverPartIndex();n.updateHoverVerbosityLevel(Vo.Increase,s,i==null?void 0:i.focus)}}class _U extends we{constructor(){super({id:gw,label:RB,alias:"Decrease Hover Verbosity Level",precondition:M.hoverVisible})}run(e,t,i){var r;const n=Ts.get(t);if(!n)return;const s=(i==null?void 0:i.index)!==void 0?i.index:n.focusedHoverPartIndex();(r=Ts.get(t))==null||r.updateHoverVerbosityLevel(Vo.Decrease,s,i==null?void 0:i.focus)}}var vU=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},ky=function(o,e){return function(t,i){e(t,i,o)}};const Zo=pt;class bU{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 BI={type:1,filter:{include:fn.QuickFix},triggerAction:uo.QuickFixHover};let qC=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 bU(this,f,g))}return r}renderHoverParts(e,t){if(!t.length)return new lh([]);const i=new Be,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)=>Os.compare(r.marker.severity,a.marker.severity))[0];return this.renderMarkerStatusbar(e,s,i),new lh(n)}_renderMarkerHover(e){const t=new Be,i=Zo("div.hover-row"),n=lt(i,Zo("div.marker.hover-contents")),{source:s,message:r,code:a,relatedInformation:c}=e.marker;this._editor.applyFontInfo(n);const h=lt(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=lt(f,Zo("span"));y.innerText=s}const p=lt(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=lt(p,Zo("span"));v.innerText=a.value;const _=lt(n,f);_.style.opacity="0.6",_.style.paddingLeft="6px"}else{const f=lt(n,Zo("span"));f.style.opacity="0.6",f.style.paddingLeft="6px",f.innerText=s&&a?`${s}(${a})`:s||`(${a})`}if(ko(c))for(const{message:f,resource:p,startLineNumber:v,startColumn:_}of c){const y=lt(n,Zo("div"));y.style.marginTop="8px";const S=lt(y,Zo("a"));S.innerText=`${La(p)}(${v}, ${_}): `,S.style.cursor="pointer",t.add(Oi(S,"click",E=>{if(E.stopPropagation(),E.preventDefault(),this._openerService){const N={selection:{startLineNumber:v,startColumn:_}};this._openerService.open(p,{fromUserGesture:!0,editorOptions:N}).catch(dn)}}));const D=lt(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===Os.Error||t.marker.severity===Os.Warning||t.marker.severity===Os.Info){const n=hh.get(this._editor);n&&e.statusBar.addAction({label:w("view problem","View Problem"),commandId:mv.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&&(ek.makeKey(this.recentMarkerCodeActionsInfo.marker)===ek.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?je.None:Af(()=>n.textContent=w("checkingForQuickFixes","Checking for quick fixes..."),200,i);n.textContent||(n.textContent=" ");const r=this.getCodeActions(t.marker);i.add(yn(()=>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(yn(()=>{c||a.dispose()})),e.statusBar.addAction({label:w("quick fixes","Quick Fix..."),commandId:l1,run:h=>{c=!0;const g=og.get(this._editor),f=Gs(h);e.hide(),g==null||g.showCodeActions(BI,a,{x:f.left,y:f.top,width:f.width,height:f.height})}})},dn)}}getCodeActions(e){return fs(t=>ru(this._languageFeaturesService.codeActionProvider,this._editor.getModel(),new B(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn),BI,Ka.None,t))}};qC=vU([ky(1,D2),ky(2,zr),ky(3,Lt)],qC);class wU{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=w_.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)??w_.Center;if(!n&&a!==this._laneOrLine)continue;const c=n?r.options.lineNumberHoverMessage:r.options.glyphMarginHoverMessage;!c||Bf(c)||i.push(...aE(c).map(e))}return i}}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},zI=function(o,e){return function(t,i){e(t,i,o)}},KC;const VI=pt;var Ad;let GC=(Ad=class extends je{constructor(e,t,i){super(),this._renderDisposeables=this._register(new Be),this._editor=e,this._isVisible=!1,this._messages=[],this._hover=this._register(new rE),this._hover.containerDomNode.classList.toggle("hidden",!this._isVisible),this._markdownRenderer=this._register(new Cg({editor:this._editor},t,i)),this._computer=new wU(this._editor),this._hoverOperation=this._register(new yM(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 KC.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=VI("div.hover-row.markdown-hover"),r=lt(s,VI("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||!fw(t,e.x,e.y))&&this.hide()}},KC=Ad,Ad.ID="editor.contrib.modesGlyphHoverWidget",Ad);GC=KC=yU([zI(1,jr),zI(2,zr)],GC);var SU=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(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)}},Ou;let _v=(Ou=class extends je{constructor(e,t){super(),this._editor=e,this._instantiationService=t,this.shouldKeepOpenOnEditorMouseMoveOrLeave=!1,this._listenersStore=new Be,this._hoverState={mouseDown:!1},this._reactToEditorMouseMoveRunner=this._register(new ls(()=>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?fw(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(GC,this._editor)),this._glyphWidget}dispose(){var e;super.dispose(),this._unhookListeners(),this._listenersStore.dispose(),(e=this._glyphWidget)==null||e.dispose()}},Ou.ID="editor.contrib.marginHover",Ou);_v=SU([CU(1,li)],_v);class xU{}class LU{}class kU{}_i(Ts.ID,Ts,2);_i(_v.ID,_v,2);ne(rU);ne(aU);ne(lU);ne(cU);ne(dU);ne(hU);ne(uU);ne(gU);ne(fU);ne(pU);ne(mU);ne(_U);Sh.register(ip);Sh.register(qC);Bb((o,e)=>{const t=o.getColor(E2);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)}; }`))});Cw.register(new xU);Cw.register(new LU);Cw.register(new kU);function no(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 fN(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 P2(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,Yu.shiftIndent(y,y.length+S,r,a,c)),g=(y,S)=>(S=S||1,Yu.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(IU(o,y))continue;const S=o.getLineContent(y),D=Ss(S),E=_;s.shouldDecrease(y,E)&&(_=g(_),v=g(v)),D!==_&&f.push(zn.replaceMove(new Ut(y,1,y,D.length+1),T2(_,a,c))),!s.shouldIgnore(y)&&(s.shouldIncrease(y,E)?(v=h(v),_=v):s.shouldIndentNextLine(y,E)?_=h(_):_=v)}return f}function IU(o,e){return o.tokenization.isCheapToTokenize(e)?o.tokenization.getLineTokens(e).getStandardTokenType(0)===2:!1}var DU=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},EU=function(o,e){return function(t,i){e(t,i,o)}};const db=class db extends we{constructor(){super({id:db.ID,label:w("indentationToSpaces","Convert Indentation to Spaces"),alias:"Convert Indentation to Spaces",precondition:M.writable,metadata:{description:St("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 RU(s,n.tabSize);t.pushUndoStop(),t.executeCommands(this.id,[r]),t.pushUndoStop(),i.updateOptions({insertSpaces:!0})}};db.ID="editor.action.indentationToSpaces";let ZC=db;const hb=class hb extends we{constructor(){super({id:hb.ID,label:w("indentationToTabs","Convert Indentation to Tabs"),alias:"Convert Indentation to Tabs",precondition:M.writable,metadata:{description:St("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 AU(s,n.tabSize);t.pushUndoStop(),t.executeCommands(this.id,[r]),t.pushUndoStop(),i.updateOptions({insertSpaces:!1})}};hb.ID="editor.action.indentationToTabs";let XC=hb;class R1 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(Vs),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 ub=class ub extends R1{constructor(){super(!1,!1,{id:ub.ID,label:w("indentUsingTabs","Indent Using Tabs"),alias:"Indent Using Tabs",precondition:void 0,metadata:{description:St("indentUsingTabsDescription","Use indentation with tabs.")}})}};ub.ID="editor.action.indentUsingTabs";let YC=ub;const gb=class gb extends R1{constructor(){super(!0,!1,{id:gb.ID,label:w("indentUsingSpaces","Indent Using Spaces"),alias:"Indent Using Spaces",precondition:void 0,metadata:{description:St("indentUsingSpacesDescription","Use indentation with spaces.")}})}};gb.ID="editor.action.indentUsingSpaces";let JC=gb;const fb=class fb extends R1{constructor(){super(!0,!0,{id:fb.ID,label:w("changeTabDisplaySize","Change Tab Display Size"),alias:"Change Tab Display Size",precondition:void 0,metadata:{description:St("changeTabDisplaySizeDescription","Change the space size equivalent of the tab.")}})}};fb.ID="editor.action.changeTabDisplaySize";let QC=fb;const pb=class pb extends we{constructor(){super({id:pb.ID,label:w("detectIndentation","Detect Indentation from Content"),alias:"Detect Indentation from Content",precondition:void 0,metadata:{description:St("detectIndentationDescription","Detect the indentation from content.")}})}run(e,t){const i=e.get(Vs),n=t.getModel();if(!n)return;const s=i.getCreationOptions(n.getLanguageId(),n.uri,n.isForSimpleWidget);n.detectIndentation(s.insertSpaces,s.tabSize)}};pb.ID="editor.action.detectIndentation";let ex=pb;class PU extends we{constructor(){super({id:"editor.action.reindentlines",label:w("editor.reindentlines","Reindent Lines"),alias:"Reindent Lines",precondition:M.writable,metadata:{description:St("editor.reindentlinesDescription","Reindent the lines of the editor.")}})}run(e,t){const i=e.get(gs),n=t.getModel();if(!n)return;const s=fN(n,i,1,n.getLineCount());s.length>0&&(t.pushUndoStop(),t.executeEdits(this.id,s),t.pushUndoStop())}}class TU extends we{constructor(){super({id:"editor.action.reindentselectedlines",label:w("editor.reindentselectedlines","Reindent Selected Lines"),alias:"Reindent Selected Lines",precondition:M.writable,metadata:{description:St("editor.reindentselectedlinesDescription","Reindent the selected lines of the editor.")}})}run(e,t){const i=e.get(gs),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=fN(n,i,c,h);r.push(...g)}r.length>0&&(t.pushUndoStop(),t.executeEdits(this.id,r),t.pushUndoStop())}}class MU{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 Fu;let vv=(Fu=class{constructor(e,t){this.editor=e,this._languageConfigurationService=t,this.callOnDispose=new Be,this.callOnModel=new Be,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)||NU(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:_=>Yu.shiftIndent(_,_.length+1,r,a,c),unshiftIndent:_=>Yu.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=no(_,r),D=no(y,r);if(S!==D){const E=Lf(S,r,c);h.push({range:new B(f,1,f,y.length+1),text:E}),p=E+p.substring(y.length)}else{const E=YE(i,f,this._languageConfigurationService);if(E===0||E===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=no(y,r),D=no(Ss(i.getLineContent(f+1)),r);if(S!==D){const E=S-D;for(let N=f+1;N<=e.endLineNumber;N++){const z=i.getLineContent(N),O=Ss(z),X=no(O,r)+E,fe=Lf(X,r,c);fe!==O&&h.push({range:new B(N,1,N,O.length+1),text:fe})}}}}if(h.length>0){this.editor.pushUndoStop();const _=new MU(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()}},Fu.ID="editor.contrib.autoIndentOnPaste",Fu);vv=DU([EU(1,gs)],vv);function NU(o,e){const t=i=>M2(o,i)===2;return t(e.getStartPosition())||t(e.getEndPosition())}function pN(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 RU{constructor(e,t){this.selection=e,this.tabSize=t,this.selectionId=null}getEditOperations(e,t){this.selectionId=t.trackSelection(this.selection),pN(e,t,this.tabSize,!0)}computeCursorState(e,t){return t.getTrackedSelection(this.selectionId)}}class AU{constructor(e,t){this.selection=e,this.tabSize=t,this.selectionId=null}getEditOperations(e,t){this.selectionId=t.trackSelection(this.selection),pN(e,t,this.tabSize,!1)}computeCursorState(e,t){return t.getTrackedSelection(this.selectionId)}}_i(vv.ID,vv,2);ne(ZC);ne(XC);ne(YC);ne(JC);ne(QC);ne(ex);ne(PU);ne(TU);_i(sp.ID,sp,1);Sh.register(X_);class OU{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 Ut(n.endLineNumber,Math.min(this._originalSelection.positionColumn,n.endColumn),n.endLineNumber,Math.min(this._originalSelection.positionColumn,n.endColumn)):new Ut(n.endLineNumber,n.endColumn-this._text.length,n.endLineNumber,n.endColumn)}}var FU=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},HU=function(o,e){return function(t,i){e(t,i,o)}},h_,dc;let fg=(dc=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 XE(this.editor,5),a=n.uri;return this.editorWorkerService.canNavigateValueSet(a)?(this.currentRequest=fs(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 Ut(s.startLineNumber,s.startColumn,s.endLineNumber,s.endColumn+p-1));const v=new OU(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=Zb(350),this.decorationRemover.then(()=>this.decorations.clear()).catch(dn)}).catch(dn)):Promise.resolve(void 0)}},h_=dc,dc.ID="editor.contrib.inPlaceReplaceController",dc.DECORATION=Li.register({description:"in-place-replace",className:"valueSetReplacement"}),dc);fg=h_=FU([HU(1,ml)],fg);class WU 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=fg.get(t);return i?i.run(this.id,!1):Promise.resolve(void 0)}}class BU 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=fg.get(t);return i?i.run(this.id,!0):Promise.resolve(void 0)}}_i(fg.ID,fg,4);ne(WU);ne(BU);class zU 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,A0.expandLineSelection(n,n.getCursorStates())),n.revealAllCursors(i.source,!0)}}ne(zU);class VU{constructor(e,t,i){this._selection=e,this._cursors=t,this._selectionId=null,this._trimInRegexesAndStrings=i}getEditOperations(e,t){const i=jU(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 jU(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++]=zn.delete(new B(a,v,a,g))}return i}class mN{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=Ut.createWithDirection(n,s,r,a,this._selectionDirection)}return i}}var UU=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},$U=function(o,e){return function(t,i){e(t,i,o)}};let tx=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 Ut(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=_+no(S,a);v=Lf(D,a,h)+this.trimStart(p)}else{const S={tokenization:{getLineTokens:E=>E===r.startLineNumber?e.tokenization.getLineTokens(f):e.tokenization.getLineTokens(E),getLanguageId:i,getLanguageIdAtPosition:n},getLineContent:E=>E===r.startLineNumber?e.getLineContent(f):e.getLineContent(E)},D=mf(this._autoIndent,S,e.getLanguageIdAtPosition(f,1),r.startLineNumber,g,this._languageConfigurationService);if(D!==null){const E=Ss(e.getLineContent(f)),N=no(D,a),z=no(E,a);N!==z&&(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:E=>E===r.startLineNumber?e.tokenization.getLineTokens(f):E>=r.startLineNumber+1&&E<=r.endLineNumber+1?e.tokenization.getLineTokens(E-1):e.tokenization.getLineTokens(E),getLanguageId:i,getLanguageIdAtPosition:n},getLineContent:E=>E===r.startLineNumber?v:E>=r.startLineNumber+1&&E<=r.endLineNumber+1?e.getLineContent(E-1):e.getLineContent(E)},D=mf(this._autoIndent,S,e.getLanguageIdAtPosition(f,1),r.startLineNumber+1,g,this._languageConfigurationService);if(D!==null){const E=Ss(e.getLineContent(r.startLineNumber)),N=no(D,a),z=no(E,a);if(N!==z){const O=N-z;this.getIndentEditsOfMovingBlock(e,t,r,a,h,O)}}}}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=no(y,a),E=no(S,a);if(D!==E){const N=D-E;this.getIndentEditsOfMovingBlock(e,t,r,a,h,N)}}}}}this._selectionId=t.trackSelection(r)}buildIndentConverter(e,t,i){return{shiftIndent:n=>Yu.shiftIndent(n,n.length+1,e,t,i),unshiftIndent:n=>Yu.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=YE(e,n,this._languageConfigurationService);g!==null&&g&2&&(h=t.unshiftIndent(h));const f=no(h,i),p=no(c,i);return f-p}}return null}matchEnterRuleMovingDown(e,t,i,n,s,r){if(Jm(r)>=0){const a=e.getLineMaxColumn(s),c=Kw(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=Kw(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=Kw(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=no(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}};tx=UU([$U(3,gs)],tx);const mu=class mu{static getCollator(){return mu._COLLATOR||(mu._COLLATOR=new Intl.Collator),mu._COLLATOR}constructor(e,t){this.selection=e,this.descending=t,this.selectionId=null}getEditOperations(e,t){const i=qU(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=_N(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}};mu._COLLATOR=null;let cp=mu;function _N(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 qU(o,e,t){const i=_N(o,e,t);return i?zn.replace(new B(i.startLineNumber,1,i.endLineNumber,o.getLineMaxColumn(i.endLineNumber)),i.after.join(`
55
+ `)):null}class vN 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 mN(r.selection,this.down,r.ignore));t.pushUndoStop(),t.executeCommands(this.id,s),t.pushUndoStop()}}class KU extends vN{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:rt.MenubarSelectionMenu,group:"2_line",title:w({key:"miCopyLinesUp",comment:["&& denotes a mnemonic"]},"&&Copy Line Up"),order:1}})}}class GU extends vN{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:rt.MenubarSelectionMenu,group:"2_line",title:w({key:"miCopyLinesDown",comment:["&& denotes a mnemonic"]},"Co&&py Line Down"),order:2}})}}class ZU extends we{constructor(){super({id:"editor.action.duplicateSelection",label:w("duplicateSelection","Duplicate Selection"),alias:"Duplicate Selection",precondition:M.writable,menuOpts:{menuId:rt.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 mN(a,!0));else{const c=new Ut(a.endLineNumber,a.endColumn,a.endLineNumber,a.endColumn);n.push(new N2(c,r.getValueInRange(a)))}t.pushUndoStop(),t.executeCommands(this.id,n),t.pushUndoStop()}}class bN extends we{constructor(e,t){super(t),this.down=e}run(e,t){const i=e.get(gs),n=[],s=t.getSelections()||[],r=t.getOption(12);for(const a of s)n.push(new tx(a,this.down,r,i));t.pushUndoStop(),t.executeCommands(this.id,n),t.pushUndoStop()}}class XU extends bN{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:rt.MenubarSelectionMenu,group:"2_line",title:w({key:"miMoveLinesUp",comment:["&& denotes a mnemonic"]},"Mo&&ve Line Up"),order:3}})}}class YU extends bN{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:rt.MenubarSelectionMenu,group:"2_line",title:w({key:"miMoveLinesDown",comment:["&& denotes a mnemonic"]},"Move &&Line Down"),order:4}})}}class wN 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 Ut(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 JU extends wN{constructor(){super(!1,{id:"editor.action.sortLinesAscending",label:w("lines.sortAscending","Sort Lines Ascending"),alias:"Sort Lines Ascending",precondition:M.writable})}}class QU extends wN{constructor(){super(!0,{id:"editor.action.sortLinesDescending",label:w("lines.sortDescending","Sort Lines Descending"),alias:"Sort Lines Descending",precondition:M.writable})}}class e$ 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 Ut(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 Ut(h.startLineNumber,1,h.endLineNumber,i.getLineMaxColumn(h.endLineNumber)),v=h.startLineNumber-r,_=new Ut(v,1,v+f.length-1,f[f.length-1].length);n.push(zn.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 mb=class mb extends we{constructor(){super({id:mb.ID,label:w("lines.trimTrailingWhitespace","Trim Trailing Whitespace"),alias:"Trim Trailing Whitespace",precondition:M.writable,kbOpts:{kbExpr:M.editorTextFocus,primary:is(2089,2102),weight:100}})}run(e,t,i){let n=[];i.reason==="auto-save"&&(n=(t.getSelections()||[]).map(g=>new xt(g.positionLineNumber,g.positionColumn)));const s=t.getSelection();if(s===null)return;const r=e.get(Cn),a=t.getModel(),c=r.getValue("files.trimTrailingWhitespaceInRegexAndStrings",{overrideIdentifier:a==null?void 0:a.getLanguageId(),resource:a==null?void 0:a.uri}),h=new VU(s,n,c);t.pushUndoStop(),t.executeCommands(this.id,[h]),t.pushUndoStop()}};mb.ID="editor.action.trimTrailingWhitespace";let ix=mb;class t$ 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(zn.replace(new Ut(f,v,p,_),"")),a.push(new Ut(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 i$ 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,R2.indent(i.cursorConfig,t.getModel(),t.getSelections())),t.pushUndoStop())}}class n$ 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 s$ 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,JE.lineInsertBefore(i.cursorConfig,t.getModel(),t.getSelections())))}}class o$ 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,JE.lineInsertAfter(i.cursorConfig,t.getModel(),t.getSelections())))}}class yN 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=>zn.replace(c,""));t.pushUndoStop(),t.executeEdits(this.id,a,r),t.pushUndoStop()}}class r$ extends yN{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 Ut(c,r.startColumn,c,r.startColumn)}else a=new Ut(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 a$ extends yN{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 Ut(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 l$ 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 Ut(p.startLineNumber,p.startColumn,v.endLineNumber,v.endColumn):v.startLineNumber>p.endLineNumber?(s.push(p),v):new Ut(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,E,N;const z=a.getLineLength(_.endLineNumber)-_.endColumn;if(_.isEmpty()||_.startLineNumber===_.endLineNumber){const X=_.getStartPosition();X.lineNumber<a.getLineCount()?(E=y+1,N=a.getLineMaxColumn(E)):(E=X.lineNumber,N=a.getLineMaxColumn(X.lineNumber))}else E=_.endLineNumber,N=a.getLineMaxColumn(E);let O=a.getLineContent(y);for(let X=y+1;X<=E;X++){const fe=a.getLineContent(X),Ee=a.getLineFirstNonWhitespaceColumn(X);if(Ee>=1){let $e=!0;O===""&&($e=!1),$e&&(O.charAt(O.length-1)===" "||O.charAt(O.length-1)===" ")&&($e=!1,O=O.replace(/[\s\uFEFF\xA0]+$/g," "));const me=fe.substr(Ee-1);O+=($e?" ":"")+me,$e?D=me.length+1:D=me.length}else D=0}const J=new B(y,S,E,N);if(!J.isEmpty()){let X;_.isEmpty()?(c.push(zn.replace(J,O)),X=new Ut(J.startLineNumber-f,O.length-D+1,y-f,O.length-D+1)):_.startLineNumber===_.endLineNumber?(c.push(zn.replace(J,O)),X=new Ut(_.startLineNumber-f,_.startColumn,_.endLineNumber-f,_.endColumn)):(c.push(zn.replace(J,O)),X=new Ut(_.startLineNumber-f,_.startColumn,_.startLineNumber-f,O.length-z)),B.intersectRanges(J,n)!==null?g=X:h.push(X)}f+=J.endLineNumber-J.startLineNumber}h.unshift(g),t.pushUndoStop(),t.executeEdits(this.id,c,h),t.pushUndoStop()}}class c$ 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 Ut(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 mE(f,p,new Ut(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(zn.replace(g,this._modifyText(f,s)))}else{const c=n.getValueInRange(a);r.push(zn.replace(a,this._modifyText(c,s)))}t.pushUndoStop(),t.executeEdits(this.id,r),t.pushUndoStop()}}class d$ 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 h$ 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 _b=class _b 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=_b.titleBoundary.get();return i?e.toLocaleLowerCase().replace(i,n=>n.toLocaleUpperCase()):e}};_b.titleBoundary=new il("(^|[^\\p{L}\\p{N}']|((^|\\P{L})'))\\p{L}","gmu");let bv=_b;const _u=class _u 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=_u.caseBoundary.get(),n=_u.singleLetters.get();return!i||!n?e:e.replace(i,"$1_$2").replace(n,"$1_$2$3").toLocaleLowerCase()}};_u.caseBoundary=new il("(\\p{Ll})(\\p{Lu})","gmu"),_u.singleLetters=new il("(\\p{Lu}|\\p{N})(\\p{Lu})(\\p{Ll})","gmu");let kf=_u;const vb=class vb 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=vb.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("")}};vb.wordBoundary=new il("[_\\s-]","gm");let wv=vb;const vu=class vu 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=vu.wordBoundary.get(),n=vu.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("")}};vu.wordBoundary=new il("[_\\s-]","gm"),vu.wordBoundaryToMaintain=new il("(?<=\\.)","gm");let yv=vu;const Al=class Al 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=Al.caseBoundary.get(),n=Al.singleLetters.get(),s=Al.underscoreBoundary.get();return!i||!n||!s?e:e.replace(s,"$1-$3").replace(i,"$1-$2").replace(n,"$1-$2").toLocaleLowerCase()}};Al.caseBoundary=new il("(\\p{Ll})(\\p{Lu})","gmu"),Al.singleLetters=new il("(\\p{Lu}|\\p{N})(\\p{Lu}\\p{Ll})","gmu"),Al.underscoreBoundary=new il("(\\S)(_)(\\S)","gm");let Sv=Al;ne(KU);ne(GU);ne(ZU);ne(XU);ne(YU);ne(JU);ne(QU);ne(e$);ne(ix);ne(t$);ne(i$);ne(n$);ne(s$);ne(o$);ne(r$);ne(a$);ne(l$);ne(c$);ne(d$);ne(h$);kf.caseBoundary.isSupported()&&kf.singleLetters.isSupported()&&ne(kf);wv.wordBoundary.isSupported()&&ne(wv);yv.wordBoundary.isSupported()&&ne(yv);bv.titleBoundary.isSupported()&&ne(bv);Sv.isSupported()&&ne(Sv);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},Bm=function(o,e){return function(t,i){e(t,i,o)}},u_;const SN=new Pi("LinkedEditingInputVisible",!1),g$="linked-editing-decoration";var hc;let pg=(hc=class extends je{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 Be),this._editor=e,this._providers=i.linkedEditingRangeProvider,this._enabled=!1,this._visibleContextKey=SN.bindTo(t),this._debounceInformation=s.for(this._providers,"Linked Editing",{max:200}),this._currentDecorations=this._editor.createDecorationsCollection(),this._languageWordPattern=null,this._currentWordPattern=null,this._ignoreChangeEvent=!1,this._localToDispose=this._register(new Be),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(as.runAndSubscribe(t.onDidChangeLanguageConfiguration,()=>{this._languageWordPattern=this.languageConfigurationService.getLanguageConfiguration(t.getLanguageId()).getWordDefinition()}));const n=new mc(this._debounceInformation.get(t)),s=()=>{this._rangeUpdateTriggerPromise=n.trigger(()=>this.updateRanges(),this._debounceDuration??this._debounceInformation.get(t))},r=new mc(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 _=A2(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 ps;try{const r=new ho(!1),a=await CN(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){xc(r)||dn(r),(this._currentRequestCts===s||!this._currentRequestCts)&&this.clearRanges()}}},u_=hc,hc.ID="editor.contrib.linkedEditing",hc.DECORATION=Li.register({description:"linked-editing",stickiness:0,className:g$}),hc);pg=u_=u$([Bm(1,Fi),Bm(2,Lt),Bm(3,gs),Bm(4,qo)],pg);class f$ extends we{constructor(){super({id:"editor.action.linkedEditing",label:w("linkedEditing.label","Start Linked Editing"),alias:"Start Linked Editing",precondition:ae.and(M.writable,M.hasRenameProvider),kbOpts:{kbExpr:M.editorTextFocus,primary:3132,weight:100}})}runCommand(e,t){const i=e.get(Qn),[n,s]=Array.isArray(t)&&t||[void 0,void 0];return on.isUri(n)&&xt.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))))},dn):super.runCommand(e,t)}run(e,t){const i=pg.get(t);return i?Promise.resolve(i.updateRanges(!0)):Promise.resolve()}}const p$=Js.bindToContribution(pg.get);Et(new p$({id:"cancelLinkedEditingInput",precondition:SN,handler:o=>o.clearRanges(),kbOpts:{kbExpr:M.editorTextFocus,weight:199,primary:9,secondary:[1033]}}));function CN(o,e,t,i){const n=o.ordered(e);return O0(n.map(s=>async()=>{try{return await s.provideLinkedEditingRanges(e,t,i)}catch(r){Jn(r);return}}),s=>!!s&&ko(s==null?void 0:s.ranges))}mt("editor.linkedEditingBackground",{dark:xi.fromHex("#f00").transparent(.3),light:xi.fromHex("#f00").transparent(.3),hcDark:xi.fromHex("#f00").transparent(.3),hcLight:xi.white},w("editorLinkedEditingBackground","Background color when the editor auto renames on type."));Qs("_executeLinkedEditingProvider",(o,e,t)=>{const{linkedEditingRangeProvider:i}=o.get(Lt);return CN(i,e,t,gi.None)});_i(pg.ID,pg,1);ne(f$);let m$=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 Cv{constructor(e){this._disposables=new Be;let t=[];for(const[i,n]of e){const s=i.links.map(r=>new m$(r,n));t=Cv._union(t,s),FE(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 xN(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])},Jn));return Promise.all(n).then(()=>{const s=new Cv(nl(i));return t.isCancellationRequested?(s.dispose(),new Cv([])):s})}mn.registerCommand("_executeLinkProvider",async(o,...e)=>{let[t,i]=e;Wi(t instanceof on),typeof i!="number"&&(i=0);const{linkProvider:n}=o.get(Lt),s=o.get(Vs).getModel(t);if(!s)return[];const r=await xN(n,s,gi.None);if(!r)return[];for(let c=0;c<Math.min(i,r.links.length);c++)await r.links[c].resolve(gi.None);const a=r.links.slice(0);return r.dispose(),a});var _$=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(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)}},nx,Od;let dp=(Od=class extends je{static get(e){return e.getContribution(nx.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 ls(()=>this.computeLinksNow(),1e3)),this.computePromise=null,this.activeLinksList=null,this.currentOccurrences={},this.activeLinkDecorationId=null;const r=this._register(new pw(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=fs(t=>xN(this.providers,e,t));try{const t=new ho(!1);if(this.activeLinksList=await this.computePromise,this.debounceInformation.update(e,t.elapsed()),e.isDisposed())return;this.updateDecorations(this.activeLinksList.links)}catch(t){dn(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(Su.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 Su(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(gi.None).then(s=>{if(typeof s=="string"&&this.editor.hasModel()){const r=this.editor.getModel().uri;if(r.scheme===qs.file&&s.startsWith(`${qs.file}:`)){const a=on.parse(s);if(a.scheme===qs.file){const c=O2(a);let h=null;c.startsWith("/./")||c.startsWith("\\.\\")?h=`.${c.substr(1)}`:(c.startsWith("//./")||c.startsWith("\\\\.\\"))&&(h=`.${c.substr(2)}`),h&&(s=F2(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.")):dn(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()}},nx=Od,Od.ID="editor.linkDetector",Od);dp=nx=_$([zm(1,zr),zm(2,zs),zm(3,Lt),zm(4,qo)],dp);const jI={general:Li.register({description:"detected-link",stickiness:1,collapseOnReplaceEdit:!0,inlineClassName:"detected-link"}),active:Li.register({description:"detected-link-active",stickiness:1,collapseOnReplaceEdit:!0,inlineClassName:"detected-link-active"})};class Su{static decoration(e,t){return{range:e.range,options:Su._getOptions(e,t,!1)}}static _getOptions(e,t,i){const n={...i?jI.active:jI.general};return n.hoverMessage=v$(e,t),n}constructor(e,t){this.link=e,this.decorationId=t}activate(e,t){e.changeDecorationOptions(this.decorationId,Su._getOptions(this.link,t,!0))}deactivate(e,t){e.changeDecorationOptions(this.decorationId,Su._getOptions(this.link,t,!1))}}function v$(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 Ns("",!0).appendLink(o.url.toString(!0).replace(/ /g,"%20"),i,s).appendMarkdown(` (${n})`)}else return new Ns().appendText(`${i} (${n})`)}class b$ 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);ne(b$);const rL=class rL extends je{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})}))}};rL.ID="editor.contrib.longLinesHelper";let xv=rL;_i(xv.ID,xv,2);const w$=mt("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);mt("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);mt("editor.wordHighlightTextBackground",w$,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 y$=mt("editor.wordHighlightBorder",{light:null,dark:null,hcDark:Yd,hcLight:Yd},w("wordHighlightBorder","Border color of a symbol during read-access, like reading a variable."));mt("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."));mt("editor.wordHighlightTextBorder",y$,w("wordHighlightTextBorder","Border color of a textual occurrence for a symbol."));const S$=mt("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),C$=mt("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),x$=mt("editorOverviewRuler.wordHighlightTextForeground",QE,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),L$=Li.register({description:"word-highlight-strong",stickiness:1,className:"wordHighlightStrong",overviewRuler:{color:os(C$),position:ba.Center},minimap:{color:os(Xb),position:1}}),k$=Li.register({description:"word-highlight-text",stickiness:1,className:"wordHighlightText",overviewRuler:{color:os(x$),position:ba.Center},minimap:{color:os(Xb),position:1}}),I$=Li.register({description:"selection-highlight-overview",stickiness:1,className:"selectionHighlight",overviewRuler:{color:os(QE),position:ba.Center},minimap:{color:os(Xb),position:1}}),D$=Li.register({description:"selection-highlight",stickiness:1,className:"selectionHighlight"}),E$=Li.register({description:"word-highlight",stickiness:1,className:"wordHighlight",overviewRuler:{color:os(S$),position:ba.Center},minimap:{color:os(Xb),position:1}});function P$(o){return o===E_.Write?L$:o===E_.Text?k$:E$}function T$(o){return o?D$:I$}Bb((o,e)=>{const t=o.getColor(H2);t&&e.addRule(`.monaco-editor .selectionHighlight { background-color: ${t.transparent(.5)}; }`)});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},N$=function(o,e){return function(t,i){e(t,i,o)}},sx;function kc(o,e){const t=e.filter(i=>!o.find(n=>n.equals(i)));if(t.length>=1){const i=t.map(s=>`line ${s.viewState.position.lineNumber} column ${s.viewState.position.column}`).join(", "),n=t.length===1?w("cursorAdded","Cursor added: {0}",i):w("cursorsAdded","Cursors added: {0}",i);$u(n)}}class R$ 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:rt.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,A0.addCursorUp(s,r,n)),s.revealTopMostCursor(i.source),kc(r,s.getCursorStates())}}class A$ 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:rt.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,A0.addCursorDown(s,r,n)),s.revealBottomMostCursor(i.source),kc(r,s.getCursorStates())}}class O$ 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:rt.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 Ut(n,s,n,s))}e.endColumn>1&&i.push(new Ut(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),kc(r,s.getCursorStates())}}class F$ 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 Ut(c,i[0].startColumn,c,i[0].endColumn));const r=t._getViewModel(),a=r.getCursorStates();s.length>0&&t.setSelections(s),kc(a,r.getCursorStates())}}class H$ 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 Ut(a,i[0].startColumn,a,i[0].endColumn));const s=t._getViewModel(),r=s.getCursorStates();n.length>0&&t.setSelections(n),kc(r,s.getCursorStates())}}class 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 Ut(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 Ut(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 Ut(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 bb=class bb extends je{static get(e){return e.getContribution(bb.ID)}constructor(e){super(),this._sessionDispose=this._register(new Be),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 Ut(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(!LN(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 Ut(s.range.startLineNumber,s.range.startColumn,s.range.endLineNumber,s.range.endColumn)))}}};bb.ID="editor.contrib.multiCursorController";let mg=bb;class Pg extends we{run(e,t){const i=mg.get(t);if(!i)return;const n=t._getViewModel();if(n){const s=n.getCursorStates(),r=Xs.get(t);if(r)this._run(i,r);else{const a=e.get(li).createInstance(Xs,t);this._run(i,a),a.dispose()}kc(s,n.getCursorStates())}}}class W$ extends Pg{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:rt.MenubarSelectionMenu,group:"3_multi",title:w({key:"miAddSelectionToNextFindMatch",comment:["&& denotes a mnemonic"]},"Add &&Next Occurrence"),order:5}})}_run(e,t){e.addSelectionToNextFindMatch(t)}}class B$ extends Pg{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:rt.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 z$ extends Pg{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:is(2089,2082),weight:100}})}_run(e,t){e.moveSelectionToNextFindMatch(t)}}class V$ extends Pg{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 j$ extends Pg{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:rt.MenubarSelectionMenu,group:"3_multi",title:w({key:"miSelectHighlights",comment:["&& denotes a mnemonic"]},"Select All &&Occurrences"),order:7}})}_run(e,t){e.selectAll(t)}}class U$ extends Pg{constructor(){super({id:"editor.action.changeAll",label:w("changeAll.label","Change All Occurrences"),alias:"Change All Occurrences",precondition:ae.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 $${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 Lv=(Fd=class extends je{constructor(e,t){super(),this._languageFeaturesService=t,this.editor=e,this._isEnabled=e.getOption(109),this._decorations=e.createDecorationsCollection(),this.updateSoon=this._register(new ls(()=>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=Xs.get(e);i&&this._register(i.getState().onFindReplaceStateChange(n=>{this._update()})),this.updateSoon.schedule()}_update(){this._setState(sx._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=mg.get(i);if(!s)return null;const r=Xs.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(!LN(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 $$(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:T$(a)}));this._decorations.set(c)}dispose(){this._setState(null),super.dispose()}},sx=Fd,Fd.ID="editor.contrib.selectionHighlighter",Fd);Lv=sx=M$([N$(1,Lt)],Lv);function LN(o,e,t){const i=UI(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=UI(o,r,!t);if(i!==a)return!1}return!0}function UI(o,e,t){const i=o.getValueInRange(e);return t?i.toLowerCase():i}class q$ 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),kc(s,n.getCursorStates()))}}class K$ 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),kc(s,n.getCursorStates()))}}_i(mg.ID,mg,4);_i(Lv.ID,Lv,1);ne(R$);ne(A$);ne(O$);ne(W$);ne(B$);ne(z$);ne(V$);ne(j$);ne(U$);ne(F$);ne(H$);ne(q$);ne(K$);const G$="editor.action.inlineEdit.accept",Z$="editor.action.inlineEdit.reject",X$="editor.action.inlineEdit.jumpTo",Y$="editor.action.inlineEdit.jumpBack";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},Q$=function(o,e){return function(t,i){e(t,i,o)}};const Iy="inline-edit";let ox=class extends je{constructor(e,t,i){super(),this.editor=e,this.model=t,this.languageService=i,this.isDisposed=Io(this,!1),this.currentTextModel=so(this,this.editor.onDidChangeModel,()=>this.editor.getModel()),this.uiState=Xi(this,n=>{var E;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=(E=this.model.range)==null?void 0:E.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,z){if(f.length>0){const O=f[f.length-1];z&&O.decorations.push(new $f(O.content.length+1,O.content.length+1+N[0].length,z,0)),O.content+=N[0],N=N.slice(1)}for(const O of N)f.push({content:O,decorations:z?[new $f(1,O.length+1,z,0)]:[]})}const v=s.getLineContent(r.lineNumber);let _,y=0;if(!h&&(c||!a)){for(const N of r.parts){let z=N.lines;a&&!c&&(p(z,Iy),z=[]),_===void 0?(g.push({column:N.column,text:z[0],preview:N.preview}),z=z.slice(1)):p([v.substring(y,N.column-1)],void 0),z.length>0&&(p(z,Iy),_===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 rN(_,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:F0})}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:H0})}for(const a of s.inlineTexts)r.push({range:B.fromPositions(new xt(s.lineNumber,a.column)),options:{description:Iy,after:{content:a.text,inlineClassName:a.preview?"inline-edit-decoration-preview":"inline-edit-decoration",cursorStops:nu.Left},showIfCollapsed:!0}});return r}),this._register(yn(()=>{this.isDisposed.set(!0,void 0)})),this._register(aN(this.editor,this.decorations))}};ox=J$([Q$(2,jr)],ox);var A1=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(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 rx=class extends je{constructor(e,t,i){super(),this.editor=e,this.model=t,this.instantiationService=i,this.alwaysShowToolbar=so(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 xt(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(ax,this.editor,!0,this.position));e.addContentWidget(a),s.add(yn(()=>e.removeContentWidget(a)))}))}};rx=A1([ca(2,li)],rx);var uc;let ax=(uc=class extends je{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(rt.InlineEditActions,this._contextKeyService)),this.toolBar=this._register(n.createInstance(lx,this.nodes.toolBar,this.editor,rt.InlineEditToolbar,{menuOptions:{renderShortTitle:!0},toolbarOptions:{primaryGroup:a=>a.startsWith("primary")},actionViewItemProvider:(a,c)=>{if(a instanceof Zu)return n.createInstance(e5,a,void 0)},telemetrySource:"InlineEditToolbar"})),this._register(this.toolBar.onDidChangeDropdownVisibility(a=>{g_._dropDownVisible=a})),this._register(Fn(a=>{this._position.read(a),this.editor.layoutContentWidget(this)})),this._register(Fn(a=>{const c=[];for(const[h,g]of this.inlineCompletionsActionsMenus.getActions())for(const f of g)f instanceof Zu&&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_=uc,uc._dropDownVisible=!1,uc.id=0,uc);ax=g_=A1([ca(3,li),ca(4,Fi),ca(5,mh)],ax);class e5 extends iE{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 v0(t,b0,{disableTitle:!0,...nE})).set(e),this.label.textContent=this._action.label,this.label.appendChild(t),this.label.classList.add("inlineEditStatusBarItemLabel")}}updateTooltip(){}}let lx=class extends sE{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=[];L0(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())}};lx=A1([ca(4,mh),ca(5,Fi),ca(6,bg),ca(7,ns),ca(8,us),ca(9,Vr)],lx);var kN=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(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)}},af,cx;function*t5(o,e,t=1){e===void 0&&([e,o]=[o,0]);for(let i=o;i<e;i+=t)yield i}function Dy(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 dx=(Hd=class extends je{static _createUniqueUri(){return on.from({scheme:"inline-edit-widget",path:new Date().toString()+String(af._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(t5(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 xt(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=Dy(a.text.split(`
58
+ `));return{text:c.text.join(`
59
+ `),shift:c.shift}}),this._originalModel=_c(()=>this._modelService.createModel("",null,af._createUniqueUri())).keepObserved(this._store),this._modifiedModel=_c(()=>this._modelService.createModel("",null,af._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=Dy(c.getValueInRange(a.range).split(`
60
+ `)).text.join(`
61
+ `),g=Dy(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 eP.fromFn(async()=>{const p=await f.computeDiff(this._originalModel.get(),this._modifiedModel.get(),{computeMoves:!1,ignoreTrimWhitespace:!1,maxComputationTimeMs:1e3},gi.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(hx,this._editor,this._position,this._text.map(g=>g.text),this._text.map(g=>g.shift),this._diff));e.addOverlayWidget(h),a.add(yn(()=>e.removeOverlayWidget(h)))}))}},af=Hd,Hd._modelId=0,Hd);dx=af=kN([f_(2,li),f_(3,W0),f_(4,Vs)],dx);var Wd;let hx=(Wd=class extends je{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${cx.id++}`,this.allowEditorOverflow=!1,this._nodes=pt("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(zl,"",((a=this._editor.getModel())==null?void 0:a.getLanguageId())??jf,zl.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:H0}),y.modified.isEmpty||p.push({range:y.modified.toInclusiveRange(),options:tP}),y.modified.isEmpty||y.original.isEmpty)y.original.isEmpty||f.push({range:_(y.original.toInclusiveRange()),options:iP}),y.modified.isEmpty||p.push({range:y.modified.toInclusiveRange(),options:nP});else for(const S of y.innerChanges||[])y.original.contains(S.originalRange.startLineNumber)&&f.push({range:_(S.originalRange),options:S.originalRange.isEmpty()?sP:F0}),y.modified.contains(S.modifiedRange.startLineNumber)&&p.push({range:S.modifiedRange,options:S.modifiedRange.isEmpty()?oP:rP});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(Fn(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(Fn(c=>{this._position.read(c),this._editor.layoutOverlayWidget(this)})),this._register(Fn(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 xt(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}}}},cx=Wd,Wd.id=0,Wd);hx=cx=kN([f_(5,li)],hx);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},Rc=function(o,e){return function(t,i){e(t,i,o)}},lf,zo;let Fs=(zo=class extends je{static get(e){return e.getContribution(lf.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=lf.inlineEditVisibleContext.bindTo(this.contextKeyService),this._isCursorAtInlineEditContext=lf.cursorAtInlineEditContext.bindTo(this.contextKeyService),this._currentEdit=Io(this,void 0),this._currentWidget=_c(this._currentEdit,_=>{const y=this._currentEdit.read(_);if(!y)return;const S=y.range.endLineNumber,D=y.range.endColumn,E=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 sv(D,E,!1)]),z=y.range.startLineNumber===y.range.endLineNumber&&N.parts.length===1&&N.parts[0].lines.length===1,O=y.text==="";return!z&&!O?void 0:this.instantiationService.createInstance(ox,this.editor,{ghostText:Ga(N),minReservedLineCount:Ga(0),targetTextModel:Ga(this.editor.getModel()??void 0),range:Ga(y.range)})}),this._isAccepting=Io(this,!1),this._enabled=so(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(63).enabled),this._fontFamily=so(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(63).fontFamily);const h=td("InlineEditController.modelContentChangedSignal",e.onDidChangeModelContent);this._register(Fn(_=>{this._enabled.read(_)&&(h.read(_),!this._isAccepting.read(_)&&this.getInlineEdit(e,!0))}));const g=so(this,e.onDidChangeCursorPosition,()=>e.getPosition());this._register(Fn(_=>{if(!this._enabled.read(_))return;const y=g.read(_);y&&this.checkCursorPosition(y)})),this._register(Fn(_=>{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(Fn(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(Fn(_=>{this._enabled.read(_)&&(p.read(_),this.getInlineEdit(e,!0))}));const v=this._register(EE());this._register(Fn(_=>{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 rx(this.editor,this._currentWidget,this.instantiationService)),this._register(new dx(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 ps;const a=this._currentRequestCts.token,c=t?tk.Automatic:tk.Invoke;if(t&&await n5(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",[zn.replace(B.lift(e.range),t)]),e.accepted&&await this._commandService.executeCommand(e.accepted.id,...e.accepted.arguments||[]).then(void 0,Jn),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=xt.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,Jn),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)}},lf=zo,zo.ID="editor.contrib.inlineEditController",zo.inlineEditVisibleKey="inlineEditVisible",zo.inlineEditVisibleContext=new Pi(zo.inlineEditVisibleKey,!1),zo.cursorAtInlineEditKey="cursorAtInlineEdit",zo.cursorAtInlineEditContext=new Pi(zo.cursorAtInlineEditKey,!1),zo);Fs=lf=i5([Rc(1,li),Rc(2,Fi),Rc(3,Lt),Rc(4,us),Rc(5,Cn),Rc(6,W0),Rc(7,Vs)],Fs);function n5(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 s5=class extends we{constructor(){super({id:G$,label:"Accept Inline Edit",alias:"Accept Inline Edit",precondition:ae.and(M.writable,Fs.inlineEditVisibleContext),kbOpts:[{weight:101,primary:2,kbExpr:ae.and(M.writable,Fs.inlineEditVisibleContext,Fs.cursorAtInlineEditContext)}],menuOpts:[{menuId:rt.InlineEditToolbar,title:"Accept",group:"primary",order:1}]})}async run(e,t){const i=Fs.get(t);await(i==null?void 0:i.accept())}};class o5 extends we{constructor(){const e=ae.and(M.writable,ae.not(Fs.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=Fs.get(t);i==null||i.trigger()}}class r5 extends we{constructor(){const e=ae.and(M.writable,Fs.inlineEditVisibleContext,ae.not(Fs.cursorAtInlineEditKey));super({id:X$,label:"Jump to Inline Edit",alias:"Jump to Inline Edit",precondition:e,kbOpts:{weight:101,primary:2646,kbExpr:e},menuOpts:[{menuId:rt.InlineEditToolbar,title:"Jump To Edit",group:"primary",order:3,when:e}]})}async run(e,t){const i=Fs.get(t);i==null||i.jumpToCurrent()}}class a5 extends we{constructor(){const e=ae.and(M.writable,Fs.cursorAtInlineEditContext);super({id:Y$,label:"Jump Back from Inline Edit",alias:"Jump Back from Inline Edit",precondition:e,kbOpts:{weight:110,primary:2646,kbExpr:e},menuOpts:[{menuId:rt.InlineEditToolbar,title:"Jump Back",group:"primary",order:3,when:e}]})}async run(e,t){const i=Fs.get(t);i==null||i.jumpBack()}}class l5 extends we{constructor(){const e=ae.and(M.writable,Fs.inlineEditVisibleContext);super({id:Z$,label:"Reject Inline Edit",alias:"Reject Inline Edit",precondition:e,kbOpts:{weight:100,primary:9,kbExpr:e},menuOpts:[{menuId:rt.InlineEditToolbar,title:"Reject",group:"secondary",order:2}]})}async run(e,t){const i=Fs.get(t);await(i==null?void 0:i.clear())}}ne(s5);ne(l5);ne(r5);ne(a5);ne(o5);_i(Fs.ID,Fs,3);const c5="editor.action.inlineEdits.accept",d5="editor.action.inlineEdits.showPrevious",h5="editor.action.inlineEdits.showNext",_g=new Pi("inlineEditsVisible",!1,w("inlineEditsVisible","Whether an inline edit is visible")),u5=new Pi("inlineEditsIsPinned",!1,w("isPinned","Whether an inline edit is visible")),aL=class aL extends je{constructor(e){super(),this._editor=e,this._editorObs=ha(this._editor),this._placeholderText=this._editorObs.getOption(88),this._state=qa({owner:this,equalsFn:aP},t=>{const i=this._placeholderText.read(t);if(i&&this._editorObs.valueIsEmpty.read(t))return{placeholder:i}}),this._shouldViewBeAlive=g5(this,t=>{var i;return((i=this._state.read(t))==null?void 0:i.placeholder)!==void 0}),this._view=oE((t,i)=>{if(!this._shouldViewBeAlive.read(t))return;const n=rr("div.editorPlaceholder");i.add(Fn(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(Fn(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(Fn(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)}};aL.ID="editor.contrib.placeholderText";let up=aL;function g5(o,e){return Vb(o,(t,i)=>i===!0?!0:e(t))}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},p5=function(o,e){return function(t,i){e(t,i,o)}};class m5{constructor(e,t,i){this.range=e,this.newLines=t,this.changes=i}}let ux=class extends je{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"}})]),Nh("svg",{style:{overflow:"visible",pointerEvents:"none"}},[Nh("defs",[Nh("linearGradient",{id:"Gradient2",x1:"0",y1:"0",x2:"1",y2:"0"},[Nh("stop",{offset:"0%",class:"gradient-stop"}),Nh("stop",{offset:"100%",class:"gradient-stop"})])]),Nh("path@path",{d:"",fill:"url(#Gradient2)"})])]),this._previewTextModel=this._register(this._instantiationService.createInstance(zl,"",jf,zl.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(zl,"",jf,zl.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:W2},{contributions:B2.getSomeEditorContributions([cr.ID,up.ID,cg.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:H0}),f.modified.isEmpty||h.push({range:f.modified.toInclusiveRange(),options:tP}),f.modified.isEmpty||f.original.isEmpty)f.original.isEmpty||c.push({range:f.original.toInclusiveRange(),options:iP}),f.modified.isEmpty||h.push({range:f.modified.toInclusiveRange(),options:nP});else for(const p of f.innerChanges||[])f.original.contains(p.originalRange.startLineNumber)&&c.push({range:p.originalRange,options:p.originalRange.isEmpty()?sP:F0}),f.modified.contains(p.modifiedRange.startLineNumber)&&h.push({range:p.modifiedRange,options:p.modifiedRange.isEmpty()?oP:rP});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 hu(g,f),_=new hu(g,p),y=p-f,S=50,D=this._editor.getOption(67)*a.newLines.length,E=y-D,N=new hu(g+S,f+E/2),z=new hu(g+S,p-E/2);return{topCode:v,bottomCode:_,codeHeight:y,topEdit:N,bottomEdit:z,editHeight:D}});const s=Xi(this,r=>this._edit.read(r)!==void 0||this._userPrompt.read(r)!==void 0);this._register(z2(this._elements.root,{display:Xi(this,r=>s.read(r)?"block":"none")})),this._register(V2(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(Fn(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 v5().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(b5(_5(this._userPrompt,r=>r??"",r=>r),ha(this._promptEditor).value)),this._register(Fn(r=>{const a=ha(this._promptEditor).isFocused.read(r);this._elements.root.classList.toggle("focused",a)}))}};ux=f5([p5(3,li)],ux);function _5(o,e,t){return lP(void 0,i=>e(o.read(i)),(i,n)=>o.set(t(i),n))}class hu{constructor(e,t){this.x=e,this.y=t}deltaX(e){return new hu(this.x+e,this.y)}}class v5{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 b5(o,e){const t=new Be;return t.add(Fn(i=>{const n=o.read(i);e.set(n,void 0)})),t.add(Fn(i=>{const n=e.read(i);o.set(n,void 0)})),t}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},Ey=function(o,e){return function(t,i){e(t,i,o)}},cf,Bd;let gx=(Bd=class extends je{static _createUniqueUri(){return on.from({scheme:"inline-edits",path:new Date().toString()+String(cf._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=M0(this),this._selectedInlineCompletionId=Io(this,void 0),this._isActive=Io(this,!1),this._originalModel=_c(()=>this._modelService.createModel("",null,cf._createUniqueUri())).keepObserved(this._store),this._modifiedModel=_c(()=>this._modelService.createModel("",null,cf._createUniqueUri())).keepObserved(this._store),this._pinnedRange=new S5(this.textModel,this._textModelVersionId),this.isPinned=this._pinnedRange.range.map(c=>!!c),this.userPrompt=Io(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 E;const D=((E=S[0].match(/^\s*/))==null?void 0:E[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 eP.fromFn(async()=>{const S=await y.computeDiff(this._originalModel.get(),this._modifiedModel.get(),{computeMoves:!1,ignoreTrimWhitespace:!1,maxComputationTimeMs:1e3},gi.None);if(!S.identical)return new m5(j2.fromRangeInclusive(g),p(f),S.changes)})}),this._fetchStore=this._register(new Be),this._inlineEditsFetchResult=Zy(this,void 0),this._inlineEdits=qa({owner:this,equalsFn:aP},c=>{var h;return((h=this._inlineEditsFetchResult.read(c))==null?void 0:h.completions.map(g=>new y5(g)))??[]}),this._fetchInlineEditsPromise=HE({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=Yy(this._fetchStore);await Zb(200,v);const _=await lN(this.languageFeaturesService.inlineCompletionsProvider,f,this.textModel,p,v);v.isCancellationRequested||this._inlineEditsFetchResult.set(_,void 0)}),this._filteredInlineEditItems=qa({owner:this,equalsFn:Xy()},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(WE(this._fetchInlineEditsPromise))}async triggerExplicitly(e){k_(e,t=>{this._isActive.set(!0,t),this._forceUpdateExplicitlySignal.trigger(t)}),await this._fetchInlineEditsPromise.get()}stop(e){k_(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 Xu;const t=this.selectedInlineEdit.get();t&&(e.pushUndoStop(),e.executeEdits("inlineSuggestion.accept",[t.inlineCompletion.toSingleTextEdit().toSingleEditOperation()]),this.stop())}},cf=Bd,Bd._modelId=0,Bd);gx=cf=w5([Ey(4,Lt),Ey(5,W0),Ey(6,Vs)],gx);class y5{constructor(e){this.inlineCompletion=e,this.semanticId=this.inlineCompletion.hash()}}class S5 extends je{constructor(e,t){super(),this._textModel=e,this._versionId=t,this._decorations=Io(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(yn(()=>{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 C5=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(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)}},fx,zd;let hl=(zd=class extends je{static get(e){return e.getContribution(fx.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=U2("editor.inlineEdits.enabled",!1,this._configurationService),this._editorObs=ha(this.editor),this._selection=Xi(this,a=>this._editorObs.cursorSelection.read(a)??new Ut(1,1,1,1)),this._debounceValue=this._debounceService.for(this._languageFeaturesService.inlineCompletionsProvider,"InlineEditsDebounce",{min:50,max:50}),this.model=_c(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(Jy(gx,a),c,this._editorObs.versionId,this._selection,this._debounceValue):void 0}),this._hadInlineEdit=Vb(this,(a,c)=>{var h;return c||((h=this.model.read(a))==null?void 0:h.inlineEdit.read(a))!==void 0}),this._widget=_c(this,a=>{if(this._hadInlineEdit.read(a))return this._instantiationService.createInstance(Jy(ux,a),this.editor,this.model.map((c,h)=>c==null?void 0:c.inlineEdit.read(h)),x5(c=>{var h;return((h=this.model.read(c))==null?void 0:h.userPrompt)??Io("empty","")}))}),this._register(ik(_g,this._contextKeyService,a=>{var c;return!!((c=this.model.read(a))!=null&&c.inlineEdit.read(a))})),this._register(ik(u5,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)}},fx=zd,zd.ID="editor.contrib.inlineEditsController",zd);hl=fx=C5([qg(1,li),qg(2,Fi),qg(3,qo),qg(4,Lt),qg(5,Cn)],hl);function x5(o){return lP(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 wb=class wb extends we{constructor(){super({id:wb.ID,...sm(St("action.inlineEdits.showNext","Show Next Inline Edit")),precondition:ae.and(M.writable,_g),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()}};wb.ID=h5;let px=wb;const yb=class yb extends we{constructor(){super({id:yb.ID,...sm(St("action.inlineEdits.showPrevious","Show Previous Inline Edit")),precondition:ae.and(M.writable,_g),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()}};yb.ID=d5;let mx=yb;class L5 extends we{constructor(){super({id:"editor.action.inlineEdits.trigger",...sm(St("action.inlineEdits.trigger","Trigger Inline Edit")),precondition:M.writable})}async run(e,t){const i=hl.get(t);await ZE(async n=>{var s;await((s=i==null?void 0:i.model.get())==null?void 0:s.triggerExplicitly(n))})}}class k5 extends we{constructor(){super({id:c5,...sm(St("action.inlineEdits.accept","Accept Inline Edit")),precondition:_g,menuOpts:{menuId:rt.InlineEditsActions,title:w("inlineEditsActions","Accept Inline Edit"),group:"primary",order:1,icon:Zt.check},kbOpts:{primary:2058,weight:2e4,kbExpr:_g}})}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 Sb=class Sb extends we{constructor(){super({id:Sb.ID,...sm(St("action.inlineEdits.hide","Hide Inline Edit")),precondition:_g,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)})}};Sb.ID="editor.action.inlineEdits.hide";let _x=Sb;_i(hl.ID,hl,3);ne(L5);ne(px);ne(mx);ne(k5);ne(_x);const uh={Visible:new Pi("parameterHintsVisible",!1),MultipleSignatures:new Pi("parameterHintsMultipleSignatures",!1)};async function IN(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){Jn(a)}}mn.registerCommand("_executeSignatureHelpProvider",async(o,...e)=>{const[t,i,n]=e;Wi(on.isUri(t)),Wi(xt.isIPosition(i)),Wi(typeof n=="string"||!n);const s=o.get(Lt),r=await o.get(Ur).createModelReference(t);try{const a=await IN(s.signatureHelpProvider,r.object.textEditorModel,xt.lift(i),{triggerKind:Zl.Invoke,isRetrigger:!1,triggerCharacter:n},gi.None);return a?(setTimeout(()=>a.dispose(),0),a.value):void 0}finally{r.dispose()}});var Ml;(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})(Ml||(Ml={}));const Cb=class Cb extends je{constructor(e,t,i=Cb.DEFAULT_DELAY){super(),this._onChangedHints=this._register(new ui),this.onChangedHints=this._onChangedHints.event,this.triggerOnType=!1,this._state=Ml.Default,this._pendingTriggers=[],this._lastSignatureHelpResult=this._register(new Eo),this.triggerChars=new x_,this.retriggerChars=new x_,this.triggerId=0,this.editor=e,this.providers=t,this.throttledDelayer=new mc(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=Ml.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(dn)}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 Ml.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(I5);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 Ml.Pending(fs(c=>IN(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 Ml.Active(c.value),this._lastSignatureHelpResult.value=c,this._onChangedHints.fire(this.state.hints),!0)}catch(c){return e===this.triggerId&&(this.state=Ml.Default),dn(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:Zl.TriggerCharacter,triggerCharacter:e.charAt(t)})}onCursorChange(e){e.source==="mouse"?this.cancel():this.isTriggered&&this.trigger({triggerKind:Zl.ContentChange})}onModelContentChange(){this.isTriggered&&this.trigger({triggerKind:Zl.ContentChange})}onEditorConfigurationChange(){this.triggerOnType=this.editor.getOption(86).enabled,this.triggerOnType||this.cancel()}dispose(){this.cancel(!0),super.dispose()}};Cb.DEFAULT_DELAY=120;let vx=Cb;function I5(o,e){switch(e.triggerKind){case Zl.Invoke:return e;case Zl.ContentChange:return o;case Zl.TriggerCharacter:default:return e}}var D5=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(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)}},bx;const bo=pt,E5=Xn("parameter-hints-next",Zt.chevronDown,w("parameterHintsNextIcon","Icon for show next parameter hint.")),P5=Xn("parameter-hints-previous",Zt.chevronUp,w("parameterHintsPreviousIcon","Icon for show previous parameter hint."));var Vd;let wx=(Vd=class extends je{constructor(e,t,i,n,s,r){super(),this.editor=e,this.model=t,this.telemetryService=r,this.renderDisposeables=this._register(new Be),this.visible=!1,this.announcedLabel=null,this.allowEditorOverflow=!0,this.markdownRenderer=this._register(new Cg({editor:e},s,n)),this.keyVisible=uh.Visible.bindTo(i),this.keyMultipleSignatures=uh.MultipleSignatures.bindTo(i)}createParameterHintDOMNodes(){const e=bo(".editor-widget.parameter-hints-widget"),t=lt(e,bo(".phwrapper"));t.tabIndex=-1;const i=lt(t,bo(".controls")),n=lt(i,bo(".button"+qi.asCSSSelector(P5))),s=lt(i,bo(".overloads")),r=lt(i,bo(".button"+qi.asCSSSelector(E5)));this._register(Oi(n,"click",p=>{C_.stop(p),this.previous()})),this._register(Oi(r,"click",p=>{C_.stop(p),this.next()}));const a=bo(".body"),c=new jE(a,{alwaysConsumeMouseWheel:!0});this._register(c),t.appendChild(c.getDomNode());const h=lt(a,bo(".signature")),g=lt(a,bo(".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",x0.fontFamily)};f(),this._register(as.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=lt(this.domNodes.signature,bo(".code")),s=i.parameters.length>0,r=i.activeParameter??e.activeParameter;if(s)this.renderParameters(n,i,r);else{const h=lt(n,bo("span"));h.textContent=i.label}const a=i.parameters[r];if(a!=null&&a.documentation){const h=bo("span.documentation");if(typeof a.documentation=="string")h.textContent=a.documentation;else{const g=this.renderMarkdownDocs(a.documentation);h.appendChild(g.element)}lt(this.domNodes.docs,bo("p",{},h))}if(i.documentation!==void 0)if(typeof i.documentation=="string")lt(this.domNodes.docs,bo("p",{},i.documentation));else{const h=this.renderMarkdownDocs(i.documentation);lt(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 ho,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"&&su(t.documentation).length>0||t&&typeof t.documentation=="object"&&su(t.documentation).value.length>0||e.documentation&&typeof e.documentation=="string"&&su(e.documentation).length>0||e.documentation&&typeof e.documentation=="object"&&su(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),lt(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 bx.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)}},bx=Vd,Vd.ID="editor.widget.parameterHintsWidget",Vd);wx=bx=D5([jm(2,Fi),jm(3,zr),jm(4,jr),jm(5,Vr)],wx);mt("editorHoverWidget.highlightForeground",KE,w("editorHoverWidgetHighlightForeground","Foreground color of the active item in the parameter hint."));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},$I=function(o,e){return function(t,i){e(t,i,o)}},yx,jd;let vg=(jd=class extends je{static get(e){return e.getContribution(yx.ID)}constructor(e,t,i){super(),this.editor=e,this.model=this._register(new vx(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 m0(()=>this._register(t.createInstance(wx,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)}},yx=jd,jd.ID="editor.controller.parameterHints",jd);vg=yx=T5([$I(1,li),$I(2,Lt)],vg);class M5 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=vg.get(t);i==null||i.trigger({triggerKind:Zl.Invoke})}}_i(vg.ID,vg,2);ne(M5);const O1=175,F1=Js.bindToContribution(vg.get);Et(new F1({id:"closeParameterHints",precondition:uh.Visible,handler:o=>o.cancel(),kbOpts:{weight:O1,kbExpr:M.focus,primary:9,secondary:[1033]}}));Et(new F1({id:"showPrevParameterHint",precondition:ae.and(uh.Visible,uh.MultipleSignatures),handler:o=>o.previous(),kbOpts:{weight:O1,kbExpr:M.focus,primary:16,secondary:[528],mac:{primary:16,secondary:[528,302]}}}));Et(new F1({id:"showNextParameterHint",precondition:ae.and(uh.Visible,uh.MultipleSignatures),handler:o=>o.next(),kbOpts:{weight:O1,kbExpr:M.focus,primary:18,secondary:[530],mac:{primary:18,secondary:[530,300]}}}));var N5=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},R5=function(o,e){return function(t,i){e(t,i,o)}};class A5{constructor(e){this.instantiationService=e}init(...e){}}function O5(o,e){return class extends e{constructor(){super(...arguments),this._autorun=void 0}init(...i){this._autorun=Fp((n,s)=>{const r=Jy(o(),n);s.add(this.instantiationService.createInstance(r,...i))})}dispose(){var i;(i=this._autorun)==null||i.dispose()}}}function F5(o){return $2()?O5(o,Sx):o()}let Sx=class extends A5{constructor(e,t){super(t),this.init(e)}};Sx=N5([R5(1,li)],Sx);_i(up.ID,F5(()=>up),0);mt("editor.placeholder.foreground",q2,w("placeholderForeground","Foreground color of the placeholder text in the editor."));var H5=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(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 Tg=new Pi("renameInputVisible",!1,w("renameInputVisible","Whether the rename input widget is visible"));new Pi("renameInputFocused",!1,w("renameInputFocused","Whether the rename input widget is focused"));let Cx=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 Be,this._visibleContextKey=Tg.bindTo(s),this._isEditingRenameCandidate=!1,this._nRenameSuggestionsInvocations=0,this._hadAutomaticRenameSuggestionsInvocation=!1,this._candidates=new Set,this._beforeFirstInputFieldEditSW=new ho,this._inputWithButton=new W5,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 H1(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(K2),i=e.getColor(G2);this._domNode.style.backgroundColor=String(e.getColor(UE)??""),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(Z2)??"");const n=e.getColor(X2);this._inputWithButton.domNode.style.backgroundColor=String(e.getColor(nk)??""),this._inputWithButton.input.style.backgroundColor=String(e.getColor(nk)??""),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;Wi(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=Gs(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;Wi(this._renameCandidateListView),Wi(this._nPxAvailableAbove!==void 0),Wi(this._nPxAvailableBelow!==void 0);const t=iu(this._inputWithButton.domNode),i=iu(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 Be;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,Hn.KEY_DOWN,g=>{const f=new B0(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 xt(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(yn(()=>{this._renameCts=void 0,s.dispose(!0)})),c.add(yn(()=>{this._renameCandidateProvidersCts!==void 0&&(this._renameCandidateProvidersCts.dispose(!0),this._renameCandidateProvidersCts=void 0)})),c.add(yn(()=>this._candidates.clear()));const h=new Fb;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"),Wi(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),Wi(this._renameCts),this._inputWithButton.buttonState!=="stop")){this._renameCandidateProvidersCts=new ps;const i=t?Qy.Invoke:Qy.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){Wi(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=ZD(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)}};Cx=H5([Um(2,mr),Um(3,ns),Um(4,Fi),Um(5,vh)],Cx);class H1{constructor(e,t){this._disposables=new Be,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=H1._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(GE({listInactiveFocusForeground:$E,listInactiveFocusBackground:qE}))}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`,$u(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 w0("NewSymbolNameCandidates",e,n,[s],{keyboardSupport:!1,mouseSupport:!0,multipleSelectionSupport:!1})}}class W5{constructor(){this._onDidInputChange=new ui,this.onDidInputChange=this._onDidInputChange.event,this._disposables=new Be}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=Y2().setupManagedHover(Kb("element"),this._buttonNode,this._buttonGenHoverText),this._disposables.add(this._buttonHover),this._domNode.appendChild(this._buttonNode),this._disposables.add(Oi(this.input,Hn.INPUT,()=>this._onDidInputChange.fire())),this._disposables.add(Oi(this.input,Hn.KEY_DOWN,e=>{const t=new B0(e);(t.keyCode===15||t.keyCode===17)&&this._onDidInputChange.fire()})),this._disposables.add(Oi(this.input,Hn.CLICK,()=>this._onDidInputChange.fire())),this._disposables.add(Oi(this.input,Hn.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,Hn.BLUR,()=>{this.domNode.style.outline="none"}))),this._domNode}get input(){return Wi(this._inputNode),this._inputNode}get button(){return Wi(this._buttonNode),this._buttonNode}get buttonState(){return this._buttonState}setSparkleButton(){var e;this._buttonState="sparkle",this._sparkleIcon??(this._sparkleIcon=eS(Zt.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=eS(Zt.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=eS(Zt.sparkle),this._icon.style.display="none",i.appendChild(this._icon),this._label=document.createElement("div"),AE(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(J2.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 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},El=function(o,e){return function(t,i){e(t,i,o)}},xx;class W1{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 z5(o,e,t,i){const n=new W1(e,t,o),s=await n.resolveRenameLocation(gi.None);return s!=null&&s.rejectReason?{edits:[],rejectReason:s.rejectReason}:n.provideRenameEdits(i,gi.None)}var Ud;let Sc=(Ud=class{static get(e){return e.getContribution(xx.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 Be,this._cts=new ps,this._renameWidget=this._disposableStore.add(this._instaService.createInstance(Cx,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 ps,!this.editor.hasModel()){e("editor has no model");return}const t=this.editor.getPosition(),i=new W1(this.editor.getModel(),t,this._languageFeaturesService.renameProvider);if(!i.hasProvider()){e("skeleton has no provider");return}const n=new ju(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 Hb?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))&&((_=ao.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=ao.get(this.editor))==null||y.showMessage(s.rejectReason,t);return}if(n.token.isCancellationRequested){e("returning early - cts1 cancelled");return}const r=new ju(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 E=h.slice();return S===Qy.Automatic&&(E=E.filter(([N,z])=>z)),E.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)}},xx=Ud,Ud.ID="editor.contrib.renameController",Ud);Sc=xx=B5([El(1,li),El(2,zs),El(3,Ab),El(4,Np),El(5,vh),El(6,Q2),El(7,Lt),El(8,Vr)],Sc);class V5 extends we{constructor(){super({id:"editor.action.rename",label:w("rename.label","Rename Symbol"),alias:"Rename Symbol",precondition:ae.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(Qn),[n,s]=Array.isArray(t)&&t||[void 0,void 0];return on.isUri(n)&&xt.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))))},dn):super.runCommand(e,t)}run(e,t){const i=e.get(vh),n=Sc.get(t);return n?(i.trace("[RenameAction] got controller, running..."),n.run()):(i.trace("[RenameAction] returning early - controller missing"),Promise.resolve())}}_i(Sc.ID,Sc,4);ne(V5);const B1=Js.bindToContribution(Sc.get);Et(new B1({id:"acceptRenameInput",precondition:Tg,handler:o=>o.acceptRenameInput(!1),kbOpts:{weight:199,kbExpr:ae.and(M.focus,ae.not("isComposing")),primary:3}}));Et(new B1({id:"acceptRenameInputWithPreview",precondition:ae.and(Tg,ae.has("config.editor.rename.enablePreview")),handler:o=>o.acceptRenameInput(!0),kbOpts:{weight:199,kbExpr:ae.and(M.focus,ae.not("isComposing")),primary:2051}}));Et(new B1({id:"cancelRenameInput",precondition:Tg,handler:o=>o.cancelRenameInput(),kbOpts:{weight:199,kbExpr:M.focus,primary:9,secondary:[1033]}}));Ji(class extends Ys{constructor(){super({id:"focusNextRenameSuggestion",title:{...St("focusNextRenameSuggestion","Focus Next Rename Suggestion")},precondition:Tg,keybinding:[{primary:18,weight:199}]})}run(e){const t=e.get(Qn).getFocusedCodeEditor();if(!t)return;const i=Sc.get(t);i&&i.focusNextRenameSuggestion()}});Ji(class extends Ys{constructor(){super({id:"focusPreviousRenameSuggestion",title:{...St("focusPreviousRenameSuggestion","Focus Previous Rename Suggestion")},precondition:Tg,keybinding:[{primary:16,weight:199}]})}run(e){const t=e.get(Qn).getFocusedCodeEditor();if(!t)return;const i=Sc.get(t);i&&i.focusPreviousRenameSuggestion()}});Qs("_executeDocumentRenameProvider",function(o,e,t,...i){const[n]=i;Wi(typeof n=="string");const{renameProvider:s}=o.get(Lt);return z5(s,e,t,n)});Qs("_executePrepareRename",async function(o,e,t){const{renameProvider:i}=o.get(Lt),s=await new W1(e,t,i).resolveRenameLocation(gi.None);if(s!=null&&s.rejectReason)throw new Error(s.rejectReason);return s});Br.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 j5=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},qI=function(o,e){return function(t,i){e(t,i,o)}},Hu;let kv=(Hu=class extends je{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 ls(()=>{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=>U5(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()}},Hu.ID="editor.sectionHeaderDetector",Hu);kv=j5([qI(1,gs),qI(2,ml)],kv);function U5(o){return{range:o.range,options:Li.createDynamic({description:"section-header",stickiness:3,collapseOnReplaceEdit:!0,minimap:{color:void 0,position:1,sectionHeaderStyle:o.hasSeparatorLine?2:1,sectionHeaderText:o.text}})}}_i(kv.ID,kv,1);function $5(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 q5(o){const e=new Uint8Array(o.buffer,o.byteOffset,o.length*4);return eF()||$5(e),tF.wrap(e)}function DN(o){const e=new Uint32Array(K5(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 q5(e)}function K5(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 Lw(o){return o&&!!o.data}function EN(o){return o&&Array.isArray(o.edits)}class G5{constructor(e,t,i){this.provider=e,this.tokens=t,this.error=i}}function PN(o,e){return o.has(e)}function Z5(o,e){const t=o.orderedGroups(e);return t.length>0?t[0]:[]}async function TN(o,e,t,i,n){const s=Z5(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||!Lw(c)&&!EN(c))&&(c=null),new G5(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 X5(o,e){const t=o.orderedGroups(e);return t.length>0?t[0]:null}class Y5{constructor(e,t){this.provider=e,this.tokens=t}}function J5(o,e){return o.has(e)}function MN(o,e){const t=o.orderedGroups(e);return t.length>0?t[0]:[]}async function z1(o,e,t,i){const n=MN(o,e),s=await Promise.all(n.map(async r=>{let a;try{a=await r.provideDocumentRangeSemanticTokens(e,t,i)}catch(c){Jn(c),a=null}return(!a||!Lw(a))&&(a=null),new Y5(r,a)}));for(const r of s)if(r.tokens)return r;return s.length>0?s[0]:null}mn.registerCommand("_provideDocumentSemanticTokensLegend",async(o,...e)=>{const[t]=e;Wi(t instanceof on);const i=o.get(Vs).getModel(t);if(!i)return;const{documentSemanticTokensProvider:n}=o.get(Lt),s=X5(n,i);return s?s[0].getLegend():o.get(us).executeCommand("_provideDocumentRangeSemanticTokensLegend",t)});mn.registerCommand("_provideDocumentSemanticTokens",async(o,...e)=>{const[t]=e;Wi(t instanceof on);const i=o.get(Vs).getModel(t);if(!i)return;const{documentSemanticTokensProvider:n}=o.get(Lt);if(!PN(n,i))return o.get(us).executeCommand("_provideDocumentRangeSemanticTokens",t,i.getFullModelRange());const s=await TN(n,i,null,null,gi.None);if(!s)return;const{provider:r,tokens:a}=s;if(!a||!Lw(a))return;const c=DN({id:0,type:"full",data:a.data});return a.resultId&&r.releaseDocumentSemanticTokens(a.resultId),c});mn.registerCommand("_provideDocumentRangeSemanticTokensLegend",async(o,...e)=>{const[t,i]=e;Wi(t instanceof on);const n=o.get(Vs).getModel(t);if(!n)return;const{documentRangeSemanticTokensProvider:s}=o.get(Lt),r=MN(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 z1(s,n,B.lift(i),gi.None);if(a)return a.provider.getLegend()});mn.registerCommand("_provideDocumentRangeSemanticTokens",async(o,...e)=>{const[t,i]=e;Wi(t instanceof on),Wi(B.isIRange(i));const n=o.get(Vs).getModel(t);if(!n)return;const{documentRangeSemanticTokensProvider:s}=o.get(Lt),r=await z1(s,n,B.lift(i),gi.None);if(!(!r||!r.tokens))return DN({id:0,type:"full",data:r.tokens.data})});const V1="editor.semanticHighlighting";function p_(o,e,t){var n;const i=(n=t.getValue(V1,{overrideIdentifier:o.getLanguageId(),resource:o.uri}))==null?void 0:n.enabled;return typeof i=="boolean"?i:e.getColorTheme().semanticHighlighting}var NN=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(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)}},Tl;let Lx=class extends je{constructor(e,t,i,n,s,r){super(),this._watchers=Object.create(null);const a=g=>{this._watchers[g.uri.toString()]=new kx(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(V1)&&h()})),this._register(i.onDidColorThemeChange(h))}dispose(){for(const e of Object.values(this._watchers))e.dispose();super.dispose()}};Lx=NN([da(0,z0),da(1,Vs),da(2,mr),da(3,Cn),da(4,qo),da(5,Lt)],Lx);var gc;let kx=(gc=class extends je{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:Tl.REQUEST_MIN_DELAY,max:Tl.REQUEST_MAX_DELAY}),this._fetchDocumentSemanticTokens=this._register(new ls(()=>this._fetchDocumentSemanticTokensNow(),Tl.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=()=>{As(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),As(this._documentProvidersChangeListeners),this._documentProvidersChangeListeners=[],this._setDocumentSemanticTokens(null,null,null,[]),this._isDisposed=!0,super.dispose()}_fetchDocumentSemanticTokensNow(){if(this._currentDocumentRequestCancellationTokenSource)return;if(!PN(this._provider,this._model)){this._currentDocumentResponse&&this._model.tokenization.setSemanticTokens(null,!1);return}if(!this._model.isAttachedToEditor())return;const e=new ps,t=this._currentDocumentResponse?this._currentDocumentResponse.provider:null,i=this._currentDocumentResponse&&this._currentDocumentResponse.resultId||null,n=TN(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 ho(!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&&(xc(c)||typeof c.message=="string"&&c.message.indexOf("busy")!==-1)||dn(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(EN(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&&(Tl._copy(c,g-_,h,f-_,_),f-=_),v.data&&(Tl._copy(v.data,0,h,f-v.data.length,v.data.length),f-=v.data.length),g=v.start}g>0&&Tl._copy(c,0,h,0,g),t={resultId:t.resultId,data:h}}}if(Lw(t)){this._currentDocumentResponse=new Q5(e,t.resultId,t.data);const a=cP(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()}},Tl=gc,gc.REQUEST_MIN_DELAY=300,gc.REQUEST_MAX_DELAY=2e3,gc);kx=Tl=NN([da(1,z0),da(2,mr),da(3,qo),da(4,Lt)],kx);class Q5{constructor(e,t,i){this.provider=e,this.resultId=t,this.data=i}dispose(){this.provider.releaseDocumentSemanticTokens(this.resultId)}}Sg(Lx);var e6=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Kg=function(o,e){return function(t,i){e(t,i,o)}},Wu;let Iv=(Wu=class extends je{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 ls(()=>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(V1)&&(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(!J5(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=fs(r=>Promise.resolve(z1(this._provider,e,t,r))),s=new ho(!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,cP(c,h,e.getLanguageId()))}).then(()=>this._removeOutstandingRequest(n),()=>this._removeOutstandingRequest(n)),n}},Wu.ID="editor.contrib.viewportSemanticTokens",Wu);Iv=e6([Kg(1,z0),Kg(2,mr),Kg(3,Cn),Kg(4,qo),Kg(5,Lt)],Iv);_i(Iv.ID,Iv,1);class t6{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(sk(f)&&ok(g))break;g=f}for(c+=1;h<s.length;h++){const f=s.charCodeAt(h);if(ok(f)&&sk(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 i6=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},n6=function(o,e){return function(t,i){e(t,i,o)}},Ix;class j1{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 j1(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(Ix.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 AN(this._languageFeaturesService.selectionRangeProvider,i,t.map(s=>s.getPosition()),this._editor.getOption(114),gi.None).then(s=>{var r;if(!(!ko(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 j1(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=>Ut.fromPositions(s.ranges[s.index].getStartPosition(),s.ranges[s.index].getEndPosition()));this._ignoreSelection=!0;try{this._editor.setSelections(n)}finally{this._ignoreSelection=!1}}},Ix=$d,$d.ID="editor.contrib.smartSelectController",$d);fp=Ix=i6([n6(1,Lt)],fp);class RN 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 s6 extends RN{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:rt.MenubarSelectionMenu,group:"1_basic",title:w({key:"miSmartSelectGrow",comment:["&& denotes a mnemonic"]},"&&Expand Selection"),order:2}})}}mn.registerCommandAlias("editor.action.smartSelect.grow","editor.action.smartSelect.expand");class o6 extends RN{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:rt.MenubarSelectionMenu,group:"1_basic",title:w({key:"miSmartSelectShrink",comment:["&& denotes a mnemonic"]},"&&Shrink Selection"),order:3}})}}_i(fp.ID,fp,4);ne(s6);ne(o6);async function AN(o,e,t,i,n){const s=o.all(e).concat(new t6(i.selectSubwords));s.length===1&&s.unshift(new hv);const r=[],a=[];for(const c of s)r.push(Promise.resolve(c.provideSelectionRanges(e,t,n)).then(h=>{if(ko(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))}},Jn));return await Promise.all(r),a.map(c=>{if(c.length===0)return[];c.sort((p,v)=>xt.isBefore(p.getStartPosition(),v.getStartPosition())?1:xt.isBefore(v.getStartPosition(),p.getStartPosition())||xt.isBefore(p.getEndPosition(),v.getEndPosition())?-1:xt.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})}mn.registerCommand("_executeSelectionRangeProvider",async function(o,...e){const[t,i]=e;Wi(on.isUri(t));const n=o.get(Lt).selectionRangeProvider,s=await o.get(Ur).createModelReference(t);try{return AN(n,s.object.textEditorModel,i,{selectLeadingAndTrailingWhitespace:!0,selectSubwords:!0},gi.None)}finally{s.dispose()}});const r6=Object.freeze({View:St("view","View"),Help:St("help","Help"),Test:St("test","Test"),File:St("file","File"),Preferences:St("preferences","Preferences"),Developer:St({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 KI=TE("stickyScrollViewLayer",{createHTML:o=>o}),Py="data-sticky-line-index",GI="data-sticky-is-line",a6="data-sticky-is-line-number",ZI="data-sticky-is-folding-icon";class l6 extends je{constructor(e){super(),this._editor=e,this._foldingIconStore=new Be,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,Hn.MOUSE_ENTER,()=>{this._isOnGlyphMargin=!0,this._setFoldingIconsVisibility(!0)})),this._foldingIconStore.add(Oi(this._lineNumbersDomNode,Hn.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 xt(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 RE(!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 ME(2e3),p=NE(g,f);let v;KI?v=KI.createHTML(f.build()):v=f.build();const _=document.createElement("span");_.setAttribute(Py,String(e)),_.setAttribute(GI,""),_.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(Py,String(e)),y.setAttribute(a6,""),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 E=this._renderFoldingIconForLine(i,t);E&&y.appendChild(E.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 c6(e,t,_,y,E,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 d6(c,r,n.getEndLineNumber(s),this._lineHeight);return h.setVisible(this._isOnGlyphMargin?!0:c||i==="always"),h.domNode.setAttribute(ZI,""),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=iF(t.characterMapping,e,0);return new xt(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,Py);return t?parseInt(t,10):null}isInStickyLine(e){return this._getAttributeValue(e,GI)!==void 0}isInFoldingIconDomNode(e){return this._getAttributeValue(e,ZI)!==void 0}_getAttributeValue(e,t){for(;e&&e!==this._rootDomNode;){const i=e.getAttribute(t);if(i!==null)return i;e=e.parentElement}}}class c6{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 d6{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?ev:Q_)}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 Dv{constructor(e,t,i){this.range=e,this.children=t,this.parent=i}}class ON{constructor(e,t,i,n){this.uri=e,this.version=t,this.element=i,this.outlineProviderId=n}}var kw=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(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 ql;(function(o){o[o.VALID=0]="VALID",o[o.INVALID=1]="INVALID",o[o.CANCELED=2]="CANCELED"})(ql||(ql={}));let Dx=class extends je{constructor(e,t,i,n){switch(super(),this._editor=e,this._modelProviders=[],this._modelPromise=null,this._updateScheduler=this._register(new mc(300)),this._updateOperation=this._register(new Be),this._editor.getOption(116).defaultModel){case Ef.OUTLINE_MODEL:this._modelProviders.push(new Ex(this._editor,n));case Ef.FOLDING_PROVIDER_MODEL:this._modelProviders.push(new Tx(this._editor,t,n));case Ef.INDENTATION_MODEL:this._modelProviders.push(new Px(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 ql.CANCELED:return this._updateOperation.clear(),null;case ql.VALID:return t.stickyModel}}return null}).catch(t=>(dn(t),null))}};Dx=kw([pp(2,li),pp(3,Lt)],Dx);class FN extends je{constructor(e){super(),this._editor=e,this._stickyModel=null}get stickyModel(){return this._stickyModel}_invalid(){return this._stickyModel=null,ql.INVALID}computeStickyModel(e){if(e.isCancellationRequested||!this.isProviderValid())return{statusPromise:this._invalid(),modelPromise:null};const t=fs(i=>this.createModelFromProvider(i));return{statusPromise:t.then(i=>this.isModelValid(i)?e.isCancellationRequested?ql.CANCELED:(this._stickyModel=this.createStickyModel(e,i),ql.VALID):this._invalid()).then(void 0,i=>(dn(i),ql.CANCELED)),modelPromise:t}}isModelValid(e){return!0}isProviderValid(){return!0}}let Ex=class extends FN{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 ON(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 sN){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 Dv(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 Dv(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 vC?t+e.symbol.range.endLineNumber-e.symbol.selectionRange.startLineNumber:t}};Ex=kw([pp(1,Lt)],Ex);class HN extends FN{constructor(e){super(e),this._foldingLimitReporter=new tN(e)}createStickyModel(e,t){const i=this._fromFoldingRegions(t),n=this._editor.getModel();return new ON(n.uri,n.getVersionId(),i,void 0)}isModelValid(e){return e!==null}_fromFoldingRegions(e){const t=e.length,i=[],n=new Dv(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 Dv(new Df(e.getStartLineNumber(s),e.getEndLineNumber(s)+1),[],a);a.children.push(c),i.push(c)}return n}}let Px=class extends HN{constructor(e,t){super(e),this._languageConfigurationService=t,this.provider=this._register(new D1(e.getModel(),this._languageConfigurationService,this._foldingLimitReporter))}async createModelFromProvider(e){return this.provider.compute(e)}};Px=kw([pp(1,gs)],Px);let Tx=class extends HN{constructor(e,t,i){super(e),this._languageFeaturesService=i;const n=yc.getFoldingRangeProviders(this._languageFeaturesService,e.getModel());n.length>0&&(this.provider=this._register(new E1(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}};Tx=kw([pp(2,Lt)],Tx);var h6=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},XI=function(o,e){return function(t,i){e(t,i,o)}};class u6{constructor(e,t,i){this.startLineNumber=e,this.endLineNumber=t,this.nestingDepth=i}}let Mx=class extends je{constructor(e,t,i){super(),this._languageFeaturesService=t,this._languageConfigurationService=i,this._onDidChangeStickyScroll=this._register(new ui),this.onDidChangeStickyScroll=this._onDidChangeStickyScroll.event,this._model=null,this._cts=null,this._stickyModelProvider=null,this._editor=e,this._sessionStore=this._register(new Be),this._updateSoon=this._register(new ls(()=>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(yn(()=>{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 Dx(e,()=>this._updateSoon.schedule(),this._languageConfigurationService,this._languageFeaturesService))}async update(){var e;(e=this._cts)==null||e.dispose(!0),this._cts=new ps,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(I_(a,e.startLineNumber,(g,f)=>g-f)),h=this.updateIndex(I_(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 u6(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}};Mx=h6([XI(1,Lt),XI(2,gs)],Mx);var g6=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(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)}},Nx,qd;let ul=(qd=class extends je{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 Be,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 l6(this._editor),this._stickyLineCandidateProvider=new Mx(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,Hn.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(Uu(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,Hn.MOUSE_DOWN,g=>{this._onMouseDown=!0}))}static get(e){return e.getContribution(Nx.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 Be,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 Be),t=this._register(new pw(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,Hn.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 xt(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 xt(h,1)}this._revealPosition(c)})),this._register(ol(n,Hn.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,Hn.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 ps;e.add(yn(()=>g.dispose(!0)));let f;em(this._languageFeaturesService.definitionProvider,this._editor.getModel(),new xt(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(yn(()=>{f.style.textDecoration="none"}))):f||(f=v,f.style.textDecoration="underline",e.add(yn(()=>{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(HM,s,this._editor,{uri:this._editor.getModel().uri,range:this._stickyRangeProjectedOnEditor})))}))}_onContextMenu(e,t){const i=new nF(e,t);this._contextMenuService.showContextMenu({menuId:rt.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;L1(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=yc.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,E=this._editor.getBottomForLineNumber(p)-i;if(_>D&&_<=E){s.push(f),r.push(p+1),n=E-y;break}else y>S&&y<=E&&(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()}},Nx=qd,qd.ID="store.contrib.stickyScrollController",qd);ul=Nx=g6([Uh(1,bg),Uh(2,Lt),Uh(3,li),Uh(4,gs),Uh(5,qo),Uh(6,Fi)],ul);class f6 extends Ys{constructor(){super({id:"editor.action.toggleStickyScroll",title:{...St("toggleEditorStickyScroll","Toggle Editor Sticky Scroll"),mnemonicTitle:w({key:"mitoggleStickyScroll",comment:["&& denotes a mnemonic"]},"&&Toggle Editor Sticky Scroll")},metadata:{description:St("toggleEditorStickyScroll.description","Toggle/enable the editor sticky scroll which shows the nested scopes at the top of the viewport")},category:r6.View,toggled:{condition:ae.equals("config.editor.stickyScroll.enabled",!0),title:w("stickyScroll","Sticky Scroll"),mnemonicTitle:w({key:"miStickyScroll",comment:["&& denotes a mnemonic"]},"&&Sticky Scroll")},menu:[{id:rt.CommandPalette},{id:rt.MenubarAppearanceMenu,group:"4_editor",order:3},{id:rt.StickyScrollContext}]})}async run(e){const t=e.get(Cn),i=!t.getValue("editor.stickyScroll.enabled");return t.updateValue("editor.stickyScroll.enabled",i)}}const Iw=100;class p6 extends Wr{constructor(){super({id:"editor.action.focusStickyScroll",title:{...St("focusStickyScroll","Focus on the editor sticky scroll"),mnemonicTitle:w({key:"mifocusStickyScroll",comment:["&& denotes a mnemonic"]},"&&Focus Sticky Scroll")},precondition:ae.and(ae.has("config.editor.stickyScroll.enabled"),M.stickyScrollVisible),menu:[{id:rt.CommandPalette}]})}runEditorCommand(e,t){var i;(i=ul.get(t))==null||i.focus()}}class m6 extends Wr{constructor(){super({id:"editor.action.selectNextStickyScrollLine",title:St("selectNextStickyScrollLine.title","Select the next editor sticky scroll line"),precondition:M.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:Iw,primary:18}})}runEditorCommand(e,t){var i;(i=ul.get(t))==null||i.focusNext()}}class _6 extends Wr{constructor(){super({id:"editor.action.selectPreviousStickyScrollLine",title:St("selectPreviousStickyScrollLine.title","Select the previous sticky scroll line"),precondition:M.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:Iw,primary:16}})}runEditorCommand(e,t){var i;(i=ul.get(t))==null||i.focusPrevious()}}class v6 extends Wr{constructor(){super({id:"editor.action.goToFocusedStickyScrollLine",title:St("goToFocusedStickyScrollLine.title","Go to the focused sticky scroll line"),precondition:M.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:Iw,primary:3}})}runEditorCommand(e,t){var i;(i=ul.get(t))==null||i.goToFocused()}}class b6 extends Wr{constructor(){super({id:"editor.action.selectEditor",title:St("selectEditor.title","Select Editor"),precondition:M.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:Iw,primary:9}})}runEditorCommand(e,t){var i;(i=ul.get(t))==null||i.selectEditor()}}_i(ul.ID,ul,1);Ji(f6);Ji(p6);Ji(_6);Ji(m6);Ji(v6);Ji(b6);var WN=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},df=function(o,e){return function(t,i){e(t,i,o)}};class w6{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 Rx=class extends sF{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 w6(c,h,a.filterTextLow??a.labelLow,a.completion.additionalTextEdits,a.completion.command,a)),r-->=0&&a.resolve(gi.None)}return e}};Rx=WN([df(5,Sw)],Rx);let Ax=class extends je{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(du.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(du.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 AI(p,t.column-this._lastResult.word.endColumn);this._lastResult.completionModel.lineContext=_,this._lastResult.acquire(),f=this._lastResult}else{const _=await P1(this._languageFeatureService.completionProvider,e,t,new rp(void 0,gv.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 Ol(_.items,t.column,new AI(p,0),uv.None,s.getOption(119),s.getOption(113),{boostFullMatch:!1,firstMatchCanBeWeak:!1},y);f=new Rx(e,t.lineNumber,h,S,_,this._suggestMemoryService)}return this._lastResult=f,f}handleItemDidShow(e,t){t.completion.resolve(gi.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}}};Ax=WN([df(0,Lt),df(1,wg),df(2,Sw),df(3,Qn)],Ax);Sg(Ax);class y6 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 ho;i.tokenization.forceTokenization(i.getLineCount()),n.stop(),console.log(`tokenization took ${n.elapsed()}`)}}ne(y6);const xb=class xb extends Ys{constructor(){super({id:xb.ID,title:St({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:St("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=!rk.getTabFocusMode();rk.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"))}};xb.ID="editor.action.toggleTabFocusMode";let Ox=xb;Ji(Ox);var S6=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},YI=function(o,e){return function(t,i){e(t,i,o)}};let Fx=class extends je{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=lt(e,pt("a.monaco-link",{tabIndex:t.tabIndex??0,href:t.href},t.label)),this.hoverDelegate=i.hoverDelegate??Kb("mouse"),this.setTooltip(t.title),this.el.setAttribute("role","button");const r=this._register(new Gw(this.el,"click")),a=this._register(new Gw(this.el,"keypress")),c=as.chain(a.event,f=>f.map(p=>new B0(p)).filter(p=>p.keyCode===3)),h=this._register(new Gw(this.el,oF.Tap)).event;this._register(JD.addTarget(this.el));const g=as.any(r.event,c,h);this._register(g(f=>{this.enabled&&(C_.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)}};Fx=S6([YI(3,Wp),YI(4,zr)],Fx);var BN=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},zN=function(o,e){return function(t,i){e(t,i,o)}};const C6=26;let Hx=class extends je{constructor(e,t){super(),this._editor=e,this.instantiationService=t,this.banner=this._register(this.instantiationService.createInstance(Wx))}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,C6)}};Hx=BN([zN(1,li)],Hx);let Wx=class extends je{constructor(e){super(),this.instantiationService=e,this.markdownRenderer=this.instantiationService.createInstance(Cg,{}),this.element=pt("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=pt("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=lt(this.element,pt("div.icon-container"));i.setAttribute("aria-hidden","true"),e.icon&&i.appendChild(pt(`div${qi.asCSSSelector(e.icon)}`));const n=lt(this.element,pt("div.message-container"));if(n.setAttribute("aria-hidden","true"),n.appendChild(this.getBannerMessage(e.message)),this.messageActionsContainer=lt(this.element,pt("div.message-actions-container")),e.actions)for(const r of e.actions)this._register(this.instantiationService.createInstance(Fx,this.messageActionsContainer,{...r,tabIndex:-1},{}));const s=lt(this.element,pt("div.action-container"));this.actionBar=this._register(new Of(s)),this.actionBar.push(this._register(new Gu("banner.close","Close Banner",qi.asClassName(wE),!0,()=>{typeof e.onClose=="function"&&e.onClose()})),{icon:!0,label:!1}),this.actionBar.setFocusable(!1)}};Wx=BN([zN(0,li)],Wx);var U1=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(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)}};const x6=Xn("extensions-warning-message",Zt.warning,w("warningIcon","Icon shown with a warning message in the extensions editor."));var Bu;let mp=(Bu=class extends je{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:x6,actions:[{label:a.command.shortLabel,href:`command:${a.command.id}`}],onClose:()=>{this._bannerClosed=!0}})}else this._bannerController.hide()},this._bannerController=this._register(n.createInstance(Hx,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=L6(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"?rF:i)};this._editorWorkerService.canComputeUnicodeHighlights(this._editor.getModel().uri)?this._highlighter=new Bx(this._editor,t,this._updateState,this._editorWorkerService):this._highlighter=new k6(this._editor,t,this._updateState)}getDecorationInfo(e){return this._highlighter?this._highlighter.getDecorationInfo(e):null}},Bu.ID="editor.contrib.unicodeHighlighter",Bu);mp=U1([Cu(1,ml),Cu(2,aF),Cu(3,li)],mp);function L6(o,e){return{nonBasicASCII:e.nonBasicASCII===Zw?!o:e.nonBasicASCII,ambiguousCharacters:e.ambiguousCharacters,invisibleCharacters:e.invisibleCharacters,includeComments:e.includeComments===Zw?!o:e.includeComments,includeStrings:e.includeStrings===Zw?!o:e.includeStrings,allowedCharacters:e.allowedCharacters,allowedLocales:e.allowedLocales}}let Bx=class extends je{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 ls(()=>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:Ev.instance.getDecorationFromOptions(this._options)});this._decorations.set(i)})}getDecorationInfo(e){if(!this._decorations.has(e))return null;const t=this._editor.getModel();if(!dP(t,e))return null;const i=t.getValueInRange(e.range);return{reason:jN(i,this._options),inComment:uP(t,e),inString:hP(t,e)}}};Bx=U1([Cu(3,ml)],Bx);class k6 extends je{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 ls(()=>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=gP.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:Ev.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 dP(t,e)?{reason:jN(i,this._options),inComment:uP(t,e),inString:hP(t,e)}:null}}const VN=w("unicodeHighlight.configureUnicodeHighlightOptions","Configure Unicode Highlight Options");let zx=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=Ty(f);let v;switch(h.reason.kind){case 0:{OE(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,Ty(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,Ty(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:${Pv.ID}?${encodeURIComponent(JSON.stringify(_))}`,D=new Ns("",!0).appendMarkdown(v).appendText(" ").appendLink(S,y,VN);s.push(new lr(this,c.range,[D],!1,a++))}return s}renderHoverParts(e,t){return tz(e,t,this._editor,this._languageService,this._openerService)}};zx=U1([Cu(1,jr),Cu(2,zr)],zx);function Vx(o){return`U+${o.toString(16).padStart(4,"0")}`}function Ty(o){let e=`\`${Vx(o)}\``;return fP.isInvisibleCharacter(o)||(e+=` "${`${I6(o)}`}"`),e}function I6(o){return o===96?"`` ` ``":"`"+String.fromCodePoint(o)+"`"}function jN(o,e){return gP.computeUnicodeHighlightReason(o,e)}const Lb=class Lb{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=Li.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}};Lb.instance=new Lb;let Ev=Lb;class D6 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(Cn);n&&this.runAction(n)}async runAction(e){await e.updateValue(al.includeComments,!1,2)}}class E6 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(Cn);n&&this.runAction(n)}async runAction(e){await e.updateValue(al.includeStrings,!1,2)}}const kb=class kb extends we{constructor(){super({id:kb.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(Cn);n&&this.runAction(n)}async runAction(e){await e.updateValue(al.ambiguousCharacters,!1,2)}};kb.ID="editor.action.unicodeHighlight.disableHighlightingOfAmbiguousCharacters";let gh=kb;const Ib=class Ib extends we{constructor(){super({id:Ib.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(Cn);n&&this.runAction(n)}async runAction(e){await e.updateValue(al.invisibleCharacters,!1,2)}};Ib.ID="editor.action.unicodeHighlight.disableHighlightingOfInvisibleCharacters";let _p=Ib;const Db=class Db extends we{constructor(){super({id:Db.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(Cn);n&&this.runAction(n)}async runAction(e){await e.updateValue(al.nonBasicASCII,!1,2)}};Db.ID="editor.action.unicodeHighlight.disableHighlightingOfNonBasicAsciiCharacters";let vp=Db;const Eb=class Eb extends we{constructor(){super({id:Eb.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(Cn);function f(_){return fP.isInvisibleCharacter(_)?w("unicodeHighlight.excludeInvisibleCharFromBeingHighlighted","Exclude {0} (invisible character) from being highlighted",Vx(_)):w("unicodeHighlight.excludeCharFromBeingHighlighted","Exclude {0} from being highlighted",`${Vx(_)} "${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()=>{T6(g,[_])}});if(p.push({label:f(n),run:()=>P6(g,[n])}),a){const _=new D6;p.push({label:_.label,run:async()=>_.runAction(g)})}else if(r){const _=new E6;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 M6(s);const v=await h.pick(p,{title:VN});v&&await v.run()}};Eb.ID="editor.action.unicodeHighlight.showExcludeOptions";let Pv=Eb;async function P6(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 T6(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 M6(o){throw new Error(`Unexpected value: ${o}`)}ne(gh);ne(_p);ne(vp);ne(Pv);_i(mp.ID,mp,1);Sh.register(zx);var N6=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},JI=function(o,e){return function(t,i){e(t,i,o)}};const UN="ignoreUnusualLineTerminators";function R6(o,e,t){o.setModelProperty(e.uri,UN,t)}function A6(o,e){return o.getModelProperty(e.uri,UN)}var zu;let Tv=(zu=class extends je{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()||A6(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){R6(this._codeEditorService,e,!0);return}e.removeUnusualLineTerminators(this._editor.getSelections())}},zu.ID="editor.contrib.unusualLineTerminatorsDetector",zu);Tv=N6([JI(1,V0),JI(2,Qn)],Tv);_i(Tv.ID,Tv,1);var O6=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},F6=function(o,e){return function(t,i){e(t,i,o)}};class QI{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,ak,!1).map(a=>({range:a.range,kind:E_.Text})):Promise.resolve(n)}provideMultiDocumentHighlights(e,t,i,n){const s=new pc,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,ak,!1).map(g=>({range:g.range,kind:E_.Text}));h&&s.set(a.uri,h)}return s}}let jx=class extends je{constructor(e){super(),this._register(e.documentHighlightProvider.register("*",new QI)),this._register(e.multiDocumentHighlightProvider.register("*",new QI))}};jx=O6([F6(0,Lt)],jx);var $N=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},m_=function(o,e){return function(t,i){e(t,i,o)}},$n,Ux;const $1=new Pi("hasWordHighlights",!1);function qN(o,e,t,i){const n=o.ordered(e);return O0(n.map(s=>()=>Promise.resolve(s.provideDocumentHighlights(e,t,i)).then(void 0,Jn)),s=>s!=null).then(s=>{if(s){const r=new pc;return r.set(e.uri,s),r}return new pc})}function H6(o,e,t,i,n,s){const r=o.ordered(e);return O0(r.map(a=>()=>{const c=s.filter(h=>cF(h)).filter(h=>dF(a.selector,h.uri,h.getLanguageId(),!0,void 0,void 0)>0);return Promise.resolve(a.provideMultiDocumentHighlights(e,t,c,n)).then(void 0,Jn)}),a=>a!=null)}class KN{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=fs(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 W6 extends KN{constructor(e,t,i,n){super(e,t,i),this._providers=n}_compute(e,t,i,n){return qN(this._providers,e,t.getPosition(),n).then(s=>s||new pc)}}class B6 extends KN{constructor(e,t,i,n,s){super(e,t,i),this._providers=n,this._otherModels=s}_compute(e,t,i,n){return H6(this._providers,e,t.getPosition(),i,n,this._otherModels).then(s=>s||new pc)}}function z6(o,e,t,i,n){return new W6(e,t,n,o)}function V6(o,e,t,i,n,s){return new B6(e,t,n,o,s)}Qs("_executeDocumentHighlights",async(o,e,t)=>{const i=o.get(Lt),n=await qN(i.documentHighlightProvider,e,t,gi.None);return n==null?void 0:n.get(e.uri)});var fc;let $x=(fc=class{constructor(e,t,i,n,s){this.toUnhook=new Be,this.workerRequestTokenId=0,this.workerRequestCompleted=!1,this.workerRequestValue=new pc,this.lastCursorPositionChangeTime=0,this.renderDecorationsTimer=-1,this.runDelayer=this.toUnhook.add(new mc(50)),this.editor=e,this.providers=t,this.multiDocumentProviders=i,this.codeEditorService=s,this._hasWordHighlights=$1.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=>{lF(this.model.uri,"output")||this._stopAll()})),this.toUnhook.add(e.onDidChangeModel(r=>{!r.newModelUrl&&r.oldModelUrl?this._stopSingular():$n.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=$n.query)==null?void 0:c.modelInfo)==null?void 0:h.model);break;case"multiFile":$n.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,$n.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=$n.storedDecorationIDs.get(this.editor.getModel().uri);e&&(this.editor.removeDecorations(e),$n.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()||y_(n.getModel().uri,e==null?void 0:e.uri))continue;const s=$n.storedDecorationIDs.get(n.getModel().uri);if(!s)continue;n.removeDecorations(s),i.push(n.getModel().uri);const r=Cc.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)$n.storedDecorationIDs.delete(n)}_stopSingular(){var e,t,i,n;this._removeSingleDecorations(),this.editor.hasTextFocus()&&(((e=this.editor.getModel())==null?void 0:e.uri.scheme)!==qs.vscodeNotebookCell&&((i=(t=$n.query)==null?void 0:t.modelInfo)==null?void 0:i.model.uri.scheme)!==qs.vscodeNotebookCell?($n.query=null,this._run()):(n=$n.query)!=null&&n.modelInfo&&($n.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)!==qs.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===qs.vscodeNotebookCell){const s=[],r=this.codeEditorService.listCodeEditors();for(const a of r){const c=a.getModel();c&&c!==e&&c.uri.scheme===qs.vscodeNotebookCell&&s.push(c)}return s}const i=[],n=this.codeEditorService.listCodeEditors();for(const s of n){if(!pP(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){$n.query=null,this._stopAll();return}const a=r.startColumn,c=r.endColumn,h=this._getWord();if(!h||h.startColumn>a||h.endColumn<c){$n.query=null,this._stopAll();return}t=this.workerRequest&&this.workerRequest.isValid(this.model,r,this.decorations),$n.query={modelInfo:{model:this.model,selection:r},word:h}}else if(!$n.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(y_(this.editor.getModel().uri,(n=$n.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(!$n.query||!$n.query.modelInfo||$n.query.modelInfo.model.isDisposed())return;this.workerRequest=this.computeWithModel($n.query.modelInfo.model,$n.query.modelInfo.selection,$n.query.word,a),(s=this.workerRequest)==null||s.result.then(c=>{r===this.workerRequestTokenId&&(this.workerRequestCompleted=!0,this.workerRequestValue=c||[],this._beginRenderDecorations())},dn)}}computeWithModel(e,t,i,n){return n.length?V6(this.multiDocumentProviders,e,t,i,this.editor.getOption(132),n):z6(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=Cc.get(s);if(!r)continue;const a=[],c=(t=s.getModel())==null?void 0:t.uri;if(c&&this.workerRequestValue.has(c)){const h=$n.storedDecorationIDs.get(c),g=this.workerRequestValue.get(c);if(g)for(const p of g)p.range&&a.push({range:p.range,options:P$(p.kind)});let f=[];s.changeDecorations(p=>{f=p.deltaDecorations(h??[],a)}),$n.storedDecorationIDs=$n.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()}},$n=fc,fc.storedDecorationIDs=new pc,fc.query=null,fc);$x=$n=$N([m_(4,Qn)],$x);var Kd;let Cc=(Kd=class extends je{static get(e){return e.getContribution(Ux.ID)}constructor(e,t,i,n){super(),this._wordHighlighter=null;const s=()=>{e.hasModel()&&!e.getModel().isTooLargeForTokenization()&&(this._wordHighlighter=new $x(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()}},Ux=Kd,Kd.ID="editor.contrib.wordHighlighter",Kd);Cc=Ux=$N([m_(1,Fi),m_(2,Lt),m_(3,Qn)],Cc);class GN extends we{constructor(e,t){super(t),this._isNext=e}run(e,t){const i=Cc.get(t);i&&(this._isNext?i.moveNext():i.moveBack())}}class j6 extends GN{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:$1,kbOpts:{kbExpr:M.editorTextFocus,primary:65,weight:100}})}}class U6 extends GN{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:$1,kbOpts:{kbExpr:M.editorTextFocus,primary:1089,weight:100}})}}class $6 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=Cc.get(t);n&&n.restoreViewState(!0)}}_i(Cc.ID,Cc,0);ne(j6);ne(U6);ne($6);Sg(jx);class Dw extends Js{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 xt(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=>hF.fromModelSelection(h))),c.length===1){const h=new xt(c[0].positionLineNumber,c[0].positionColumn);t.revealPosition(h,0)}}_moveTo(e,t,i){return i?new Ut(e.selectionStartLineNumber,e.selectionStartColumn,t.lineNumber,t.column):new Ut(t.lineNumber,t.column,t.lineNumber,t.column)}}class Ic extends Dw{_move(e,t,i,n,s){return Up.moveWordLeft(e,t,i,n,s)}}class Dc extends Dw{_move(e,t,i,n,s){return Up.moveWordRight(e,t,i,n)}}class q6 extends Ic{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordStartLeft",precondition:void 0})}}class K6 extends Ic{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordEndLeft",precondition:void 0})}}class G6 extends Ic{constructor(){var e;super({inSelectionMode:!1,wordNavigationType:1,id:"cursorWordLeft",precondition:void 0,kbOpts:{kbExpr:ae.and(M.textInputFocus,(e=ae.and(Yb,Jb))==null?void 0:e.negate()),primary:2063,mac:{primary:527},weight:100}})}}class Z6 extends Ic{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordStartLeftSelect",precondition:void 0})}}class X6 extends Ic{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordEndLeftSelect",precondition:void 0})}}class Y6 extends Ic{constructor(){var e;super({inSelectionMode:!0,wordNavigationType:1,id:"cursorWordLeftSelect",precondition:void 0,kbOpts:{kbExpr:ae.and(M.textInputFocus,(e=ae.and(Yb,Jb))==null?void 0:e.negate()),primary:3087,mac:{primary:1551},weight:100}})}}class J6 extends Ic{constructor(){super({inSelectionMode:!1,wordNavigationType:3,id:"cursorWordAccessibilityLeft",precondition:void 0})}_move(e,t,i,n,s){return super._move(bh(Qb.wordSeparators.defaultValue,e.intlSegmenterLocales),t,i,n,s)}}class Q6 extends Ic{constructor(){super({inSelectionMode:!0,wordNavigationType:3,id:"cursorWordAccessibilityLeftSelect",precondition:void 0})}_move(e,t,i,n,s){return super._move(bh(Qb.wordSeparators.defaultValue,e.intlSegmenterLocales),t,i,n,s)}}class e7 extends Dc{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordStartRight",precondition:void 0})}}class t7 extends Dc{constructor(){var e;super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordEndRight",precondition:void 0,kbOpts:{kbExpr:ae.and(M.textInputFocus,(e=ae.and(Yb,Jb))==null?void 0:e.negate()),primary:2065,mac:{primary:529},weight:100}})}}class i7 extends Dc{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordRight",precondition:void 0})}}class n7 extends Dc{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordStartRightSelect",precondition:void 0})}}class s7 extends Dc{constructor(){var e;super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordEndRightSelect",precondition:void 0,kbOpts:{kbExpr:ae.and(M.textInputFocus,(e=ae.and(Yb,Jb))==null?void 0:e.negate()),primary:3089,mac:{primary:1553},weight:100}})}}class o7 extends Dc{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordRightSelect",precondition:void 0})}}class r7 extends Dc{constructor(){super({inSelectionMode:!1,wordNavigationType:3,id:"cursorWordAccessibilityRight",precondition:void 0})}_move(e,t,i,n,s){return super._move(bh(Qb.wordSeparators.defaultValue,e.intlSegmenterLocales),t,i,n,s)}}class a7 extends Dc{constructor(){super({inSelectionMode:!0,wordNavigationType:3,id:"cursorWordAccessibilityRightSelect",precondition:void 0})}_move(e,t,i,n,s){return super._move(bh(Qb.wordSeparators.defaultValue,e.intlSegmenterLocales),t,i,n,s)}}class Ew extends Js{constructor(e){super(e),this._whitespaceHeuristics=e.whitespaceHeuristics,this._wordNavigationType=e.wordNavigationType}runEditorCommand(e,t,i){const n=e.get(gs);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 q1 extends Ew{_delete(e,t){const i=Up.deleteWordLeft(e,t);return i||new B(1,1,1,1)}}class K1 extends Ew{_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 l7 extends q1{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:0,id:"deleteWordStartLeft",precondition:M.writable})}}class c7 extends q1{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:2,id:"deleteWordEndLeft",precondition:M.writable})}}class d7 extends q1{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:0,id:"deleteWordLeft",precondition:M.writable,kbOpts:{kbExpr:M.textInputFocus,primary:2049,mac:{primary:513},weight:100}})}}class h7 extends K1{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:0,id:"deleteWordStartRight",precondition:M.writable})}}class u7 extends K1{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:2,id:"deleteWordEndRight",precondition:M.writable})}}class g7 extends K1{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:2,id:"deleteWordRight",precondition:M.writable,kbOpts:{kbExpr:M.textInputFocus,primary:2068,mac:{primary:532},weight:100}})}}class f7 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()}}Et(new q6);Et(new K6);Et(new G6);Et(new Z6);Et(new X6);Et(new Y6);Et(new e7);Et(new t7);Et(new i7);Et(new n7);Et(new s7);Et(new o7);Et(new J6);Et(new Q6);Et(new r7);Et(new a7);Et(new l7);Et(new c7);Et(new d7);Et(new h7);Et(new u7);Et(new g7);ne(f7);class p7 extends Ew{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=ew.deleteWordPartLeft(e);return i||new B(1,1,1,1)}}class m7 extends Ew{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=ew.deleteWordPartRight(e);if(i)return i;const n=e.model.getLineCount(),s=e.model.getLineMaxColumn(n);return new B(n,s,n,s)}}class ZN extends Dw{_move(e,t,i,n,s){return ew.moveWordPartLeft(e,t,i,s)}}class _7 extends ZN{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordPartLeft",precondition:void 0,kbOpts:{kbExpr:M.textInputFocus,primary:0,mac:{primary:783},weight:100}})}}mn.registerCommandAlias("cursorWordPartStartLeft","cursorWordPartLeft");class v7 extends ZN{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordPartLeftSelect",precondition:void 0,kbOpts:{kbExpr:M.textInputFocus,primary:0,mac:{primary:1807},weight:100}})}}mn.registerCommandAlias("cursorWordPartStartLeftSelect","cursorWordPartLeftSelect");class XN extends Dw{_move(e,t,i,n,s){return ew.moveWordPartRight(e,t,i)}}class b7 extends XN{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordPartRight",precondition:void 0,kbOpts:{kbExpr:M.textInputFocus,primary:0,mac:{primary:785},weight:100}})}}class w7 extends XN{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordPartRightSelect",precondition:void 0,kbOpts:{kbExpr:M.textInputFocus,primary:0,mac:{primary:1809},weight:100}})}}Et(new p7);Et(new m7);Et(new _7);Et(new v7);Et(new b7);Et(new w7);const lL=class lL extends je{constructor(e){super(),this.editor=e,this._register(this.editor.onDidAttemptReadOnlyEdit(()=>this._onDidAttemptReadOnlyEdit()))}_onDidAttemptReadOnlyEdit(){const e=ao.get(this.editor);if(e&&this.editor.hasModel()){let t=this.editor.getOptions().get(93);t||(this.editor.isSimpleWidget?t=new Ns(w("editor.simple.readonly","Cannot edit in read-only input")):t=new Ns(w("editor.readonly","Cannot edit in read-only editor"))),e.showMessage(t,this.editor.getPosition())}}};lL.ID="editor.contrib.readOnlyMessageController";let Mv=lL;_i(Mv.ID,Mv,2);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},eD=function(o,e){return function(t,i){e(t,i,o)}};let qx=class extends je{constructor(e,t,i){super(),this._textModel=e,this._languageFeaturesService=t,this._outlineModelService=i,this._currentModel=Io(this,void 0);const n=td("documentSymbolProvider.onDidChange",this._languageFeaturesService.documentSymbolProvider.onDidChange),s=td("_textModel.onDidChangeContent",as.debounce(r=>this._textModel.onDidChangeContent(r),()=>{},100));this._register(Fp(async(r,a)=>{n.read(r),s.read(r);const c=a.add(new fF),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(gF(Bp(s=>s.range.endLineNumber-s.range.startLineNumber,Ub))),n.map(s=>({name:s.name,kind:s.kind,startLineNumber:s.range.startLineNumber}))}};qx=y7([eD(1,Lt),eD(2,nm)],qx);uF.setBreadcrumbsSourceFactory((o,e)=>e.createInstance(qx,o));const cL=class cL extends je{constructor(e){super(),this.editor=e,this.widget=null,Ky&&(this._register(e.onDidChangeConfiguration(()=>this.update())),this.update())}update(){const e=!this.editor.getOption(92);!this.widget&&e?this.widget=new Kx(this.editor):this.widget&&!e&&(this.widget.dispose(),this.widget=null)}dispose(){super.dispose(),this.widget&&(this.widget.dispose(),this.widget=null)}};cL.ID="editor.contrib.iPadShowKeyboard";let Nv=cL;const Pb=class Pb extends je{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 Pb.ID}getDomNode(){return this._domNode}getPosition(){return{preference:1}}};Pb.ID="editor.contrib.ShowKeyboardWidget";let Kx=Pb;_i(Nv.ID,Nv,3);var S7=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},tD=function(o,e){return function(t,i){e(t,i,o)}},Gx,Gd;let bp=(Gd=class extends je{static get(e){return e.getContribution(Gx.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(qb.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 Zx(this._editor,this._languageService))}stop(){this._widget&&(this._widget.dispose(),this._widget=null)}},Gx=Gd,Gd.ID="editor.contrib.inspectTokens",Gd);bp=Gx=S7([tD(1,mP),tD(2,jr)],bp);class C7 extends we{constructor(){super({id:"editor.action.inspectTokens",label:vF.inspectTokensAction,alias:"Developer: Inspect Tokens",precondition:void 0})}run(e,t){const i=bp.get(t);i==null||i.launch()}}function x7(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 L7(o,e){const t=qb.get(e);if(t)return t;const i=o.encodeLanguageId(e);return{getInitialState:()=>pF,tokenize:(n,s,r)=>_F(e,r),tokenizeEncoded:(n,s,r)=>mF(i,r)}}const Tb=class Tb extends je{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=L7(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 Tb._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)}S_(this._domNode,pt("h2.tm-token",void 0,x7(r),pt("span.tm-token-length",void 0,`${r.length} ${r.length===1?"char":"chars"}`))),lt(this._domNode,pt("hr.tokens-inspect-separator",{style:"clear:both"}));const a=(n<<1)+1<t.tokens2.length?this._decodeMetadata(t.tokens2[(n<<1)+1]):null;lt(this._domNode,pt("table.tm-metadata-table",void 0,pt("tbody",void 0,pt("tr",void 0,pt("td.tm-metadata-key",void 0,"language"),pt("td.tm-metadata-value",void 0,`${a?a.languageId:"-?-"}`)),pt("tr",void 0,pt("td.tm-metadata-key",void 0,"token type"),pt("td.tm-metadata-value",void 0,`${a?this._tokenTypeToString(a.tokenType):"-?-"}`)),pt("tr",void 0,pt("td.tm-metadata-key",void 0,"font style"),pt("td.tm-metadata-value",void 0,`${a?this._fontStyleToString(a.fontStyle):"-?-"}`)),pt("tr",void 0,pt("td.tm-metadata-key",void 0,"foreground"),pt("td.tm-metadata-value",void 0,`${a?xi.Format.CSS.formatHex(a.foreground):"-?-"}`)),pt("tr",void 0,pt("td.tm-metadata-key",void 0,"background"),pt("td.tm-metadata-value",void 0,`${a?xi.Format.CSS.formatHex(a.background):"-?-"}`))))),lt(this._domNode,pt("hr.tokens-inspect-separator")),i<t.tokens1.length&&lt(this._domNode,pt("span.tm-token-type",void 0,t.tokens1[i].type)),this._editor.layoutContentWidget(this)}_decodeMetadata(e){const t=qb.getColorMap(),i=Bg.getLanguageId(e),n=Bg.getTokenType(e),s=Bg.getFontStyle(e),r=Bg.getForeground(e),a=Bg.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]}}};Tb._ID="editor.contrib.inspectTokensWidget";let Zx=Tb;_i(bp.ID,bp,4);ne(C7);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},iD=function(o,e){return function(t,i){e(t,i,o)}},hf,Zd;let Xx=(Zd=class{constructor(e,t){this.quickInputService=e,this.keybindingService=t,this.registry=Br.as($p.Quickaccess)}provide(e){const t=new Be;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(hf.PREFIX.length));n&&n.prefix&&n.prefix!==hf.PREFIX&&this.quickInputService.quickAccess.show(n.prefix,{preserveValue:!0})})),e.items=this.getQuickAccessProviders().filter(i=>i.prefix!==hf.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}})}},hf=Zd,Zd.PREFIX="?",Zd);Xx=hf=k7([iD(0,gl),iD(1,ns)],Xx);Br.as($p.Quickaccess).registerQuickAccessProvider({ctor:Xx,prefix:"",helpEntries:[{description:bF.helpQuickAccessActionLabel}]});class YN{constructor(e){this.options=e,this.rangeHighlightDecorationId=void 0}provide(e,t,i){var r;const n=new Be;e.canAcceptInBackground=!!((r=this.options)!=null&&r.canAcceptInBackground),e.matchOnLabel=e.matchOnDescription=e.matchOnDetail=e.sortByLabel=!1;const s=n.add(new Eo);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 Be,s=this.activeTextEditorControl;if(s&&this.canProvideWithTextEditor(s)){const r={editor:s},a=_P(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(vP(t.onCancellationRequested)(()=>{var h;return(h=r.restoreViewState)==null?void 0:h.call(r)}))}n.add(yn(()=>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&&$u(`${i.getLineContent(t.range.startLineNumber)}`)}getModel(e){var t;return pP(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:os(CE),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 Mb=class Mb extends YN{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,je.None}provideWithTextEditor(e,t,i){const n=e.editor,s=new Be;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(Mb.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=_P(n);return a&&a.getOptions().get(68).renderType===2&&(a.updateOptions({lineNumbers:"on"}),s.add(yn(()=>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}};Mb.PREFIX=":";let Yx=Mb;var I7=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},D7=function(o,e){return function(t,i){e(t,i,o)}};let wp=class extends Yx{constructor(e){super(),this.editorService=e,this.onDidActiveTextEditorControlChange=as.None}get activeTextEditorControl(){return this.editorService.getFocusedCodeEditor()??void 0}};wp=I7([D7(0,Qn)],wp);var Xd;let JN=(Xd=class extends we{constructor(){super({id:Xd.ID,label:bP.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);ne(JN);Br.as($p.Quickaccess).registerQuickAccessProvider({ctor:wp,prefix:wp.PREFIX,helpEntries:[{description:bP.gotoLineActionLabel,commandId:JN.ID}]});const QN=[void 0,[]];function My(o,e,t=0,i=0){const n=e;return n.values&&n.values.length>1?E7(o,n.values,t,i):eR(o,e,t,i)}function E7(o,e,t,i){let n=0;const s=[];for(const r of e){const[a,c]=eR(o,r,t,i);if(typeof a!="number")return QN;n+=a,s.push(...c)}return[n,P7(s)]}function eR(o,e,t,i){const n=VE(e.original,e.originalLowercase,t,o,o.toLowerCase(),i,{firstMatchCanBeWeak:!0,boostFullMatch:!0});return n?[n[0],$b(n)]:QN}function P7(o){const e=o.sort((n,s)=>n.start-s.start),t=[];let i;for(const n of e)!i||!T7(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 T7(o,e){return!(o.end<e.start||e.end<o.start)}function nD(o){return o.startsWith('"')&&o.endsWith('"')}const tR=" ";function Jx(o){typeof o!="string"&&(o="");const e=o.toLowerCase(),{pathNormalized:t,normalized:i,normalizedLowercase:n}=sD(o),s=t.indexOf(tS)>=0,r=nD(o);let a;const c=o.split(tR);if(c.length>1)for(const h of c){const g=nD(h),{pathNormalized:f,normalized:p,normalizedLowercase:v}=sD(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 sD(o){let e;Ob?e=o.replace(/\//g,tS):e=o.replace(/\\/g,tS);const t=wF(e).replace(/\s|"/g,"");return{pathNormalized:e,normalized:t,normalizedLowercase:t.toLowerCase()}}function oD(o){return Array.isArray(o)?Jx(o.map(e=>e.original).join(tR)):Jx(o.original)}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},rD=function(o,e){return function(t,i){e(t,i,o)}},__,Mr;let cd=(Mr=class extends YN{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.")),je.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):je.None}doProvideWithoutEditorSymbols(e,t,i,n){const s=new Be;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 Fb,n=t.add(this._languageFeaturesService.documentSymbolProvider.onDidChange(()=>{this._languageFeaturesService.documentSymbolProvider.has(e)&&(n.dispose(),i.complete(!0))}));return t.add(yn(()=>i.complete(!1))),i.p}doProvideWithEditorSymbols(e,t,i,n,s){var f;const r=e.editor,a=new Be;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 ps(n),i.busy=!0;try{const v=Jx(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=xF(_,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=oD(t.values[0]),g=oD(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(Zt.splitHorizontal):qi.asClassName(Zt.splitVertical),tooltip:p==="right"?w("openToSide","Open to the Side"):w("openToBottom","Open to the Bottom")}]);const v=[];for(let E=0;E<r.length;E++){const N=r[E],z=yF(N.name),O=`$(${SF.toIcon(N.kind).id}) ${z}`,J=O.length-z.length;let X=N.containerName;i!=null&&i.extraContainerLabel&&(X?X=`${i.extraContainerLabel} • ${X}`:X=i.extraContainerLabel);let fe,Ee,$e,me;if(t.original.length>c){let Xt=!1;if(h!==t&&([fe,Ee]=My(O,{...t,values:void 0},c,J),typeof fe=="number"&&(Xt=!0)),typeof fe!="number"&&([fe,Ee]=My(O,h,c,J),typeof fe!="number"))continue;if(!Xt&&g){if(X&&g.original.length>0&&([$e,me]=My(X,g)),typeof $e!="number")continue;typeof fe=="number"&&(fe+=$e)}}const at=N.tags&&N.tags.indexOf(1)>=0;v.push({index:E,kind:N.kind,score:fe,label:O,ariaLabel:CF(N.name,N.kind),description:X,highlights:at?void 0:{label:Ee,description:me},range:{selection:B.collapseToStart(N.selectionRange),decoration:N.range},uri:s.uri,symbolName:z,strikethrough:at,buttons:f})}const _=v.sort((E,N)=>a?this.compareByKindAndScore(E,N):this.compareByScore(E,N));let y=[];if(a){let O=function(){N&&typeof E=="number"&&z>0&&(N.label=T0(Ry[E]||Ny,z))},E,N,z=0;for(const J of _)E!==J.kind?(O(),E=J.kind,z=1,N={type:"separator"},y.push(N)):z++,y.push(J);O()}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=Ry[e.kind]||Ny,n=Ry[t.kind]||Ny,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()}},__=Mr,Mr.PREFIX="@",Mr.SCOPE_PREFIX=":",Mr.PREFIX_BY_CATEGORY=`${Mr.PREFIX}${Mr.SCOPE_PREFIX}`,Mr);cd=__=M7([rD(0,Lt),rD(1,nm)],cd);const Ny=w("property","properties ({0})"),Ry={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 N7=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Ay=function(o,e){return function(t,i){e(t,i,o)}};let Qx=class extends cd{constructor(e,t,i){super(t,i),this.editorService=e,this.onDidActiveTextEditorControlChange=as.None}get activeTextEditorControl(){return this.editorService.getFocusedCodeEditor()??void 0}};Qx=N7([Ay(0,Qn),Ay(1,Lt),Ay(2,nm)],Qx);const Nb=class Nb extends we{constructor(){super({id:Nb.ID,label:iS.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:LF.NONE})}};Nb.ID="editor.action.quickOutline";let Rv=Nb;ne(Rv);Br.as($p.Quickaccess).registerQuickAccessProvider({ctor:Qx,prefix:cd.PREFIX,helpEntries:[{description:iS.quickOutlineActionLabel,prefix:cd.PREFIX,commandId:Rv.ID},{description:iS.quickOutlineByCategoryActionLabel,prefix:cd.PREFIX_BY_CATEGORY}]});function R7(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 R7(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 A7(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 uu;(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"})(uu||(uu={}));function Oy(o){return Array.isArray(o.items)}function aD(o){const e=o;return!!e.picks&&e.additionalPicks instanceof Promise}class O7 extends je{constructor(e,t){super(),this.prefix=e,this.options=t}provide(e,t,i){var h;const n=new Be;e.canAcceptInBackground=!!((h=this.options)!=null&&h.canAcceptInBackground),e.matchOnLabel=e.matchOnDescription=e.matchOnDetail=e.sortByLabel=!1;let s;const r=n.add(new Eo),a=async()=>{var S;const g=r.value=new Be;s==null||s.dispose(!0),e.busy=!1,s=new ps(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,E)=>{var O;let N,z;if(Oy(D)?(N=D.items,z=D.active):N=D,N.length===0){if(E)return!1;(p.length>0||e.hideInput)&&((O=this.options)!=null&&O.noResultsPick)&&(kF(this.options.noResultsPick)?N=[this.options.noResultsPick(p)]:N=[this.options.noResultsPick])}return e.items=N,z&&(e.activeItems=[z]),!0},y=async D=>{let E=!1,N=!1;await Promise.all([(async()=>{typeof D.mergeDelay=="number"&&(await Zb(D.mergeDelay),f.isCancellationRequested)||N||(E=_(D.picks,!0))})(),(async()=>{e.busy=!0;try{const z=await D.additionalPicks;if(f.isCancellationRequested)return;let O,J;Oy(D.picks)?(O=D.picks.items,J=D.picks.active):O=D.picks;let X,fe;if(Oy(z)?(X=z.items,fe=z.active):X=z,X.length>0||!E){let Ee;if(!J&&!fe){const $e=e.activeItems[0];$e&&O.indexOf($e)!==-1&&(Ee=$e)}_({items:[...O,...X],active:J||fe||Ee})}}finally{f.isCancellationRequested||(e.busy=!1),N=!0}})()])};if(v!==null)if(aD(v))await y(v);else if(!(v instanceof Promise))_(v);else{e.busy=!0;try{const D=await v;if(f.isCancellationRequested)return;aD(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 uu.NO_ACTION:break;case uu.CLOSE_PICKER:e.hide();break;case uu.REFRESH_PICKER:a();break;case uu.REMOVE_ITEM:{const S=e.items.indexOf(f);if(S!==-1){const D=e.items.slice(),E=D.splice(S,1),N=e.activeItems.filter(O=>O!==E[0]),z=e.keepScrollPosition;e.keepScrollPosition=!0,e.items=D,N&&(e.activeItems=N),e.keepScrollPosition=z}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 iR=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Fl=function(o,e){return function(t,i){e(t,i,o)}},Hc,es,pa;let e0=(pa=class extends O7{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(t0)),this.options=e}async _getPicks(e,t,i,n){var v,_;const s=await this.getCommandPicks(i);if(i.isCancellationRequested)return[];const r=vP(()=>{const y=new Pf;y.updateDocuments(s.map(D=>({key:D.commandId,textChunks:[this.getTfIdfChunk(D)]})));const S=y.calculateScores(e,i);return A7(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 E=r();if(i.isCancellationRequested)return[];const N=E.find(z=>z.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),E=this.commandsHistory.peek(S.commandId);if(D&&E)return D>E?-1:1;if(D)return-1;if(E)return 1;if(this.options.suggestedCommandIds){const N=this.options.suggestedCommandIds.has(y.commandId),z=this.options.suggestedCommandIds.has(S.commandId);if(N&&z)return 0;if(N)return-1;if(z)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(E=>this.toCommandPick(E,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){xc(r)||this.dialogService.error(w("canNotRun","Command '{0}' resulted in an error",e.label),B_(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=IF(PF,EF,DF),pa);e0=Hc=iR([Fl(1,li),Fl(2,ns),Fl(3,us),Fl(4,Vr),Fl(5,V0)],e0);var Nr;let t0=(Nr=class extends je{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===C0.SHUTDOWN&&this.saveState()}))}updateConfiguration(e){e&&!e.affectsConfiguration("workbench.commandPalette.history")||(this.configuredCommandsHistoryLength=es.getConfiguredCommandHistoryLength(this.configurationService),es.cache&&es.cache.limit!==this.configuredCommandsHistoryLength&&(es.cache.limit=this.configuredCommandsHistoryLength,es.hasChanges=!0))}load(){const e=this.storageService.get(es.PREF_KEY_CACHE,0);let t;if(e)try{t=JSON.parse(e)}catch(n){this.logService.error(`[CommandsHistory] invalid data: ${n}`)}const i=es.cache=new Ap(this.configuredCommandsHistoryLength,1);if(t){let n;t.usesLRU?n=t.entries:n=t.entries.sort((s,r)=>s.value-r.value),n.forEach(s=>i.set(s.key,s.value))}es.counter=this.storageService.getNumber(es.PREF_KEY_COUNTER,0,es.counter)}push(e){es.cache&&(es.cache.set(e,es.counter++),es.hasChanges=!0)}peek(e){var t;return(t=es.cache)==null?void 0:t.peek(e)}saveState(){if(!es.cache||!es.hasChanges)return;const e={usesLRU:!0,entries:[]};es.cache.forEach((t,i)=>e.entries.push({key:i,value:t})),this.storageService.store(es.PREF_KEY_CACHE,JSON.stringify(e),0,0),this.storageService.store(es.PREF_KEY_COUNTER,es.counter,0,0),es.hasChanges=!1}static getConfiguredCommandHistoryLength(e){var n,s;const i=(s=(n=e.getValue().workbench)==null?void 0:n.commandPalette)==null?void 0:s.history;return typeof i=="number"?i:es.DEFAULT_COMMANDS_HISTORY_LENGTH}},es=Nr,Nr.DEFAULT_COMMANDS_HISTORY_LENGTH=50,Nr.PREF_KEY_CACHE="commandPalette.mru.cache",Nr.PREF_KEY_COUNTER="commandPalette.mru.counter",Nr.counter=1,Nr.hasChanges=!1,Nr);t0=es=iR([Fl(0,Lc),Fl(1,Cn),Fl(2,vh)],t0);class F7 extends e0{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&&(TF(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:MF(n.label)||n.id})}return t}}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},$h=function(o,e){return function(t,i){e(t,i,o)}};let yp=class extends F7{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=H7([$h(0,li),$h(1,Qn),$h(2,ns),$h(3,us),$h(4,Vr),$h(5,V0)],yp);const Rb=class Rb extends we{constructor(){super({id:Rb.ID,label:wP.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)}};Rb.ID="editor.action.quickCommand";let Av=Rb;ne(Av);Br.as($p.Quickaccess).registerQuickAccessProvider({ctor:yp,prefix:yp.PREFIX,helpEntries:[{description:wP.quickCommandHelp,commandId:Av.ID}]});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},qh=function(o,e){return function(t,i){e(t,i,o)}};let i0=class extends ch{constructor(e,t,i,n,s,r,a){super(!0,e,t,i,n,s,r,a)}};i0=W7([qh(1,Fi),qh(2,Qn),qh(3,zs),qh(4,li),qh(5,Lc),qh(6,Cn)],i0);_i(ch.ID,i0,4);class B7 extends we{constructor(){super({id:"editor.action.toggleHighContrast",label:NF.toggleHighContrast,alias:"Toggle High Contrast Theme",precondition:void 0}),this._originalThemeName=null}run(e,t){const i=e.get(mP),n=i.getColorTheme();Ff(n.type)?(i.setTheme(this._originalThemeName||(lk(n.type)?RF:AF)),this._originalThemeName=null):(i.setTheme(lk(n.type)?OF:FF),this._originalThemeName=n.themeName)}}ne(B7);let n0=null;function z7(o){n0=o}function V7(o={}){return{"Content-Type":"application/json",...o}}async function Ci(o,e,t){const i=await fetch(e,{method:o,headers:V7(),body:t!==void 0?JSON.stringify(t):void 0});if(i.status===401)throw n0&&n0(),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 j7(){return await(await fetch("/she/auth/mode")).json()}async function U7(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 $7(){await fetch("/she/auth/logout",{method:"POST"})}async function q7(o,e,t,i){const n=await fetch("/she/auth/setup",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({mode:o,password:e,proxyHeader:t,proxyLogoutUrl:i})});if(!n.ok){const s=await n.json().catch(()=>({error:n.statusText}));throw new Error(s.error??"Setup failed")}}function K7(){return Ci("GET","/she/scripts/tree")}function lD(o){return Ci("GET",`/she/scripts/${o}`)}function Ac(o,e){return Ci("PUT",`/she/scripts/${o}`,{content:e})}function $m(o){return Ci("DELETE",`/she/scripts/${o}`)}function cD(o,e){return Ci("POST",`/she/scripts/${o}/rename`,{newPath:e})}function G7(o){return Ci("POST","/she/scripts/mkdir",{path:o})}function Z7(){return Ci("GET","/she/git/status")}function uf(){return Ci("GET","/she/status")}function X7(){return Ci("POST","/she/restart")}function Y7(){return Ci("POST","/she/update")}function J7(){return Ci("POST","/she/check-update")}function Q7(o,e){return Ci("POST","/she/git/commit",{path:o,message:e})}function e8(o,e){return Ci("POST","/she/git/commit",{files:o,message:e})}function t8(o){return Ci("POST","/she/git/commit",{message:o})}function Fy(o){return Ci("POST","/she/git/push",{remote:o})}function G1(){return Ci("GET","/she/config")}function i8(o){return Ci("PUT","/she/config",o)}function nR(){return Ci("GET","/she/db/docs")}function n8(o){return Ci("GET",`/she/db/docs/${o}`)}function dD(o,e){return Ci("PUT",`/she/db/docs/${o}`,e)}function s8(o){return Ci("DELETE",`/she/db/docs/${o}`)}function sR(){return Ci("GET","/she/db/views")}function o8(o){return Ci("GET",`/she/db/views/${o}`)}function hD(o,e){return Ci("PUT",`/she/db/views/${o}`,e)}function r8(o){return Ci("DELETE",`/she/db/views/${o}`)}function a8(){return Ci("GET","/she/deps")}function l8(o){return Ci("GET",`/she/deps/search?q=${encodeURIComponent(o)}`)}function c8(o,e){return Ci("POST","/she/deps/install",{name:o,version:null})}function d8(o){return Ci("POST","/she/deps/remove",{name:o})}function h8(o){return Ci("POST","/she/deps/update",{name:o})}function u8(){return Ci("GET","/she/deps/outdated")}function g8(){return Ci("POST","/she/deps/check-outdated")}function f8(){return Ci("GET","/she/ai/conversations")}function uD(o){return Ci("GET",`/she/ai/conversations/${encodeURIComponent(o)}`)}function p8(o,e,t){return Ci("PUT",`/she/ai/conversations/${encodeURIComponent(o)}`,{title:e,messages:t})}function m8(o){return Ci("DELETE",`/she/ai/conversations/${encodeURIComponent(o)}`)}function Hy(o){return Ci("GET",`/she/db/views/${o}/result`)}function oR(){return Ci("GET","/she/matter/devices")}function v_(o){return Ci("GET",`/she/matter/devices/${o}`)}function _8(o){return Ci("POST","/she/matter/commission",o)}function v8(o){return Ci("DELETE",`/she/matter/devices/${o}`)}function b8(o,e,t,i,n){return Ci("POST",`/she/matter/devices/${o}/command`,{endpointId:e,clusterName:t,command:i,args:n})}function rR(){return Ci("GET","/she/mqtt/state")}function gD(o,e,t=!1,i=0){return Ci("POST","/she/mqtt/publish",{topic:o,payload:e,retain:t,qos:i})}function aR(){return Ci("GET","/she/ai/config")}function lR(){return Ci("GET","/she/ai/models")}function cR(o){return Ci("GET",`/she/ai/model-info?model=${encodeURIComponent(o)}`)}function dR(o){return Ci("POST","/she/ai/prompt",o)}async function hR(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 w8=2e3,b_=[];function y8(){return b_.slice()}let Kl=null;const Ov=new Set,gu=new Map;let s0=null;function Sp(){let o=Ov.size;for(const e of gu.values())o+=e.size;return o}function S8(){return`${location.protocol==="https:"?"wss:":"ws:"}//${location.host}/she/ws`}function Z1(){if(Kl)return;const o=S8(),e=new WebSocket(o);Kl=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};b_.length>=w8&&b_.shift(),b_.push(s),Ov.forEach(r=>r(s))}const n=gu.get(i.type);n&&n.forEach(s=>s(i))}catch{}},e.onclose=()=>{Kl===e&&(Kl=null),Sp()>0&&(s0=setTimeout(Z1,3e3))},e.onerror=()=>{e.close()}}function uR(){s0&&clearTimeout(s0),Kl==null||Kl.close(),Kl=null}function gR(o){return Ov.add(o),Sp()===1&&Z1(),()=>{Ov.delete(o),Sp()===0&&uR()}}function Gl(o,e){return gu.has(o)||gu.set(o,new Set),gu.get(o).add(e),Sp()===1&&Z1(),()=>{var t;(t=gu.get(o))==null||t.delete(e),Sp()===0&&uR()}}var C8=R('<button class="cancel svelte-1eh8v5n">Cancel</button>'),x8=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){To(e,!0);let t=V(!1),i=V(""),n=V("Confirm"),s=V(!1),r=V(!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=Ps();ts("keydown",sd,g);var v=Ct(p);{var _=y=>{var S=x8(),D=Ct(S),E=x(D,2),N=C(E),z=C(N),O=x(N,2),J=C(O);{var X=me=>{var at=C8();se("click",at,()=>h(!1)),T(me,at)};$(J,me=>{u(r)||me(X)})}var fe=x(J,2);let Ee;var $e=C(fe);Z(()=>{K(z,u(i)),Ee=jt(fe,1,"svelte-1eh8v5n",null,Ee,{danger:u(s)}),K($e,u(n))}),se("click",D,()=>h(!1)),se("click",fe,()=>h(!0)),T(y,S)};$(v,y=>{u(t)&&y(_)})}return T(o,p),Mo(f)}_r(["click"]);var L8=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 k8(o,e){To(e,!0);let t=V(!1),i=V(""),n=V(""),s=V("OK"),r=V(""),a=null,c=V(void 0);function h(D,E){return I(i,D,!0),I(n,(E==null?void 0:E.placeholder)??"",!0),I(s,(E==null?void 0:E.confirm)??"OK",!0),I(r,(E==null?void 0:E.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},_=Ps();ts("keydown",sd,p);var y=Ct(_);{var S=D=>{var E=L8(),N=Ct(E),z=x(N,2),O=C(z),J=C(O),X=x(O,2);xs(X,at=>I(c,at),()=>u(c));var fe=x(X,2),Ee=C(fe),$e=x(Ee,2),me=C($e);Z(at=>{K(J,u(i)),On(X,"placeholder",u(n)),$e.disabled=at,K(me,u(s))},[()=>!u(r).trim()]),se("click",N,f),se("keydown",X,at=>{at.key==="Enter"&&(at.preventDefault(),g())}),Ei(X,()=>u(r),at=>I(r,at)),se("click",Ee,f),se("click",$e,g),T(D,E)};$(y,D=>{u(t)&&D(S)})}return T(o,_),Mo(v)}_r(["click","keydown"]);function fR(o){return o&&o.__esModule&&Object.prototype.hasOwnProperty.call(o,"default")?o.default:o}var Wy,fD;function I8(){if(fD)return Wy;fD=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(oe=>{const ye=F[oe],U=typeof ye;(U==="object"||U==="function")&&!Object.isFrozen(ye)&&o(ye)}),F}class e{constructor(oe){oe.data===void 0&&(oe.data={}),this.data=oe.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,...oe){const ye=Object.create(null);for(const U in F)ye[U]=F[U];return oe.forEach(function(U){for(const be in U)ye[be]=U[be]}),ye}const n="</span>",s=F=>!!F.scope,r=(F,{prefix:oe})=>{if(F.startsWith("language:"))return F.replace("language:","language-");if(F.includes(".")){const ye=F.split(".");return[`${oe}${ye.shift()}`,...ye.map((U,be)=>`${U}${"_".repeat(be+1)}`)].join(" ")}return`${oe}${F}`};class a{constructor(oe,ye){this.buffer="",this.classPrefix=ye.classPrefix,oe.walk(this)}addText(oe){this.buffer+=t(oe)}openNode(oe){if(!s(oe))return;const ye=r(oe.scope,{prefix:this.classPrefix});this.span(ye)}closeNode(oe){s(oe)&&(this.buffer+=n)}value(){return this.buffer}span(oe){this.buffer+=`<span class="${oe}">`}}const c=(F={})=>{const oe={children:[]};return Object.assign(oe,F),oe};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(oe){this.top.children.push(oe)}openNode(oe){const ye=c({scope:oe});this.add(ye),this.stack.push(ye)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(oe){return this.constructor._walk(oe,this.rootNode)}static _walk(oe,ye){return typeof ye=="string"?oe.addText(ye):ye.children&&(oe.openNode(ye),ye.children.forEach(U=>this._walk(oe,U)),oe.closeNode(ye)),oe}static _collapse(oe){typeof oe!="string"&&oe.children&&(oe.children.every(ye=>typeof ye=="string")?oe.children=[oe.children.join("")]:oe.children.forEach(ye=>{h._collapse(ye)}))}}class g extends h{constructor(oe){super(),this.options=oe}addText(oe){oe!==""&&this.add(oe)}startScope(oe){this.openNode(oe)}endScope(){this.closeNode()}__addSublanguage(oe,ye){const U=oe.root;ye&&(U.scope=`language:${ye}`),this.add(U)}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(ye=>f(ye)).join("")}function S(F){const oe=F[F.length-1];return typeof oe=="object"&&oe.constructor===Object?(F.splice(F.length-1,1),oe):{}}function D(...F){return"("+(S(F).capture?"":"?:")+F.map(U=>f(U)).join("|")+")"}function E(F){return new RegExp(F.toString()+"|").exec("").length-1}function N(F,oe){const ye=F&&F.exec(oe);return ye&&ye.index===0}const z=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;function O(F,{joinWith:oe}){let ye=0;return F.map(U=>{ye+=1;const be=ye;let ze=f(U),ke="";for(;ze.length>0;){const Me=z.exec(ze);if(!Me){ke+=ze;break}ke+=ze.substring(0,Me.index),ze=ze.substring(Me.index+Me[0].length),Me[0][0]==="\\"&&Me[1]?ke+="\\"+String(Number(Me[1])+be):(ke+=Me[0],Me[0]==="("&&ye++)}return ke}).map(U=>`(${U})`).join(oe)}const J=/\b\B/,X="[a-zA-Z]\\w*",fe="[a-zA-Z_]\\w*",Ee="\\b\\d+(\\.\\d+)?",$e="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",me="\\b(0b[01]+)",at="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",Xt=(F={})=>{const oe=/^#![ ]*\//;return F.binary&&(F.begin=y(oe,/.*\b/,F.binary,/\b.*/)),i({scope:"meta",begin:oe,end:/$/,relevance:0,"on:begin":(ye,U)=>{ye.index!==0&&U.ignoreMatch()}},F)},wt={begin:"\\\\[\\s\\S]",relevance:0},Yt={scope:"string",begin:"'",end:"'",illegal:"\\n",contains:[wt]},Ft={scope:"string",begin:'"',end:'"',illegal:"\\n",contains:[wt]},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/},de=function(F,oe,ye={}){const U=i({scope:"comment",begin:F,end:oe,contains:[]},ye);U.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 be=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 U.contains.push({begin:y(/[ ]+/,"(",be,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),U},yt=de("//","$"),We=de("/\\*","\\*/"),Ze=de("#","$"),Mt={scope:"number",begin:Ee,relevance:0},hi={scope:"number",begin:$e,relevance:0},Bt={scope:"number",begin:me,relevance:0},Ot={scope:"regexp",begin:/\/(?=[^/\n]*\/)/,end:/\/[gimuy]*/,contains:[wt,{begin:/\[/,end:/\]/,relevance:0,contains:[wt]}]},It={scope:"title",begin:X,relevance:0},si={scope:"title",begin:fe,relevance:0},vi={begin:"\\.\\s*"+fe,relevance:0};var Ki=Object.freeze({__proto__:null,APOS_STRING_MODE:Yt,BACKSLASH_ESCAPE:wt,BINARY_NUMBER_MODE:Bt,BINARY_NUMBER_RE:me,COMMENT:de,C_BLOCK_COMMENT_MODE:We,C_LINE_COMMENT_MODE:yt,C_NUMBER_MODE:hi,C_NUMBER_RE:$e,END_SAME_AS_BEGIN:function(F){return Object.assign(F,{"on:begin":(oe,ye)=>{ye.data._beginMatch=oe[1]},"on:end":(oe,ye)=>{ye.data._beginMatch!==oe[1]&&ye.ignoreMatch()}})},HASH_COMMENT_MODE:Ze,IDENT_RE:X,MATCH_NOTHING_RE:J,METHOD_GUARD:vi,NUMBER_MODE:Mt,NUMBER_RE:Ee,PHRASAL_WORDS_MODE:Jt,QUOTE_STRING_MODE:Ft,REGEXP_MODE:Ot,RE_STARTERS_RE:at,SHEBANG:Xt,TITLE_MODE:It,UNDERSCORE_IDENT_RE:fe,UNDERSCORE_TITLE_MODE:si});function rn(F,oe){F.input[F.index-1]==="."&&oe.ignoreMatch()}function vn(F,oe){F.className!==void 0&&(F.scope=F.className,delete F.className)}function Bi(F,oe){oe&&F.beginKeywords&&(F.begin="\\b("+F.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",F.__beforeBegin=rn,F.keywords=F.keywords||F.beginKeywords,delete F.beginKeywords,F.relevance===void 0&&(F.relevance=0))}function jn(F,oe){Array.isArray(F.illegal)&&(F.illegal=D(...F.illegal))}function hn(F,oe){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 xn(F,oe){F.relevance===void 0&&(F.relevance=1)}const qn=(F,oe)=>{if(!F.beforeMatch)return;if(F.starts)throw new Error("beforeMatch cannot be used with starts");const ye=Object.assign({},F);Object.keys(F).forEach(U=>{delete F[U]}),F.keywords=ye.keywords,F.begin=y(ye.beforeMatch,p(ye.begin)),F.starts={relevance:0,contains:[Object.assign(ye,{endsParent:!0})]},F.relevance=0,delete ye.beforeMatch},Ln=["of","and","for","in","not","or","if","then","parent","list","value"],Kn="keyword";function et(F,oe,ye=Kn){const U=Object.create(null);return typeof F=="string"?be(ye,F.split(" ")):Array.isArray(F)?be(ye,F):Object.keys(F).forEach(function(ze){Object.assign(U,et(F[ze],oe,ze))}),U;function be(ze,ke){oe&&(ke=ke.map(Me=>Me.toLowerCase())),ke.forEach(function(Me){const Te=Me.split("|");U[Te[0]]=[ze,Ht(Te[0],Te[1])]})}}function Ht(F,oe){return oe?Number(oe):bi(F)?0:1}function bi(F){return Ln.includes(F.toLowerCase())}const fi={},oi=F=>{console.error(F)},yi=(F,...oe)=>{console.log(`WARN: ${F}`,...oe)},an=(F,oe)=>{fi[`${F}/${oe}`]||(console.log(`Deprecated as of ${F}. ${oe}`),fi[`${F}/${oe}`]=!0)},Qi=new Error;function un(F,oe,{key:ye}){let U=0;const be=F[ye],ze={},ke={};for(let Me=1;Me<=oe.length;Me++)ke[Me+U]=be[Me],ze[Me+U]=!0,U+=E(oe[Me-1]);F[ye]=ke,F[ye]._emit=ze,F[ye]._multi=!0}function Wn(F){if(Array.isArray(F.begin)){if(F.skip||F.excludeBegin||F.returnBegin)throw oi("skip, excludeBegin, returnBegin not compatible with beginScope: {}"),Qi;if(typeof F.beginScope!="object"||F.beginScope===null)throw oi("beginScope must be object"),Qi;un(F,F.begin,{key:"beginScope"}),F.begin=O(F.begin,{joinWith:""})}}function kn(F){if(Array.isArray(F.end)){if(F.skip||F.excludeEnd||F.returnEnd)throw oi("skip, excludeEnd, returnEnd not compatible with endScope: {}"),Qi;if(typeof F.endScope!="object"||F.endScope===null)throw oi("endScope must be object"),Qi;un(F,F.end,{key:"endScope"}),F.end=O(F.end,{joinWith:""})}}function In(F){F.scope&&typeof F.scope=="object"&&F.scope!==null&&(F.beginScope=F.scope,delete F.scope)}function Ti(F){In(F),typeof F.beginScope=="string"&&(F.beginScope={_wrap:F.beginScope}),typeof F.endScope=="string"&&(F.endScope={_wrap:F.endScope}),Wn(F),kn(F)}function Gn(F){function oe(ke,Me){return new RegExp(f(ke),"m"+(F.case_insensitive?"i":"")+(F.unicodeRegex?"u":"")+(Me?"g":""))}class ye{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(Me,Te){Te.position=this.position++,this.matchIndexes[this.matchAt]=Te,this.regexes.push([Te,Me]),this.matchAt+=E(Me)+1}compile(){this.regexes.length===0&&(this.exec=()=>null);const Me=this.regexes.map(Te=>Te[1]);this.matcherRe=oe(O(Me,{joinWith:"|"}),!0),this.lastIndex=0}exec(Me){this.matcherRe.lastIndex=this.lastIndex;const Te=this.matcherRe.exec(Me);if(!Te)return null;const Pt=Te.findIndex((De,Rt)=>Rt>0&&De!==void 0),ut=this.matchIndexes[Pt];return Te.splice(0,Pt),Object.assign(Te,ut)}}class U{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(Me){if(this.multiRegexes[Me])return this.multiRegexes[Me];const Te=new ye;return this.rules.slice(Me).forEach(([Pt,ut])=>Te.addRule(Pt,ut)),Te.compile(),this.multiRegexes[Me]=Te,Te}resumingScanAtSamePosition(){return this.regexIndex!==0}considerAll(){this.regexIndex=0}addRule(Me,Te){this.rules.push([Me,Te]),Te.type==="begin"&&this.count++}exec(Me){const Te=this.getMatcher(this.regexIndex);Te.lastIndex=this.lastIndex;let Pt=Te.exec(Me);if(this.resumingScanAtSamePosition()&&!(Pt&&Pt.index===this.lastIndex)){const ut=this.getMatcher(0);ut.lastIndex=this.lastIndex+1,Pt=ut.exec(Me)}return Pt&&(this.regexIndex+=Pt.position+1,this.regexIndex===this.count&&this.considerAll()),Pt}}function be(ke){const Me=new U;return ke.contains.forEach(Te=>Me.addRule(Te.begin,{rule:Te,type:"begin"})),ke.terminatorEnd&&Me.addRule(ke.terminatorEnd,{type:"end"}),ke.illegal&&Me.addRule(ke.illegal,{type:"illegal"}),Me}function ze(ke,Me){const Te=ke;if(ke.isCompiled)return Te;[vn,hn,Ti,qn].forEach(ut=>ut(ke,Me)),F.compilerExtensions.forEach(ut=>ut(ke,Me)),ke.__beforeBegin=null,[Bi,jn,xn].forEach(ut=>ut(ke,Me)),ke.isCompiled=!0;let Pt=null;return typeof ke.keywords=="object"&&ke.keywords.$pattern&&(ke.keywords=Object.assign({},ke.keywords),Pt=ke.keywords.$pattern,delete ke.keywords.$pattern),Pt=Pt||/\w+/,ke.keywords&&(ke.keywords=et(ke.keywords,F.case_insensitive)),Te.keywordPatternRe=oe(Pt,!0),Me&&(ke.begin||(ke.begin=/\B|\b/),Te.beginRe=oe(Te.begin),!ke.end&&!ke.endsWithParent&&(ke.end=/\B|\b/),ke.end&&(Te.endRe=oe(Te.end)),Te.terminatorEnd=f(Te.end)||"",ke.endsWithParent&&Me.terminatorEnd&&(Te.terminatorEnd+=(ke.end?"|":"")+Me.terminatorEnd)),ke.illegal&&(Te.illegalRe=oe(ke.illegal)),ke.contains||(ke.contains=[]),ke.contains=[].concat(...ke.contains.map(function(ut){return Nn(ut==="self"?ke:ut)})),ke.contains.forEach(function(ut){ze(ut,Te)}),ke.starts&&ze(ke.starts,Me),Te.matcher=be(Te),Te}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||{}),ze(F)}function Un(F){return F?F.endsWithParent||Un(F.starts):!1}function Nn(F){return F.variants&&!F.cachedVariants&&(F.cachedVariants=F.variants.map(function(oe){return i(F,{variants:null},oe)})),F.cachedVariants?F.cachedVariants:Un(F)?i(F,{starts:F.starts?i(F.starts):null}):Object.isFrozen(F)?i(F):F}var Dn="11.11.1";class ln extends Error{constructor(oe,ye){super(oe),this.name="HTMLInjectionError",this.html=ye}}const Le=t,G=i,Pe=Symbol("nomatch"),nt=7,ht=function(F){const oe=Object.create(null),ye=Object.create(null),U=[];let be=!0;const ze="Could not find the language '{}', did you forget to load/include a language module?",ke={disableAutodetect:!0,name:"Plain text",contains:[]};let Me={ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",cssSelector:"pre code",languages:null,__emitter:g};function Te(A){return Me.noHighlightRe.test(A)}function Pt(A){let q=A.className+" ";q+=A.parentNode?A.parentNode.className:"";const Ce=Me.languageDetectRe.exec(q);if(Ce){const Y=Qt(Ce[1]);return Y||(yi(ze.replace("{}",Ce[1])),yi("Falling back to no-highlight mode for this block.",A)),Y?Ce[1]:"no-highlight"}return q.split(/\s+/).find(Y=>Te(Y)||Qt(Y))}function ut(A,q,Ce){let Y="",ue="";typeof q=="object"?(Y=A,Ce=q.ignoreIllegals,ue=q.language):(an("10.7.0","highlight(lang, code, ...args) has been deprecated."),an("10.7.0",`Please use highlight(code, options) instead.
80
+ https://github.com/highlightjs/highlight.js/issues/2277`),ue=A,Y=q),Ce===void 0&&(Ce=!0);const he={code:Y,language:ue};ni("before:highlight",he);const Ie=he.result?he.result:De(he.language,he.code,Ce);return Ie.code=he.code,ni("after:highlight",Ie),Ie}function De(A,q,Ce,Y){const ue=Object.create(null);function he(ve,Ye){return ve.keywords[Ye]}function Ie(){if(!_e.keywords){Ke.addText(xe);return}let ve=0;_e.keywordPatternRe.lastIndex=0;let Ye=_e.keywordPatternRe.exec(xe),ft="";for(;Ye;){ft+=xe.substring(ve,Ye.index);const bt=le.case_insensitive?Ye[0].toLowerCase():Ye[0],it=he(_e,bt);if(it){const[pi,ri]=it;if(Ke.addText(ft),ft="",ue[bt]=(ue[bt]||0)+1,ue[bt]<=nt&&(Se+=ri),pi.startsWith("_"))ft+=Ye[0];else{const Bn=le.classNameAliases[pi]||pi;Re(Ye[0],Bn)}}else ft+=Ye[0];ve=_e.keywordPatternRe.lastIndex,Ye=_e.keywordPatternRe.exec(xe)}ft+=xe.substring(ve),Ke.addText(ft)}function Tt(){if(xe==="")return;let ve=null;if(typeof _e.subLanguage=="string"){if(!oe[_e.subLanguage]){Ke.addText(xe);return}ve=De(_e.subLanguage,xe,!0,Xe[_e.subLanguage]),Xe[_e.subLanguage]=ve._top}else ve=ti(xe,_e.subLanguage.length?_e.subLanguage:null);_e.relevance>0&&(Se+=ve.relevance),Ke.__addSublanguage(ve._emitter,ve.language)}function Je(){_e.subLanguage!=null?Tt():Ie(),xe=""}function Re(ve,Ye){ve!==""&&(Ke.startScope(Ye),Ke.addText(ve),Ke.endScope())}function Dt(ve,Ye){let ft=1;const bt=Ye.length-1;for(;ft<=bt;){if(!ve._emit[ft]){ft++;continue}const it=le.classNameAliases[ve[ft]]||ve[ft],pi=Ye[ft];it?Re(pi,it):(xe=pi,Ie(),xe=""),ft++}}function Ge(ve,Ye){return ve.scope&&typeof ve.scope=="string"&&Ke.openNode(le.classNameAliases[ve.scope]||ve.scope),ve.beginScope&&(ve.beginScope._wrap?(Re(xe,le.classNameAliases[ve.beginScope._wrap]||ve.beginScope._wrap),xe=""):ve.beginScope._multi&&(Dt(ve.beginScope,Ye),xe="")),_e=Object.create(ve,{parent:{value:_e}}),_e}function W(ve,Ye,ft){let bt=N(ve.endRe,ft);if(bt){if(ve["on:end"]){const it=new e(ve);ve["on:end"](Ye,it),it.isMatchIgnored&&(bt=!1)}if(bt){for(;ve.endsParent&&ve.parent;)ve=ve.parent;return ve}}if(ve.endsWithParent)return W(ve.parent,Ye,ft)}function te(ve){return _e.matcher.regexIndex===0?(xe+=ve[0],1):(ci=!0,0)}function Oe(ve){const Ye=ve[0],ft=ve.rule,bt=new e(ft),it=[ft.__beforeBegin,ft["on:begin"]];for(const pi of it)if(pi&&(pi(ve,bt),bt.isMatchIgnored))return te(Ye);return ft.skip?xe+=Ye:(ft.excludeBegin&&(xe+=Ye),Je(),!ft.returnBegin&&!ft.excludeBegin&&(xe=Ye)),Ge(ft,ve),ft.returnBegin?0:Ye.length}function Qe(ve){const Ye=ve[0],ft=q.substring(ve.index),bt=W(_e,ve,ft);if(!bt)return Pe;const it=_e;_e.endScope&&_e.endScope._wrap?(Je(),Re(Ye,_e.endScope._wrap)):_e.endScope&&_e.endScope._multi?(Je(),Dt(_e.endScope,ve)):it.skip?xe+=Ye:(it.returnEnd||it.excludeEnd||(xe+=Ye),Je(),it.excludeEnd&&(xe=Ye));do _e.scope&&Ke.closeNode(),!_e.skip&&!_e.subLanguage&&(Se+=_e.relevance),_e=_e.parent;while(_e!==bt.parent);return bt.starts&&Ge(bt.starts,ve),it.returnEnd?0:Ye.length}function vt(){const ve=[];for(let Ye=_e;Ye!==le;Ye=Ye.parent)Ye.scope&&ve.unshift(Ye.scope);ve.forEach(Ye=>Ke.openNode(Ye))}let ot={};function gt(ve,Ye){const ft=Ye&&Ye[0];if(xe+=ve,ft==null)return Je(),0;if(ot.type==="begin"&&Ye.type==="end"&&ot.index===Ye.index&&ft===""){if(xe+=q.slice(Ye.index,Ye.index+1),!be){const bt=new Error(`0 width match regex (${A})`);throw bt.languageName=A,bt.badRule=ot.rule,bt}return 1}if(ot=Ye,Ye.type==="begin")return Oe(Ye);if(Ye.type==="illegal"&&!Ce){const bt=new Error('Illegal lexeme "'+ft+'" for mode "'+(_e.scope||"<unnamed>")+'"');throw bt.mode=_e,bt}else if(Ye.type==="end"){const bt=Qe(Ye);if(bt!==Pe)return bt}if(Ye.type==="illegal"&&ft==="")return xe+=`
81
+ `,1;if(ct>1e5&&ct>Ye.index*3)throw new Error("potential infinite loop, way more iterations than matches");return xe+=ft,ft.length}const le=Qt(A);if(!le)throw oi(ze.replace("{}",A)),new Error('Unknown language: "'+A+'"');const Ue=Gn(le);let Fe="",_e=Y||Ue;const Xe={},Ke=new Me.__emitter(Me);vt();let xe="",Se=0,Ne=0,ct=0,ci=!1;try{if(le.__emitTokens)le.__emitTokens(q,Ke);else{for(_e.matcher.considerAll();;){ct++,ci?ci=!1:_e.matcher.considerAll(),_e.matcher.lastIndex=Ne;const ve=_e.matcher.exec(q);if(!ve)break;const Ye=q.substring(Ne,ve.index),ft=gt(Ye,ve);Ne=ve.index+ft}gt(q.substring(Ne))}return Ke.finalize(),Fe=Ke.toHTML(),{language:A,value:Fe,relevance:Se,illegal:!1,_emitter:Ke,_top:_e}}catch(ve){if(ve.message&&ve.message.includes("Illegal"))return{language:A,value:Le(q),illegal:!0,relevance:0,_illegalBy:{message:ve.message,index:Ne,context:q.slice(Ne-100,Ne+100),mode:ve.mode,resultSoFar:Fe},_emitter:Ke};if(be)return{language:A,value:Le(q),illegal:!1,relevance:0,errorRaised:ve,_emitter:Ke,_top:_e};throw ve}}function Rt(A){const q={value:Le(A),illegal:!1,relevance:0,_top:ke,_emitter:new Me.__emitter(Me)};return q._emitter.addText(A),q}function ti(A,q){q=q||Me.languages||Object.keys(oe);const Ce=Rt(A),Y=q.filter(Qt).filter(ii).map(Je=>De(Je,A,!1));Y.unshift(Ce);const ue=Y.sort((Je,Re)=>{if(Je.relevance!==Re.relevance)return Re.relevance-Je.relevance;if(Je.language&&Re.language){if(Qt(Je.language).supersetOf===Re.language)return 1;if(Qt(Re.language).supersetOf===Je.language)return-1}return 0}),[he,Ie]=ue,Tt=he;return Tt.secondBest=Ie,Tt}function qt(A,q,Ce){const Y=q&&ye[q]||Ce;A.classList.add("hljs"),A.classList.add(`language-${Y}`)}function $t(A){let q=null;const Ce=Pt(A);if(Te(Ce))return;if(ni("before:highlightElement",{el:A,language:Ce}),A.dataset.highlighted){console.log("Element previously highlighted. To highlight again, first unset `dataset.highlighted`.",A);return}if(A.children.length>0&&(Me.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)),Me.throwUnescapedHTML))throw new ln("One of your code blocks includes unescaped HTML.",A.innerHTML);q=A;const Y=q.textContent,ue=Ce?ut(Y,{language:Ce,ignoreIllegals:!0}):ti(Y);A.innerHTML=ue.value,A.dataset.highlighted="yes",qt(A,Ce,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}),ni("after:highlightElement",{el:A,result:ue,text:Y})}function ei(A){Me=G(Me,A)}const Q=()=>{tt(),an("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")};function pe(){tt(),an("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.")}let qe=!1;function tt(){function A(){tt()}if(document.readyState==="loading"){qe||window.addEventListener("DOMContentLoaded",A,!1),qe=!0;return}document.querySelectorAll(Me.cssSelector).forEach($t)}function kt(A,q){let Ce=null;try{Ce=q(F)}catch(Y){if(oi("Language definition for '{}' could not be registered.".replace("{}",A)),be)oi(Y);else throw Y;Ce=ke}Ce.name||(Ce.name=A),oe[A]=Ce,Ce.rawDefinition=q.bind(null,F),Ce.aliases&&ai(Ce.aliases,{languageName:A})}function He(A){delete oe[A];for(const q of Object.keys(ye))ye[q]===A&&delete ye[q]}function st(){return Object.keys(oe)}function Qt(A){return A=(A||"").toLowerCase(),oe[A]||oe[ye[A]]}function ai(A,{languageName:q}){typeof A=="string"&&(A=[A]),A.forEach(Ce=>{ye[Ce.toLowerCase()]=q})}function ii(A){const q=Qt(A);return q&&!q.disableAutodetect}function zi(A){A["before:highlightBlock"]&&!A["before:highlightElement"]&&(A["before:highlightElement"]=q=>{A["before:highlightBlock"](Object.assign({block:q.el},q))}),A["after:highlightBlock"]&&!A["after:highlightElement"]&&(A["after:highlightElement"]=q=>{A["after:highlightBlock"](Object.assign({block:q.el},q))})}function En(A){zi(A),U.push(A)}function Mi(A){const q=U.indexOf(A);q!==-1&&U.splice(q,1)}function ni(A,q){const Ce=A;U.forEach(function(Y){Y[Ce]&&Y[Ce](q)})}function Vi(A){return an("10.7.0","highlightBlock will be removed entirely in v12.0"),an("10.7.0","Please use highlightElement now."),$t(A)}Object.assign(F,{highlight:ut,highlightAuto:ti,highlightAll:tt,highlightElement:$t,highlightBlock:Vi,configure:ei,initHighlighting:Q,initHighlightingOnLoad:pe,registerLanguage:kt,unregisterLanguage:He,listLanguages:st,getLanguage:Qt,registerAliases:ai,autoDetection:ii,inherit:G,addPlugin:En,removePlugin:Mi}),F.debugMode=function(){be=!1},F.safeMode=function(){be=!0},F.versionString=Dn,F.regex={concat:y,lookahead:p,either:D,optional:_,anyNumberOfTimes:v};for(const A in Ki)typeof Ki[A]=="object"&&o(Ki[A]);return Object.assign(F,Ki),F},zt=ht({});return zt.newInstance=()=>ht({}),Wy=zt,zt.HighlightJS=zt,zt.default=zt,Wy}var D8=I8();const Fv=fR(D8),pD="[A-Za-z$_][0-9A-Za-z$_]*",E8=["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"],P8=["true","false","null","undefined","NaN","Infinity"],pR=["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"],mR=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],_R=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],T8=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],M8=[].concat(_R,pR,mR);function vR(o){const e=o.regex,t=(de,{after:yt})=>{const We="</"+de[0].slice(1);return de.input.indexOf(We,yt)!==-1},i=pD,n={begin:"<>",end:"</>"},s=/<[A-Za-z0-9\\._:-]+\s*\/>/,r={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(de,yt)=>{const We=de[0].length+de.index,Ze=de.input[We];if(Ze==="<"||Ze===","){yt.ignoreMatch();return}Ze===">"&&(t(de,{after:We})||yt.ignoreMatch());let Mt;const hi=de.input.substring(We);if(Mt=hi.match(/^\s*=/)){yt.ignoreMatch();return}if((Mt=hi.match(/^\s+extends\s+/))&&Mt.index===0){yt.ignoreMatch();return}}},a={$pattern:pD,keyword:E8,literal:P8,built_in:M8,"variable.language":T8},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]},E={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 z=[].concat(E,p.contains),O=z.concat([{begin:/(\s*)\(/,end:/\)/,keywords:a,contains:["self"].concat(z)}]),J={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:a,contains:O},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"}}]},fe={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:{_:[...pR,...mR]}},Ee={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},$e={variants:[{match:[/function/,/\s+/,i,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[J],illegal:/%/},me={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function at(de){return e.concat("(?!",de.join("|"),")")}const Xt={match:e.concat(/\b/,at([..._R,"super","import"].map(de=>`${de}\\s*\\(`)),i,e.lookahead(/\s*\(/)),className:"title.function",relevance:0},wt={begin:e.concat(/\./,e.lookahead(e.concat(i,/(?![0-9A-Za-z$_(])/))),end:i,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},Yt={match:[/get|set/,/\s+/,i,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},J]},Ft="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+o.UNDERSCORE_IDENT_RE+")\\s*=>",Jt={match:[/const|var|let/,/\s+/,i,/\s*/,/=\s*/,/(async\s*)?/,e.lookahead(Ft)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[J]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:a,exports:{PARAMS_CONTAINS:O,CLASS_REFERENCE:fe},illegal:/#(?![$_A-z])/,contains:[o.SHEBANG({label:"shebang",binary:"node",relevance:5}),Ee,o.APOS_STRING_MODE,o.QUOTE_STRING_MODE,v,_,y,S,E,{match:/\$\d+/},f,fe,{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:[E,o.REGEXP_MODE,{className:"function",begin:Ft,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:O}]}]},{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"]}]}]},$e,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+o.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[J,o.inherit(o.TITLE_MODE,{begin:i,className:"title.function"})]},{match:/\.\.\./,relevance:0},wt,{match:"\\$"+i,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[J]},Xt,me,X,Yt,{match:/\$[(.]/}]}}function X1(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var kh=X1();function bR(o){kh=o}var zc={exec:()=>null};function Kh(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 pn(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(Ks.caret,"$1"),t=t.replace(n,r),i},getRegex:()=>new RegExp(t,e)};return i}var N8=((o="")=>{try{return!!new RegExp("(?<=1)(?<!1)"+o)}catch{return!1}})(),Ks={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:Kh(o=>new RegExp(`^ {0,${o}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`)),hrRegex:Kh(o=>new RegExp(`^ {0,${o}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`)),fencesBeginRegex:Kh(o=>new RegExp(`^ {0,${o}}(?:\`\`\`|~~~)`)),headingBeginRegex:Kh(o=>new RegExp(`^ {0,${o}}#`)),htmlBeginRegex:Kh(o=>new RegExp(`^ {0,${o}}<(?:[a-z].*>|!--)`,"i")),blockquoteBeginRegex:Kh(o=>new RegExp(`^ {0,${o}}>`))},R8=/^(?:[ \t]*(?:\n|$))+/,A8=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,O8=/^ {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+|$)/,F8=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,Y1=/ {0,3}(?:[*+-]|\d{1,9}[.)])/,wR=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,yR=pn(wR).replace(/bull/g,Y1).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(),H8=pn(wR).replace(/bull/g,Y1).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(),J1=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,W8=/^[^\n]+/,Q1=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/,B8=pn(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",Q1).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),z8=pn(/^(bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,Y1).getRegex(),Pw="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",eL=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,V8=pn("^ {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",eL).replace("tag",Pw).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),SR=pn(J1).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",Pw).getRegex(),j8=pn(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",SR).getRegex(),tL={blockquote:j8,code:A8,def:B8,fences:O8,heading:F8,hr:rm,html:V8,lheading:yR,list:z8,newline:R8,paragraph:SR,table:zc,text:W8},mD=pn("^ *([^\\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",Pw).getRegex(),U8={...tL,lheading:H8,table:mD,paragraph:pn(J1).replace("hr",rm).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",mD).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",Pw).getRegex()},$8={...tL,html:pn(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",eL).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:pn(J1).replace("hr",rm).replace("heading",` *#{1,6} *[^
82
+ ]`).replace("lheading",yR).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},q8=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,K8=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,CR=/^( {2,}|\\)\n(?!\s*$)/,G8=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,Mg=/[\p{P}\p{S}]/u,Tw=/[\s\p{P}\p{S}]/u,iL=/[^\s\p{P}\p{S}]/u,Z8=pn(/^((?![*_])punctSpace)/,"u").replace(/punctSpace/g,Tw).getRegex(),xR=/(?!~)[\p{P}\p{S}]/u,X8=/(?!~)[\s\p{P}\p{S}]/u,Y8=/(?:[^\s\p{P}\p{S}]|~)/u,J8=pn(/link|precode-code|html/,"g").replace("link",/\[(?:[^\[\]`]|(?<a>`+)[^`]+\k<a>(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace("precode-",N8?"(?<!`)()":"(^^|[^`])").replace("code",/(?<b>`+)[^`]+\k<b>(?!`)/).replace("html",/<(?! )[^<>]*?>/).getRegex(),LR=/^(?:\*+(?:((?!\*)punct)|([^\s*]))?)|^_+(?:((?!_)punct)|([^\s_]))?/,Q8=pn(LR,"u").replace(/punct/g,Mg).getRegex(),eq=pn(LR,"u").replace(/punct/g,xR).getRegex(),kR="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)",tq=pn(kR,"gu").replace(/notPunctSpace/g,iL).replace(/punctSpace/g,Tw).replace(/punct/g,Mg).getRegex(),iq=pn(kR,"gu").replace(/notPunctSpace/g,Y8).replace(/punctSpace/g,X8).replace(/punct/g,xR).getRegex(),nq=pn("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)","gu").replace(/notPunctSpace/g,iL).replace(/punctSpace/g,Tw).replace(/punct/g,Mg).getRegex(),sq=pn(/^~~?(?:((?!~)punct)|[^\s~])/,"u").replace(/punct/g,Mg).getRegex(),oq="^[^~]+(?=[^~])|(?!~)punct(~~?)(?=[\\s]|$)|notPunctSpace(~~?)(?!~)(?=punctSpace|$)|(?!~)punctSpace(~~?)(?=notPunctSpace)|[\\s](~~?)(?!~)(?=punct)|(?!~)punct(~~?)(?!~)(?=punct)|notPunctSpace(~~?)(?=notPunctSpace)",rq=pn(oq,"gu").replace(/notPunctSpace/g,iL).replace(/punctSpace/g,Tw).replace(/punct/g,Mg).getRegex(),aq=pn(/\\(punct)/,"gu").replace(/punct/g,Mg).getRegex(),lq=pn(/^<(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(),cq=pn(eL).replace("(?:-->|$)","-->").getRegex(),dq=pn("^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",cq).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),Hv=/(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+(?!`)[^`]*?`+(?!`)|``+(?=\])|[^\[\]\\`])*?/,hq=pn(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]+(?:\n[ \t]*)?|\n[ \t]*)(title))?\s*\)/).replace("label",Hv).replace("href",/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),IR=pn(/^!?\[(label)\]\[(ref)\]/).replace("label",Hv).replace("ref",Q1).getRegex(),DR=pn(/^!?\[(ref)\](?:\[\])?/).replace("ref",Q1).getRegex(),uq=pn("reflink|nolink(?!\\()","g").replace("reflink",IR).replace("nolink",DR).getRegex(),_D=/[hH][tT][tT][pP][sS]?|[fF][tT][pP]/,nL={_backpedal:zc,anyPunctuation:aq,autolink:lq,blockSkip:J8,br:CR,code:K8,del:zc,delLDelim:zc,delRDelim:zc,emStrongLDelim:Q8,emStrongRDelimAst:tq,emStrongRDelimUnd:nq,escape:q8,link:hq,nolink:DR,punctuation:Z8,reflink:IR,reflinkSearch:uq,tag:dq,text:G8,url:zc},gq={...nL,link:pn(/^!?\[(label)\]\((.*?)\)/).replace("label",Hv).getRegex(),reflink:pn(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",Hv).getRegex()},o0={...nL,emStrongRDelimAst:iq,emStrongLDelim:eq,delLDelim:sq,delRDelim:rq,url:pn(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("protocol",_D).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:pn(/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|protocol:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/).replace("protocol",_D).getRegex()},fq={...o0,br:pn(CR).replace("{2,}","*").getRegex(),text:pn(o0.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()},qm={normal:tL,gfm:U8,pedantic:$8},Gg={normal:nL,gfm:o0,breaks:fq,pedantic:gq},pq={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},vD=o=>pq[o];function ia(o,e){if(e){if(Ks.escapeTest.test(o))return o.replace(Ks.escapeReplace,vD)}else if(Ks.escapeTestNoEncode.test(o))return o.replace(Ks.escapeReplaceNoEncode,vD);return o}function bD(o){try{o=encodeURI(o).replace(Ks.percentDecode,"%")}catch{return null}return o}function wD(o,e){var s;let t=o.replace(Ks.findPipe,(r,a,c)=>{let h=!1,g=a;for(;--g>=0&&c[g]==="\\";)h=!h;return h?"|":" |"}),i=t.split(Ks.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(Ks.slashPipe,"|");return i}function Pl(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 yD(o){let e=o.split(`
83
+ `),t=e.length-1;for(;t>=0&&Ks.blankLine.test(e[t]);)t--;return e.length-t<=2?o:e.slice(0,t+1).join(`
84
+ `)}function mq(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 _q(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 SD(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 vq(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 Wv=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]:yD(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=vq(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=Pl(t,"#");(this.options.pedantic||!i||this.rules.other.endingSpaceChar.test(i))&&(t=i.trim())}return{type:"heading",raw:Pl(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:Pl(e[0],`
88
+ `)}}blockquote(o){let e=this.rules.block.blockquote.exec(o);if(e){let t=Pl(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=_q(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(_),E=this.rules.other.headingBeginRegex(_),N=this.rules.other.htmlBeginRegex(_),z=this.rules.other.blockquoteBeginRegex(_);for(;o;){let O=o.split(`
103
+ `,1)[0],J;if(p=O,this.options.pedantic?(p=p.replace(this.rules.other.listReplaceNesting," "),J=p):J=p.replace(this.rules.other.tabCharGlobal," "),D.test(p)||E.test(p)||N.test(p)||z.test(p)||y.test(p)||S.test(p))break;if(J.search(this.rules.other.nonSpaceChar)>=_||!p.trim())g+=`
104
+ `+J.slice(_);else{if(v||f.replace(this.rules.other.tabCharGlobal," ").search(this.rules.other.nonSpaceChar)>=4||D.test(f)||E.test(f)||S.test(f))break;g+=`
105
+ `+p}v=!p.trim(),h+=O+`
106
+ `,o=o.substring(O.length+1),f=J.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=yD(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:Pl(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=wD(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:Pl(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(wD(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:Pl(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=Pl(t.slice(0,-1),"\\");if((t.length-s.length)%2===0)return}else{let s=mq(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)),SD(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 SD(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}}}},Er=class r0{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 Wv,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:Ks,block:qm.normal,inline:Gg.normal};this.options.pedantic?(t.block=qm.pedantic,t.inline=Gg.pedantic):this.options.gfm&&(t.block=qm.gfm,this.options.breaks?t.inline=Gg.breaks:t.inline=Gg.gfm),this.tokenizer.rules=t}static get rules(){return{block:qm,inline:Gg}}static lex(e,t){return new r0(t).lex(e)}static lexInline(e,t){return new r0(t).inlineTokens(e)}lex(e){e=e.replace(Ks.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(Ks.tabCharGlobal," ").replace(Ks.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),E;this.options.extensions.startInline.forEach(N=>{E=N.call({lexer:this},D),typeof E=="number"&&E>=0&&(S=Math.min(S,E))}),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)}},Bv=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(Ks.notSpaceStart))==null?void 0:s[0],n=o.replace(Ks.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=bD(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=bD(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)}},sL=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}},Pr=class a0{constructor(e){Ai(this,"options");Ai(this,"renderer");Ai(this,"textRenderer");this.options=e||kh,this.options.renderer=this.options.renderer||new Bv,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new sL}static parse(e,t){return new a0(t).parse(e)}static parseInline(e,t){return new a0(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?Er.lex:Er.lexInline}provideParser(o=this.block){return o?Pr.parse:Pr.parseInline}},Ai(Km,"passThroughHooks",new Set(["preprocess","postprocess","processAllTokens","emStrongMask"])),Ai(Km,"passThroughHooksRespectAsync",new Set(["preprocess","postprocess","processAllTokens"])),Km),bq=class{constructor(...o){Ai(this,"defaults",X1());Ai(this,"options",this.setOptions);Ai(this,"parse",this.parseMarkdown(!0));Ai(this,"parseInline",this.parseMarkdown(!1));Ai(this,"Parser",Pr);Ai(this,"Renderer",Bv);Ai(this,"TextRenderer",sL);Ai(this,"Lexer",Er);Ai(this,"Tokenizer",Wv);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 Bv(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 Wv(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 Er.lex(o,e??this.defaults)}parser(o,e){return Pr.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?Er.lex:Er.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?Pr.parse:Pr.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?Er.lex:Er.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?Pr.parse:Pr.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 bq;function Mn(o,e){return fh.parse(o,e)}Mn.options=Mn.setOptions=function(o){return fh.setOptions(o),Mn.defaults=fh.defaults,bR(Mn.defaults),Mn};Mn.getDefaults=X1;Mn.defaults=kh;Mn.use=function(...o){return fh.use(...o),Mn.defaults=fh.defaults,bR(Mn.defaults),Mn};Mn.walkTokens=function(o,e){return fh.walkTokens(o,e)};Mn.parseInline=fh.parseInline;Mn.Parser=Pr;Mn.parser=Pr.parse;Mn.Renderer=Bv;Mn.TextRenderer=sL;Mn.Lexer=Er;Mn.lexer=Er.lex;Mn.Tokenizer=Wv;Mn.Hooks=gf;Mn.parse=Mn;Mn.options;Mn.setOptions;Mn.use;Mn.walkTokens;Mn.parseInline;Pr.parse;Er.lex;var wq=R('<span class="chat-model svelte-10ayso4"><!></span>'),yq=R('<button class="clear-btn svelte-10ayso4" title="New conversation">+</button>'),Sq=R('<p class="history-empty svelte-10ayso4">No saved conversations.</p>'),Cq=R('<li><button class="history-load svelte-10ayso4"> </button> <button class="history-del svelte-10ayso4" title="Delete">✕</button></li>'),xq=R('<ul class="history-list svelte-10ayso4"></ul>'),Lq=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>'),kq=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>'),Iq=R('Chatting in context of <code class="svelte-10ayso4"> </code>',1),Dq=R('<button class="chip svelte-10ayso4"> </button>'),Eq=R('<div class="suggestions svelte-10ayso4"><p class="suggestions-hint svelte-10ayso4"><!></p> <!></div>'),Pq=R('<div class="msg-content user-text svelte-10ayso4"> </div>'),CD=R('<span class="tool-args svelte-10ayso4"> </span>'),xD=R('<div class="tool-event tool-call svelte-10ayso4"><span class="tool-icon svelte-10ayso4">🔧</span> <span class="tool-name svelte-10ayso4"> </span> <!></div>'),LD=R('<div class="tool-event tool-result svelte-10ayso4"><span class="tool-icon svelte-10ayso4">✓</span> <span class="tool-name svelte-10ayso4"> </span></div>'),kD=R('<div class="tool-events svelte-10ayso4"></div>'),ID=R('<div class="text-block svelte-10ayso4"></div>'),Tq=R('<button class="create-btn svelte-10ayso4">Save as new file…</button>'),Mq=R('<span class="auto-badge svelte-10ayso4" title="Auto-applying AI code to this script in this session">auto ✓</span>'),Nq=R('<button class="apply-auto-btn svelte-10ayso4" title="Apply and always apply for this script in this session">always</button>'),Rq=R('<button class="apply-btn svelte-10ayso4">Apply</button> <!>',1),Aq=R('<button class="expand-btn svelte-10ayso4"> </button>'),Oq=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>'),Fq=R('<!> <div class="msg-content svelte-10ayso4"></div>',1),Hq=R("<div><!></div>"),Wq=R('<div class="message assistant svelte-10ayso4"><div class="msg-content svelte-10ayso4"><span class="status-shimmer svelte-10ayso4"> </span></div></div>'),Bq=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>'),zq=R('<div class="message assistant streaming svelte-10ayso4"><div class="msg-content svelte-10ayso4"></div></div>'),Vq=R('<div class="chat-error svelte-10ayso4"> </div>'),jq=R('<span><span> </span> <span class="chip-name svelte-10ayso4"> </span> <button class="chip-remove svelte-10ayso4"> </button></span>'),Uq=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>'),$q=R('<button class="stop-btn svelte-10ayso4" title="Stop generation">■</button>'),qq=R('<button class="send-btn svelte-10ayso4">↑</button>'),Kq=R('<option class="svelte-10ayso4"> </option>'),Gq=R('<select class="model-select svelte-10ayso4"></select>'),Zq=R('<span class="model-name svelte-10ayso4"> </span>'),Xq=R('<button class="info-btn svelte-10ayso4" title="Model info">ℹ</button>'),Yq=R('<div class="model-bar svelte-10ayso4"><span class="model-provider svelte-10ayso4"> </span> <!> <!></div>'),Jq=R('<p class="info-status svelte-10ayso4">Loading…</p>'),Qq=R('<p class="info-status info-err svelte-10ayso4"> </p>'),eK=R('<dt class="svelte-10ayso4">Ollama version</dt><dd class="svelte-10ayso4"> </dd>',1),tK=R('<dt class="svelte-10ayso4">Family</dt><dd class="svelte-10ayso4"> </dd>',1),iK=R('<dt class="svelte-10ayso4">Parameters</dt><dd class="svelte-10ayso4"> </dd>',1),nK=R('<dt class="svelte-10ayso4">Quantization</dt><dd class="svelte-10ayso4"> </dd>',1),sK=R('<dt class="svelte-10ayso4">Format</dt><dd class="svelte-10ayso4"> </dd>',1),oK=R('<div class="running-model svelte-10ayso4"> </div>'),rK=R('<dt class="svelte-10ayso4">Loaded</dt> <dd class="svelte-10ayso4"></dd>',1),aK=R('<dt class="svelte-10ayso4">Loaded</dt><dd class="dim svelte-10ayso4">Not in memory</dd>',1),lK=R('<dl class="svelte-10ayso4"><!> <!> <!> <!> <!> <!></dl>'),cK=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>'),dK=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 hK(o,e){To(e,!0),Fv.registerLanguage("javascript",vR),Mn.use({breaks:!0,gfm:!0});let t=ng(e,"currentScript",3,null),i=ng(e,"extraFiles",31,()=>Si([])),n=V(Si([])),s=V(null),r=V(""),a=V(!1),c=V(""),h=V(null);const g="she:conversationId";function f(){return crypto.randomUUID().replace(/-/g,"").slice(0,16)}let p=V(Si(localStorage.getItem(g)??f())),v=V(Si([])),_=V(!1);Rn(()=>{localStorage.setItem(g,u(p))});let y=V(Si([])),S=V(Si(localStorage.getItem("she:selectedModel")??"")),D=V(null);const E=dt(()=>{var W;return u(D)!==null&&((W=t())==null?void 0:W.path)===u(D)});let N=V(Si(new Set)),z=V(!1),O=V(null),J=V(!1),X=V(""),fe=V(0),Ee=null,$e=V(0);const me=["[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 at=V(!0),Xt=V(!0),wt=V(!0),Yt=V(!1),Ft,Jt=V(Si([])),de,yt;const We=dt(()=>({apiref:u(at),tools:u(Xt)})),Ze=dt(()=>{var W;return((W=u(h))==null?void 0:W.configured)??!1}),Mt=dt(()=>{var W;return u(Ze)||!!((W=u(h))!=null&&W.provider)&&!!u(S)}),hi=dt(()=>u(fe)+new TextEncoder().encode(u(r)).length),Bt=dt(()=>u(wt)?t():null);Rn(()=>{var te;const W=(te=t())==null?void 0:te.path;I(wt,!0),u(D)!==null&&W!==u(D)&&I(D,null)}),Rn(()=>{var Qe;if(!u(E))return;const W=u(n).at(-1);if(!W||W.role!=="assistant")return;const Oe=It(W.content).find(vt=>vt.type==="code"&&hn(vt.lang));if(Oe){const vt=xn(Oe.text);(Qe=e.onApply)==null||Qe.call(e,vt?vt.code:Oe.text)}});async function Ot(){try{const W=await aR();I(h,W,!0),W.configured&&!u(S)&&I(S,W.model,!0)}catch{}}Rn(()=>(window.addEventListener("she:config-changed",Ot),()=>window.removeEventListener("she:config-changed",Ot))),Rn(()=>{u(S)&&localStorage.setItem("she:selectedModel",u(S))}),Rn(()=>{var W;(W=u(h))!=null&&W.provider&&lR().then(te=>{I(y,te.models,!0),!u(S)&&te.models.length>0&&I(S,te.models[0],!0)}).catch(()=>{})}),Rn(()=>{u(S),I(O,null),I(X,"")}),Rn(()=>{if(!u(a))return;I($e,Math.floor(Math.random()*me.length),!0);const W=setInterval(()=>{I($e,(u($e)+1)%me.length)},1e4);return()=>clearInterval(W)}),Rn(()=>{var W;yt&&(u(n).length+(((W=u(s))==null?void 0:W.length)??0),requestAnimationFrame(()=>{yt&&(yt.scrollTop=yt.scrollHeight)}))}),Rn(()=>{const W=u(We),te=u(Bt),Oe=i();u(Mt)&&dR({context:W,currentScript:te??null,extraFiles:Oe.length>0?Oe:void 0}).then(Qe=>{I(fe,new TextEncoder().encode(Qe.prompt).length,!0)}).catch(()=>{})});function It(W){const te=W.replace(/(\n|^)(\/{2} @[a-z-]+:[^\n]+)\n(```\w*)\n/g,`$1$3
145
+ $2
146
+ `),Oe=[],Qe=/```(\w*)\n([\s\S]*?)```/g;let vt=0,ot;for(;(ot=Qe.exec(te))!==null;)ot.index>vt&&Oe.push({type:"text",text:te.slice(vt,ot.index)}),Oe.push({type:"code",lang:ot[1]||"text",text:ot[2].trimEnd()}),vt=ot.index+ot[0].length;return vt<te.length&&Oe.push({type:"text",text:te.slice(vt)}),Oe}const si=15;function vi(W){return W.split(`
147
+ `).length>si}function _n(W){const te=new Set(u(N));te.has(W)?te.delete(W):te.add(W),I(N,te,!0)}function Ki(W,te){if(hn(te))try{return Fv.highlight(W,{language:"javascript"}).value}catch{}return W.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function rn(W){return Mn.parse(W)}function vn(W){const te=W.replace(/(\n|^)(\/{2} @[a-z-]+:[^\n]+)\n(```\w*)\n/g,`$1$3
148
+ $2
149
+ `),Oe=[],Qe=/```(\w*)\n([\s\S]*?)```/g;let vt=0,ot;for(;(ot=Qe.exec(te))!==null;)ot.index>vt&&Oe.push({type:"text",text:te.slice(vt,ot.index)}),Oe.push({type:"code",lang:ot[1]||"text",text:ot[2].trimEnd()}),vt=ot.index+ot[0].length;const gt=te.slice(vt),le=gt.match(/```(\w*)\n([\s\S]*)$/);return le?(le.index>0&&Oe.push({type:"text",text:gt.slice(0,le.index)}),Oe.push({type:"code",lang:le[1]||"text",text:le[2]})):gt&&Oe.push({type:"text",text:gt}),Oe}function Bi(W){navigator.clipboard.writeText(W).catch(()=>{})}function jn(W,te=!1){var Oe;te&&t()&&I(D,t().path,!0),(Oe=e.onApply)==null||Oe.call(e,W)}function hn(W){return!W||W==="js"||W==="javascript"}function xn(W){const te=W.match(/^\/\/ @new-file:\s*(\S+\.js)[ \t]*\n/);return te?{filename:te[1],code:W.slice(te[0].length)}:null}function qn(W){return W>=1e9?`${(W/1e9).toFixed(1)} GB`:W>=1e6?`${(W/1e6).toFixed(0)} MB`:W>=1024?`${(W/1024).toFixed(1)} kB`:`${W} B`}async function Ln(){if(I(z,!0),!(u(O)||u(J))){I(J,!0),I(X,"");try{I(O,await cR(u(S)||u(h).model),!0)}catch(W){I(X,W.message,!0)}I(J,!1)}}function Kn(W){const te=W.match(/\.([^.]+)$/);return te?te[1].toUpperCase():"?"}function et(W){switch(W){case"SH":case"BASH":return"$";case"MD":case"MARKDOWN":return"⇓";case"JSON":case"JSONC":return"{}";default:return W}}function Ht(W){i(i().filter((te,Oe)=>Oe!==W))}function bi(){Ft.click()}async function fi(W){if(!(!W||W.length===0))for(const te of Array.from(W)){const Oe=await te.text();i([...i(),{name:te.name,content:Oe}])}}function oi(W){const te=W.target;fi(te.files),te.value=""}function yi(W){var te;W.preventDefault(),I(Yt,!1),fi(((te=W.dataTransfer)==null?void 0:te.files)??null)}function an(W){var te;(te=W.dataTransfer)!=null&&te.types.includes("Files")&&(W.preventDefault(),I(Yt,!0))}function Qi(){I(Yt,!1)}async function un(){try{I(v,await f8(),!0)}catch{}}async function Wn(){var te;if(u(n).length===0)return;const W=((te=u(n).find(Oe=>Oe.role==="user"))==null?void 0:te.content.slice(0,80))??u(p);try{await p8(u(p),W,u(n)),await un()}catch{}}async function kn(W){try{const te=await uD(W);I(n,te.messages,!0),I(p,W,!0),I(_,!1),I(c,"")}catch{}}async function In(W){try{await m8(W),await un(),W===u(p)&&Ti()}catch{}}function Ti(){I(n,[],!0),I(c,""),I(p,f(),!0),I(_,!1)}vr(async()=>{Ot();try{const W=await uD(u(p));I(n,W.messages,!0)}catch{}await un()});async function Gn(){const W=u(r).trim();if(!W||u(a))return;I(r,""),I(c,""),I(a,!0);const te={role:"user",content:W};I(n,[...u(n),te],!0),Ee=new AbortController,I(Jt,[],!0);try{await hR({messages:u(n),currentScript:u(Bt),context:u(We),modelOverride:u(S)||void 0,extraFiles:i().length>0?i():void 0},Oe=>{I(s,(u(s)??"")+Oe)},Ee.signal,Oe=>{I(Jt,[...u(Jt),Oe],!0)}),I(n,[...u(n),{role:"assistant",content:u(s)??"",toolEvents:u(Jt).length>0?[...u(Jt)]:void 0}],!0),I(Jt,[],!0)}catch(Oe){if(Oe.name==="AbortError"){const Qe=u(s);Qe&&Qe.trim()&&I(n,[...u(n),{role:"assistant",content:Qe+`
150
+
151
+ *[stopped]*`,toolEvents:u(Jt).length>0?[...u(Jt)]:void 0}],!0)}else I(c,Oe.message,!0)}finally{Ee=null,I(s,null),I(Jt,[],!0),I(a,!1),Wn()}}function Un(){Ee==null||Ee.abort()}function Nn(W){W.key==="Enter"&&!W.shiftKey&&(W.preventDefault(),Gn())}function Dn(){Ti()}const ln=["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 Le(W){I(r,W,!0),de==null||de.focus()}var G=dK(),Pe=Ct(G),nt=C(Pe),ht=x(C(nt),2);{var zt=W=>{var te=wq(),Oe=C(te);{var Qe=gt=>{var le=Fr();Z(()=>K(le,`${u(h).provider??""} · ${(u(S)||u(h).model)??""}`)),T(gt,le)},vt=gt=>{var le=Fr();Z(()=>K(le,`${u(h).provider??""} · pick a model below`)),T(gt,le)},ot=gt=>{var le=Fr("Not configured");T(gt,le)};$(Oe,gt=>{u(Mt)?gt(Qe):u(h).provider?gt(vt,1):gt(ot,-1)})}Z(()=>On(te,"title",`Provider: ${u(h).provider??""}`)),T(W,te)};$(ht,W=>{u(h)&&W(zt)})}var F=x(ht,2);let oe;var ye=x(F,2);{var U=W=>{var te=yq();se("click",te,Dn),T(W,te)};$(ye,W=>{u(n).length>0&&W(U)})}var be=x(nt,2);{var ze=W=>{var te=Lq(),Oe=C(te),Qe=x(C(Oe),2),vt=x(Oe,2);{var ot=le=>{var Ue=Sq();T(le,Ue)},gt=le=>{var Ue=xq();mi(Ue,21,()=>u(v),Fe=>Fe.id,(Fe,_e)=>{var Xe=Cq();let Ke;var xe=C(Xe),Se=C(xe),Ne=x(xe,2);Z(()=>{Ke=jt(Xe,1,"history-item svelte-10ayso4",null,Ke,{"history-active":u(_e).id===u(p)}),On(xe,"title",u(_e).id),K(Se,u(_e).title||u(_e).id)}),se("click",xe,()=>kn(u(_e).id)),se("click",Ne,()=>In(u(_e).id)),T(Fe,Xe)}),T(le,Ue)};$(vt,le=>{u(v).length===0?le(ot):le(gt,-1)})}se("click",Qe,Ti),T(W,te)};$(be,W=>{u(_)&&W(ze)})}var ke=x(be,2),Me=C(ke);{var Te=W=>{var te=kq();T(W,te)},Pt=W=>{var te=Eq(),Oe=C(te),Qe=C(Oe);{var vt=le=>{var Ue=Iq(),Fe=x(Ct(Ue)),_e=C(Fe);Z(Xe=>K(_e,Xe),[()=>t().path.split("/").pop()]),T(le,Ue)},ot=le=>{var Ue=Fr("No script open. Ask a general she scripting question.");T(le,Ue)};$(Qe,le=>{t()?le(vt):le(ot,-1)})}var gt=x(Oe,2);mi(gt,17,()=>ln,An,(le,Ue)=>{var Fe=Dq(),_e=C(Fe);Z(()=>K(_e,u(Ue))),se("click",Fe,()=>Le(u(Ue))),T(le,Fe)}),T(W,te)};$(Me,W=>{u(Ze)?u(n).length===0&&u(s)===null&&W(Pt,1):W(Te)})}var ut=x(Me,2);mi(ut,17,()=>u(n),An,(W,te,Oe)=>{var Qe=Hq(),vt=C(Qe);{var ot=le=>{var Ue=Pq(),Fe=C(Ue);Z(()=>K(Fe,u(te).content)),T(le,Ue)},gt=le=>{const Ue=dt(()=>It(u(te).content));var Fe=Fq(),_e=Ct(Fe);{var Xe=xe=>{var Se=kD();mi(Se,21,()=>u(te).toolEvents,An,(Ne,ct)=>{var ci=Ps(),ve=Ct(ci);{var Ye=bt=>{var it=xD(),pi=x(C(it),2),ri=C(pi),Bn=x(pi,2);{var en=Vt=>{var tn=CD(),ji=C(tn);Z(Pn=>K(ji,Pn),[()=>Object.entries(u(ct).args).map(([Pn,nn])=>`${Pn}=${JSON.stringify(nn)}`).join(", ")]),T(Vt,tn)},Nt=dt(()=>u(ct).args&&Object.keys(u(ct).args).length>0);$(Bn,Vt=>{u(Nt)&&Vt(en)})}Z(Vt=>K(ri,Vt),[()=>u(ct).name.replace(/_/g," ")]),T(bt,it)},ft=bt=>{var it=LD(),pi=x(C(it),2),ri=C(pi);Z(Bn=>K(ri,Bn),[()=>u(ct).name.replace(/_/g," ")]),T(bt,it)};$(ve,bt=>{u(ct).type==="tool_call"?bt(Ye):bt(ft,-1)})}T(Ne,ci)}),T(xe,Se)};$(_e,xe=>{var Se;(Se=u(te).toolEvents)!=null&&Se.length&&xe(Xe)})}var Ke=x(_e,2);mi(Ke,21,()=>u(Ue),An,(xe,Se,Ne)=>{var ct=Ps(),ci=Ct(ct);{var ve=ft=>{var bt=ID();jl(bt,()=>rn(u(Se).text),!0),T(ft,bt)},Ye=ft=>{const bt=dt(()=>hn(u(Se).lang)?xn(u(Se).text):null),it=dt(()=>u(bt)?u(bt).code:u(Se).text),pi=dt(()=>`${Oe}:${Ne}`),ri=dt(()=>vi(u(it))),Bn=dt(()=>u(N).has(u(pi)));var en=Oq(),Nt=C(en),Vt=C(Nt),tn=C(Vt),ji=x(Vt,2),Pn=C(ji),nn=x(Pn,2);{var bs=fo=>{var ss=Tq();se("click",ss,()=>e.onCreateFile(u(bt).filename,u(bt).code)),T(fo,ss)},go=fo=>{var ss=Rq(),po=Ct(ss),Ec=x(po,2);{var Ng=Kr=>{var Ma=Mq();T(Kr,Ma)},Pc=Kr=>{var Ma=Nq();se("click",Ma,()=>jn(u(Se).text,!0)),T(Kr,Ma)};$(Ec,Kr=>{u(E)?Kr(Ng):Kr(Pc,-1)})}se("click",po,()=>jn(u(Se).text)),T(fo,ss)},qr=dt(()=>hn(u(Se).lang)&&t());$(nn,fo=>{u(bt)&&e.onCreateFile?fo(bs):u(qr)&&fo(go,1)})}var wl=x(Nt,2);let Pa;var No=C(wl),yl=C(No);jl(yl,()=>Ki(u(it),u(Se).lang??""),!0);var Ta=x(No,2);{var ki=fo=>{var ss=Aq(),po=C(ss);Z(()=>K(po,u(Bn)?"▲ collapse":"▼ expand")),se("click",ss,()=>_n(u(pi))),T(fo,ss)};$(Ta,fo=>{u(ri)&&fo(ki)})}Z(()=>{K(tn,u(bt)?`new: ${u(bt).filename}`:u(Se).lang),Pa=jt(wl,1,"code-body svelte-10ayso4",null,Pa,{collapsed:u(ri)&&!u(Bn)})}),se("click",Pn,()=>Bi(u(it))),T(ft,en)};$(ci,ft=>{u(Se).type==="text"?ft(ve):ft(Ye,-1)})}T(xe,ct)}),T(le,Fe)};$(vt,le=>{u(te).role==="user"?le(ot):le(gt,-1)})}Z(()=>jt(Qe,1,`message ${u(te).role??""}`,"svelte-10ayso4")),T(W,Qe)});var De=x(ut,2);{var Rt=W=>{var te=kD();mi(te,21,()=>u(Jt),An,(Oe,Qe)=>{var vt=Ps(),ot=Ct(vt);{var gt=Ue=>{var Fe=xD(),_e=x(C(Fe),2),Xe=C(_e),Ke=x(_e,2);{var xe=Ne=>{var ct=CD(),ci=C(ct);Z(ve=>K(ci,ve),[()=>Object.entries(u(Qe).args).map(([ve,Ye])=>`${ve}=${JSON.stringify(Ye)}`).join(", ")]),T(Ne,ct)},Se=dt(()=>u(Qe).args&&Object.keys(u(Qe).args).length>0);$(Ke,Ne=>{u(Se)&&Ne(xe)})}Z(Ne=>K(Xe,Ne),[()=>u(Qe).name.replace(/_/g," ")]),T(Ue,Fe)},le=Ue=>{var Fe=LD(),_e=x(C(Fe),2),Xe=C(_e);Z(Ke=>K(Xe,Ke),[()=>u(Qe).name.replace(/_/g," ")]),T(Ue,Fe)};$(ot,Ue=>{u(Qe).type==="tool_call"?Ue(gt):Ue(le,-1)})}T(Oe,vt)}),T(W,te)};$(De,W=>{u(Jt).length>0&&W(Rt)})}var ti=x(De,2);{var qt=W=>{var te=Wq(),Oe=C(te),Qe=C(Oe),vt=C(Qe);Z(()=>K(vt,me[u($e)])),T(W,te)};$(ti,W=>{u(a)&&u(s)===null&&u(Jt).length===0&&W(qt)})}var $t=x(ti,2);{var ei=W=>{var te=zq(),Oe=C(te);mi(Oe,21,()=>vn(u(s)),An,(Qe,vt)=>{var ot=Ps(),gt=Ct(ot);{var le=Fe=>{var _e=ID();jl(_e,()=>rn(u(vt).text),!0),T(Fe,_e)},Ue=Fe=>{var _e=Bq(),Xe=C(_e),Ke=C(Xe),xe=C(Ke),Se=x(Xe,2),Ne=C(Se);jl(Ne,()=>Ki(u(vt).text,u(vt).lang??""),!0),Z(()=>K(xe,u(vt).lang)),T(Fe,_e)};$(gt,Fe=>{u(vt).type==="text"?Fe(le):Fe(Ue,-1)})}T(Qe,ot)}),T(W,te)};$($t,W=>{u(s)!==null&&W(ei)})}xs(ke,W=>yt=W,()=>yt);var Q=x(ke,2);{var pe=W=>{var te=Vq(),Oe=C(te);Z(()=>K(Oe,u(c))),T(W,te)};$(Q,W=>{u(c)&&W(pe)})}var qe=x(Q,2),tt=C(qe),kt=C(tt),He=x(tt,2),st=C(He),Qt=x(He,2),ai=C(Qt),ii=x(qe,2),zi=C(ii);{var En=W=>{const te=dt(()=>Kn(t().path.split("/").pop()??t().path));var Oe=jq();let Qe;var vt=C(Oe),ot=C(vt),gt=x(vt,2),le=C(gt),Ue=x(gt,2),Fe=C(Ue);Z((_e,Xe)=>{Qe=jt(Oe,1,"file-chip svelte-10ayso4",null,Qe,{inactive:!u(wt)}),jt(vt,1,`badge badge-${_e??""}`,"svelte-10ayso4"),K(ot,Xe),K(le,t().path),On(Ue,"title",u(wt)?"Remove from context":"Re-add to context"),K(Fe,u(wt)?"×":"+")},[()=>u(te).toLowerCase(),()=>et(u(te))]),se("click",Ue,()=>I(wt,!u(wt))),T(W,Oe)};$(zi,W=>{t()&&W(En)})}var Mi=x(zi,2);mi(Mi,17,i,An,(W,te,Oe)=>{const Qe=dt(()=>Kn(u(te).name));var vt=Uq(),ot=C(vt),gt=C(ot),le=x(ot,2),Ue=C(le),Fe=x(le,2);Z((_e,Xe)=>{jt(ot,1,`badge badge-${_e??""}`,"svelte-10ayso4"),K(gt,Xe),K(Ue,u(te).name)},[()=>u(Qe).toLowerCase(),()=>et(u(Qe))]),se("click",Fe,()=>Ht(Oe)),T(W,vt)});var ni=x(Mi,2),Vi=x(ni,2);xs(Vi,W=>Ft=W,()=>Ft);var A=x(ii,2);let q;var Ce=C(A);let Y;var ue=C(Ce);xs(ue,W=>de=W,()=>de);var he=x(Ce,2);{var Ie=W=>{var te=$q();se("click",te,Un),T(W,te)},Tt=W=>{var te=qq();Z(Oe=>te.disabled=Oe,[()=>!u(r).trim()||!u(Mt)]),se("click",te,Gn),T(W,te)};$(he,W=>{u(a)?W(Ie):W(Tt,-1)})}var Je=x(A,2);{var Re=W=>{var te=Yq(),Oe=C(te),Qe=C(Oe),vt=x(Oe,2);{var ot=Fe=>{var _e=Gq();mi(_e,21,()=>u(y),An,(Xe,Ke)=>{var xe=Kq(),Se=C(xe),Ne={};Z(()=>{K(Se,u(Ke)),Ne!==(Ne=u(Ke))&&(xe.value=(xe.__value=u(Ke))??"")}),T(Xe,xe)}),Z(()=>_e.disabled=u(a)),ua(_e,()=>u(S),Xe=>I(S,Xe)),T(Fe,_e)},gt=Fe=>{var _e=Zq(),Xe=C(_e);Z(()=>K(Xe,u(S)||u(h).model)),T(Fe,_e)};$(vt,Fe=>{u(y).length>0?Fe(ot):Fe(gt,-1)})}var le=x(vt,2);{var Ue=Fe=>{var _e=Xq();se("click",_e,Ln),T(Fe,_e)};$(le,Fe=>{u(h).provider==="ollama"&&Fe(Ue)})}Z(()=>K(Qe,u(h).provider)),T(W,te)};$(Je,W=>{var te;(te=u(h))!=null&&te.provider&&(u(Ze)||u(y).length>0)&&W(Re)})}var Dt=x(Pe,2);{var Ge=W=>{var te=cK(),Oe=C(te),Qe=C(Oe),vt=C(Qe),ot=C(vt),gt=x(vt,2),le=x(Qe,2),Ue=C(le);{var Fe=Ke=>{var xe=Jq();T(Ke,xe)},_e=Ke=>{var xe=Qq(),Se=C(xe);Z(()=>K(Se,u(X))),T(Ke,xe)},Xe=Ke=>{var xe=lK(),Se=C(xe);{var Ne=Nt=>{var Vt=eK(),tn=x(Ct(Vt)),ji=C(tn);Z(()=>K(ji,u(O).version)),T(Nt,Vt)};$(Se,Nt=>{u(O).version&&Nt(Ne)})}var ct=x(Se,2);{var ci=Nt=>{var Vt=tK(),tn=x(Ct(Vt)),ji=C(tn);Z(()=>K(ji,u(O).details.family)),T(Nt,Vt)};$(ct,Nt=>{var Vt;(Vt=u(O).details)!=null&&Vt.family&&Nt(ci)})}var ve=x(ct,2);{var Ye=Nt=>{var Vt=iK(),tn=x(Ct(Vt)),ji=C(tn);Z(()=>K(ji,u(O).details.parameter_size)),T(Nt,Vt)};$(ve,Nt=>{var Vt;(Vt=u(O).details)!=null&&Vt.parameter_size&&Nt(Ye)})}var ft=x(ve,2);{var bt=Nt=>{var Vt=nK(),tn=x(Ct(Vt)),ji=C(tn);Z(()=>K(ji,u(O).details.quantization_level)),T(Nt,Vt)};$(ft,Nt=>{var Vt;(Vt=u(O).details)!=null&&Vt.quantization_level&&Nt(bt)})}var it=x(ft,2);{var pi=Nt=>{var Vt=sK(),tn=x(Ct(Vt)),ji=C(tn);Z(()=>K(ji,u(O).details.format)),T(Nt,Vt)};$(it,Nt=>{var Vt;(Vt=u(O).details)!=null&&Vt.format&&Nt(pi)})}var ri=x(it,2);{var Bn=Nt=>{var Vt=rK(),tn=x(Ct(Vt),2);mi(tn,21,()=>u(O).running,An,(ji,Pn)=>{var nn=oK(),bs=C(nn);Z(go=>K(bs,`${u(Pn).name??""} · ${go??""} VRAM`),[()=>qn(u(Pn).size_vram)]),T(ji,nn)}),T(Nt,Vt)},en=Nt=>{var Vt=aK();T(Nt,Vt)};$(ri,Nt=>{u(O).running&&u(O).running.length>0?Nt(Bn):u(O).running!==null&&Nt(en,1)})}T(Ke,xe)};$(Ue,Ke=>{u(J)?Ke(Fe):u(X)?Ke(_e,1):u(O)&&Ke(Xe,2)})}Z(()=>{var Ke;return K(ot,`Ollama · ${(u(S)||((Ke=u(h))==null?void 0:Ke.model))??""}`)}),se("click",te,()=>I(z,!1)),se("click",Oe,Ke=>Ke.stopPropagation()),se("click",gt,()=>I(z,!1)),T(W,te)};$(Dt,W=>{u(z)&&W(Ge)})}Z(W=>{oe=jt(F,1,"icon-hdr-btn svelte-10ayso4",null,oe,{active:u(_)}),K(ai,W),q=jt(A,1,"input-row svelte-10ayso4",null,q,{"drag-over":u(Yt)}),Y=jt(Ce,1,"textarea-wrap svelte-10ayso4",null,Y,{loading:u(a)}),On(ue,"placeholder",u(Mt)?"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(Mt)},[()=>qn(u(hi))]),se("click",F,()=>I(_,!u(_))),Ds(kt,()=>u(at),W=>I(at,W)),Ds(st,()=>u(Xt),W=>I(Xt,W)),se("click",ni,bi),se("change",Vi,oi),ts("dragover",A,an),ts("dragleave",A,Qi),ts("drop",A,yi),se("keydown",ue,Nn),Ei(ue,()=>u(r),W=>I(r,W)),T(o,G),Mo()}_r(["click","change","keydown"]);const uK={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"]},gK={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 l0=[],c0=[],d0=[];const zv=new Map;let ER=[];const h0=new Map,u0=new Map;async function DD(){try{l0=(await rR()).map(e=>e.topic)}catch{}}async function ED(){try{const[o,e]=await Promise.all([nR(),sR()]);c0=o,d0=e}catch{}}async function PD(){try{const o=await oR();ER=o.map(e=>e.nodeId),h0.clear(),u0.clear();for(const e of o)e.name&&(h0.set(e.nodeId,e.name),u0.set(e.name,e.nodeId));await Promise.all(o.map(async e=>{if(!zv.has(e.nodeId))try{zv.set(e.nodeId,await v_(e.nodeId))}catch{}}))}catch{}}function fK(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=pK(h),f=mK(h);if(g===0)return{type:"matter-nodeId",prefix:f};if(g===1){const p=Gh(h,0);if(p)return{type:"matter-endpointId",nodeId:p}}if(g===2){const p=Gh(h,0),v=TD(h,1)??Gh(h,1);if(p&&v!==null)return{type:"matter-cluster",nodeId:p,endpointId:v}}if(g>=3){const p=Gh(h,0),v=TD(h,1)??Gh(h,1),_=Gh(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 pK(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 mK(o){const e=o.match(/['"]([^'"]*)\s*$/);return e?e[1]:""}function Gh(o,e){var s;const i=(s=PR(o)[e])==null?void 0:s.trim();if(!i)return null;const n=i.match(/^['"](.*)['"]$/);return n?n[1]:null}function TD(o,e){var s;const i=(s=PR(o)[e])==null?void 0:s.trim();if(!i)return null;const n=parseInt(i,10);return isNaN(n)?null:n}function PR(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 _K(o,e){return(e?l0.filter(i=>i.startsWith(e)):l0).map(i=>({label:i,kind:ph.Value,insertText:i,range:o,detail:"MQTT topic",sortText:"0"+i}))}function vK(o,e,t){const i=t?[...c0,...d0]:c0;return(e?i.filter(s=>s.startsWith(e)):i).map(s=>({label:s,kind:ph.Value,insertText:s,range:o,detail:d0.includes(s)?"sheDB view":"sheDB document",sortText:"0"+s}))}function bK(o,e){return ER.map(t=>{const i=h0.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 TR(o){return u0.get(o)??o}function wK(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 yK(o,e){const t=zv.get(TR(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 SK(o,e,t){const i=zv.get(TR(e));if(!i)return[];const n=wK(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 CK(o,e,t){return(t?gK[e]??[]:uK[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 MD=!1;function xK(){MD||(MD=!0,DD(),ED(),PD(),setInterval(DD,15e3),setInterval(ED,1e4),setInterval(PD,6e4),Wc.registerCompletionItemProvider("javascript",{triggerCharacters:["'",'"',"(",","," "],provideCompletionItems(o,e){const t=o.getValueInRange({startLineNumber:e.lineNumber,startColumn:1,endLineNumber:e.lineNumber,endColumn:e.column}),i=fK(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:_K(a,i.prefix)};case"db":return{suggestions:vK(a,i.prefix,i.includeViews)};case"matter-nodeId":return{suggestions:bK(a,i.prefix)};case"matter-endpointId":return{suggestions:yK(a,i.nodeId)};case"matter-cluster":return{suggestions:SK(a,i.nodeId,i.endpointId)};case"matter-attr":return{suggestions:CK(a,i.cluster,i.isSend)};default:return null}}}))}var LK=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),kK=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),IK=R('<div class="ctx-backdrop svelte-1pyfjii" role="presentation"></div> <div class="ctx-menu svelte-1pyfjii"><!></div>',1),DK=R('<div class="lib-tip-float svelte-1pyfjii">Library directory — files here are not auto-loaded as scripts</div>'),ND=R('<span class="git-mod svelte-1pyfjii" title="Uncommitted changes">M</span>'),EK=R('<ul class="tree-children svelte-1pyfjii"></ul>'),PK=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>'),TK=R('<span class="dirty-dot svelte-1pyfjii">●</span>'),MK=R('<span class="err-dot svelte-1pyfjii">●</span>'),NK=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>'),RK=R('<span class="dis-spacer svelte-1pyfjii"></span>'),AK=R('<li draggable="true"><div class="file-row svelte-1pyfjii"><button><span> </span> <span class="fname svelte-1pyfjii"> </span> <!><!> <!></button> <!></div></li>'),OK=R('<div class="err svelte-1pyfjii"> </div>'),FK=R('<span class="tab-dirty svelte-1pyfjii">●</span>'),HK=R('<div role="button" tabindex="0"><span class="tab-label svelte-1pyfjii"> </span> <!> <button class="tab-close svelte-1pyfjii" title="Close">×</button></div>'),WK=R('<div class="tab-bar svelte-1pyfjii"></div>'),BK=R('<span class="git-changes svelte-1pyfjii"> </span>'),zK=R('<span class="git-ahead svelte-1pyfjii"> </span>'),VK=R('<span class="git-behind svelte-1pyfjii"> </span>'),jK=R('<span class="git-status svelte-1pyfjii"><span class="git-branch svelte-1pyfjii"> </span> <!> <!> <!></span>'),UK=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),$K=R('<button class="danger svelte-1pyfjii">Delete</button>'),qK=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>`),KK=R('<button class="svelte-1pyfjii">Always accept in this session</button>'),GK=R('<button class="svelte-1pyfjii">Disable auto-accept</button>'),ZK=R('<div class="split-backdrop svelte-1pyfjii" role="presentation"></div> <div class="split-menu svelte-1pyfjii"><!></div>',1),XK=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>'),YK=R('<div class="log-resize-handle svelte-1pyfjii" role="separator"></div>'),JK=R('<span class="log-file svelte-1pyfjii"> </span>'),QK=R("<option> </option>"),eG=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),tG=R('<div><span class="ts svelte-1pyfjii"> </span> <span class="lvl svelte-1pyfjii"> </span> <span class="msg svelte-1pyfjii"> </span></div>'),iG=R('<span class="log-empty svelte-1pyfjii">No log output for this script.</span>'),nG=R('<div class="log-body svelte-1pyfjii"><!> <!></div>'),sG=R('<div class="chat-resize-handle svelte-1pyfjii" role="separator"></div> <div class="chat-container svelte-1pyfjii"><!></div>',1),oG=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 rG(o,e){To(e,!0);let t=V(Si([])),i=V(Si({})),n=V(null),s=V(null),r=V(null),a=V(null),c=V(Si([])),h=V(null),g=V(!1),f=V(""),p=V(!1),v=V(!0),_=V(null),y=V(!1),S=V(!1),D=V(void 0),E=V(Si(new Set));const N=new Set;let z=V(Si([])),O=V("all"),J=V(""),X=V(!1);const fe=["all","debug","info","warn","error"],Ee={debug:0,info:1,warn:2,error:3};function $e(H){if(u(O)!=="all"&&Ee[H.level]<Ee[u(O)])return!1;if(!u(J))return!0;if(u(X))try{return new RegExp(u(J),"i").test(H.msg)}catch{}return H.msg.toLowerCase().includes(u(J).toLowerCase())}let me=V(null);function at(H){const re=H.currentTarget.getBoundingClientRect();I(me,{x:re.left,y:re.top},!0)}function Xt(){I(me,null)}let wt,Yt,Ft,Jt=!1,de=null,yt=!1,We=!1,Ze=V(!1),Mt=V(null),hi=V(!1),Bt=V(!1),Ot=V(void 0),It=null,si=null,vi=null,_n=V(Si(parseInt(localStorage.getItem("she-scripts-sidebar-width")??"220",10))),Ki=V(Si(parseInt(localStorage.getItem("she-scripts-log-height")??"130",10))),rn=V(Si(parseInt(localStorage.getItem("she-scripts-chat-width")??"340",10))),vn=!1,Bi=0,jn=0,hn=!1,xn=0,qn=0,Ln=!1,Kn=0,et=0;const Ht=dt(()=>{var H;return u(h)&&u(yi)?{path:u(h),content:((H=u(yi).model)==null?void 0:H.getValue())??u(yi).savedContent}:null}),bi=dt(()=>{var H;return new Set(((H=u(_))==null?void 0:H.changes.map(re=>re.file))??[])});let fi,oi,yi=dt(()=>u(c).find(H=>H.path===u(h))??null);const an="she-tabs",Qi="she-active-tab",un="she-log-open",Wn="she-chat-open";let kn=ng(e,"active",3,!0);Rn(()=>{We&&(localStorage.setItem(an,JSON.stringify(u(c).map(H=>H.path))),u(h)?localStorage.setItem(Qi,u(h)):localStorage.removeItem(Qi))}),Rn(()=>{We&&localStorage.setItem(Wn,String(u(Ze)))}),Rn(()=>{kn()&&Yt&&Yt.layout()});const In=`
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 ge;I(v,localStorage.getItem(un)!=="false"),I(Ze,localStorage.getItem(Wn)==="true"),Wc.typescript.javascriptDefaults.addExtraLib(In,"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}),xK(),Ft=Ha.createModel("","javascript"),Yt=Ha.create(wt,{model:Ft,theme:"vs-dark",automaticLayout:!0,minimap:{enabled:!1},fontSize:14,lineNumbers:"on",scrollBeyondLastLine:!1}),Yt.onDidChangeModelContent(()=>{if(Jt)return;const _t=u(c).find(Wt=>Wt.path===u(h));_t&&(_t.dirty=Yt.getValue()!==_t.savedContent),He&&clearTimeout(He),He=setTimeout(st,600)}),de=gR(_t=>{const Wt=_t.msg.match(/^([^:\n]+\.js):\s/);if(!Wt)return;const Kt=Wt[1];if(_t.level==="error")N.add(Kt),u(E).has(Kt)||I(E,new Set([...u(E),Kt]),!0);else if(N.has(Kt)){N.delete(Kt);const $i=new Set(u(E));$i.delete(Kt),I(E,$i,!0)}const Ui=u(c).find($i=>$i.path===Kt);Ui&&(Ui.logEntries=[...Ui.logEntries.slice(-199),_t],Ui.path===u(h)&&u(v)&&u(D)&&gS().then(()=>{u(D)&&(u(D).scrollTop=u(D).scrollHeight)}))}),await Ti(),nt();try{const _t=await G1();typeof _t.gitAutoCommit=="boolean"&&I(y,_t.gitAutoCommit,!0),typeof _t.gitAutoPush=="boolean"&&I(S,_t.gitAutoPush,!0)}catch{}const H=JSON.parse(localStorage.getItem(an)??"[]"),re=localStorage.getItem(Qi);for(const _t of H)await ln(_t,!1);const Ae=re&&u(c).some(_t=>_t.path===re)?re:((ge=u(c)[0])==null?void 0:ge.path)??null;Ae&&await G(Ae),We=!0}),aw(()=>{var H;He&&clearTimeout(He),de==null||de();for(const re of u(c))(H=re.model)==null||H.dispose();Ft==null||Ft.dispose(),Yt==null||Yt.dispose()});async function Ti(){try{if(I(t,await K7(),!0),!yt){let re=function(Ae){for(const ge of Ae)ge.type==="dir"&&(H[ge.path]=!0,ge.children&&re(ge.children))};yt=!0;const H={};re(u(t)),I(i,H,!0)}I(f,"")}catch(H){I(f,H.message,!0)}}function Gn(H){u(i)[H]=!u(i)[H]}function Un(H){switch(H){case"SH":case"BASH":return"$";case"MD":case"MARKDOWN":return"⇓";case"JSON":case"JSONC":return"{}";default:return H}}async function Nn(H,re){try{re?await Ac(`${H}/.shelib`,""):await $m(`${H}/.shelib`),await Ti(),await ht("all",re?`lib ${H}`:`unlib ${H}`)}catch(Ae){I(f,Ae.message,!0)}}async function Dn(H,re){const Ae=H.split("/").pop(),ge=H.includes("/")?H.slice(0,H.lastIndexOf("/")):"",_t=ge?`${ge}/.shedisable-${Ae}`:`.shedisable-${Ae}`;try{re?await Ac(_t,""):await $m(_t),await Ti(),await ht("all",re?`disable ${H}`:`enable ${H}`)}catch(Wt){I(f,Wt.message,!0)}}async function ln(H,re=!0){var Ae;if(u(c).some(ge=>ge.path===H)){re&&await G(H);return}try{const{content:ge}=await lD(H),_t=HF.parse(`file:///she-scripts/${encodeURIComponent(H)}`);(Ae=Ha.getModel(_t))==null||Ae.dispose();const Wt=Ha.createModel(ge,kt(H),_t);I(c,[...u(c),{path:H,dirty:!1,savedContent:ge,model:Wt,logEntries:[]}],!0),re&&await G(H)}catch(ge){I(f,ge.message,!0)}}async function Le(H){await ln(H,!0)}async function G(H){const re=u(c).find(Ae=>Ae.path===H);re!=null&&re.model&&(I(h,H,!0),Jt=!0,Yt.setModel(re.model),Jt=!1,st())}async function Pe(H){var ge;const re=u(c).find(_t=>_t.path===H);if(!re||re.dirty&&!await fi.show(`Discard unsaved changes to ${H}?`,{confirm:"Discard"}))return;const Ae=u(c).findIndex(_t=>_t.path===H);if((ge=re.model)==null||ge.dispose(),I(c,u(c).filter(_t=>_t.path!==H),!0),u(h)===H){const _t=u(c)[Ae]??u(c)[Ae-1]??null;_t?await G(_t.path):(I(h,null),Yt.setModel(Ft))}}async function nt(){try{I(_,await Z7(),!0)}catch{I(_,null)}}async function ht(H,re){if(u(_))try{if(H==="all"?await t8(re):await e8(H,re),u(S))try{await Fy()}catch{}await nt()}catch{}}async function zt(){if(!u(h))return;const H=u(c).find(re=>re.path===u(h));if(H){I(g,!0);try{const re=Yt.getValue();await Ac(u(h),re),H.savedContent=re,H.dirty=!1,I(f,""),u(y)?await ht([u(h)],`update ${u(h)}`):nt()}catch(re){I(f,re.message,!0)}finally{I(g,!1)}}}async function F(){if(!u(h)||(await zt(),u(f)))return;const H=await oi.show("Commit message:",{initial:`update ${u(h)}`,placeholder:"Update script",confirm:"Commit"});if(H)try{if(await Q7(u(h),H),u(S))try{await Fy()}catch{}nt()}catch(re){I(f,"Git: "+re.message)}}async function oe(){I(p,!1);try{await Fy(),await nt(),I(f,"")}catch(H){I(f,"Git push: "+H.message)}}async function ye(){const H=u(n)?`${u(n)}/`:"",re=await oi.show("New script name:",{placeholder:H?`${H}myscript.js`:"myscript.js",initial:H,confirm:"Create"});if(!re)return;const Ae=re.endsWith(".js")?`/* global she */
212
+ 'use strict';
213
+
214
+ `:"";await Ac(re,Ae),await Ti(),await ln(re,!0)}async function U(){const H=u(n)?`${u(n)}/`:"",re=await oi.show("New folder name:",{placeholder:H?`${H}subfolder`:"myfolder",initial:H,confirm:"Create"});re&&(await G7(re),u(i)[re]=!0,await Ti())}function be(H,re){H.preventDefault(),I(s,{x:H.clientX,y:H.clientY,entry:re},!0)}function ze(){I(s,null)}async function ke(H){ze(),I(n,H,!0),u(i)[H]=!0,await ye()}async function Me(H){ze(),I(n,H,!0),await U()}async function Te(H){ze();const re=H.path.includes("/")?H.path.slice(0,H.path.lastIndexOf("/")+1):"",Ae=await oi.show(H.type==="dir"?"Rename folder:":"Rename script:",{initial:H.name,placeholder:H.name,confirm:"Rename"});if(!Ae||Ae===H.name)return;const ge=re+Ae;try{await cD(H.path,ge);const _t=u(c).find(Wt=>Wt.path===H.path);_t&&(_t.path=ge,u(h)===H.path&&I(h,ge)),await Ti(),await ht("all",`rename ${H.path} → ${ge}`)}catch(_t){I(f,_t.message,!0)}}function Pt(H){if(!H.children)return 0;let re=0;for(const Ae of H.children)re++,Ae.type==="dir"&&(re+=Pt(Ae));return re}async function ut(H){ze();let re=`Delete ${H.type==="dir"?"folder":"file"} "${H.path}"?`;if(H.type==="dir"){const Ae=Pt(H);Ae>0&&(re+=` This will also delete ${Ae} item${Ae===1?"":"s"} inside.`)}if(await fi.show(re,{confirm:"Delete",danger:!0})){if(H.type==="dir")for(const Ae of[...u(c)])Ae.path.startsWith(H.path+"/")&&await Pe(Ae.path);else await Pe(H.path);await $m(H.path),await Ti(),await ht("all",`delete ${H.path}`)}}async function De(H){ze();const{content:re}=await lD(H.path);u(z).some(Ae=>Ae.name===H.path)||I(z,[...u(z),{name:H.path,content:re}],!0),I(Ze,!0)}function Rt(H,re){var Ae;I(r,re,!0),(Ae=H.dataTransfer)==null||Ae.setData("text/plain",re)}function ti(H,re){if(H.preventDefault(),u(r)&&(u(r)===re||re.startsWith(u(r)+"/"))){H.dataTransfer&&(H.dataTransfer.dropEffect="none"),I(a,null);return}H.dataTransfer&&(H.dataTransfer.dropEffect="move"),I(a,re,!0)}function qt(){I(a,null)}async function $t(H,re){var Kt,Ui,$i;H.preventDefault(),I(a,null);const Ae=Array.from(((Kt=H.dataTransfer)==null?void 0:Kt.items)??[]).filter(Hi=>Hi.kind==="file");if(Ae.length>0&&!u(r)){for(const Hi of Ae){const Ri=(Ui=Hi.webkitGetAsEntry)==null?void 0:Ui.call(Hi);Ri&&await ei(Ri,re,!0)}await Ti();return}const ge=u(r)??(($i=H.dataTransfer)==null?void 0:$i.getData("text/plain"));if(I(r,null),!ge||ge===re||re.startsWith(ge+"/"))return;const _t=ge.split("/").pop(),Wt=re?`${re}/${_t}`:_t;if(Wt!==ge)try{await cD(ge,Wt);for(const Hi of u(c))if(Hi.path===ge)u(h)===ge&&I(h,Wt,!0),Hi.path=Wt;else if(Hi.path.startsWith(ge+"/")){const Ri=Wt+Hi.path.slice(ge.length);u(h)===Hi.path&&I(h,Ri),Hi.path=Ri}await Ti(),await ht("all",`rename ${ge} → ${Wt}`)}catch(Hi){I(f,Hi.message,!0)}}async function ei(H,re,Ae){if(H.isFile){const _t=await(await new Promise((Kt,Ui)=>H.file(Kt,Ui))).text(),Wt=re?`${re}/${H.name}`:H.name;await Ac(Wt,_t),Ae&&H.name.endsWith(".js")&&await Dn(Wt,!0)}else if(H.isDirectory){const ge=H.createReader();let _t=[],Wt;do Wt=await new Promise((Kt,Ui)=>ge.readEntries(Kt,Ui)),_t=[..._t,...Wt];while(Wt.length>0);for(const Kt of _t)await ei(Kt,re?`${re}/${H.name}`:H.name,!1);if(Ae){const Kt=re?`${re}/${H.name}`:H.name;await Dn(Kt,!0)}}}async function Q(){if(!u(h)||!await fi.show(`Delete ${u(h)}?`,{confirm:"Delete",danger:!0}))return;const H=u(h);await Pe(H),await $m(H),await Ti(),await ht("all",`delete ${H}`)}function pe(){u(yi)&&(u(yi).logEntries=[])}function qe(){I(v,!u(v)),localStorage.setItem(un,String(u(v)))}function tt(H){return new Date(H).toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1})}function kt(H){var ge;const re=((ge=H.split(".").pop())==null?void 0:ge.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 He=null;async function st(){const H=u(c).find(Ae=>Ae.path===u(h));if(!(H!=null&&H.model))return;const re=H.model;try{const Wt=(await(await(await Wc.typescript.getJavaScriptWorker())(re.uri)).getSyntacticDiagnostics(re.uri.toString())).map(Kt=>{const Ui=re.getPositionAt(Kt.start??0),$i=re.getPositionAt((Kt.start??0)+(Kt.length??0));return{severity:WF.Error,startLineNumber:Ui.lineNumber,startColumn:Ui.column,endLineNumber:$i.lineNumber,endColumn:$i.column,message:typeof Kt.messageText=="string"?Kt.messageText:JSON.stringify(Kt.messageText),source:"she-syntax"}});if(Ha.setModelMarkers(re,"she-syntax",Wt),u(h)){if(Wt.length>0)N.add(u(h)),u(E).has(u(h))||I(E,new Set([...u(E),u(h)]),!0);else if(N.has(u(h))){N.delete(u(h));const Kt=new Set(u(E));Kt.delete(u(h)),I(E,Kt,!0)}}}catch{}}function Qt(H){vn=!0,Bi=H.clientX,jn=u(_n),H.preventDefault()}function ai(H){hn=!0,xn=H.clientY,qn=u(Ki),H.preventDefault()}function ii(H){Ln=!0,Kn=H.clientX,et=u(rn),H.preventDefault()}function zi(H){vn&&I(_n,Math.max(140,Math.min(500,jn+H.clientX-Bi)),!0),hn&&I(Ki,Math.max(60,Math.min(500,qn-(H.clientY-xn))),!0),Ln&&I(rn,Math.max(200,Math.min(700,et-(H.clientX-Kn))),!0)}function En(){vn&&(vn=!1,localStorage.setItem("she-scripts-sidebar-width",String(u(_n)))),hn&&(hn=!1,localStorage.setItem("she-scripts-log-height",String(u(Ki)))),Ln&&(Ln=!1,localStorage.setItem("she-scripts-chat-width",String(u(rn))))}function Mi(H){(H.ctrlKey||H.metaKey)&&H.key==="s"&&(H.preventDefault(),zt()),H.key==="Escape"&&(I(p,!1),I(s,null))}async function ni(H,re){const Ae=await oi.show("Save new script as:",{placeholder:"myscript.js",initial:H,confirm:"Create"});if(Ae)try{await Ac(Ae,re),await Ti(),await ln(Ae,!0)}catch(ge){I(f,ge.message,!0)}}async function Vi(H){var Ae,ge;if(u(hi)&&u(h)){I(Mt,H,!0),await A();return}if(I(Mt,H,!0),await gS(),!u(Ot))return;si==null||si.dispose(),vi==null||vi.dispose(),It==null||It.dispose();const re=((ge=(Ae=u(yi))==null?void 0:Ae.model)==null?void 0:ge.getValue())??"";si=Ha.createModel(re,"javascript"),vi=Ha.createModel(H,"javascript"),It=Ha.createDiffEditor(u(Ot),{theme:"vs-dark",readOnly:!0,renderSideBySide:!0,automaticLayout:!0,minimap:{enabled:!1},fontSize:13,scrollBeyondLastLine:!1}),It.setModel({original:si,modified:vi})}Rn(()=>{u(h),I(hi,!1),I(Bt,!1)});async function A(){if(u(Mt)===null||!u(h))return;const H=u(Mt);I(Mt,null);const re=u(c).find(Ae=>Ae.path===u(h));re!=null&&re.model&&(Jt=!0,re.model.setValue(H),Jt=!1,re.dirty=!1,re.savedContent=H);try{await Ac(u(h),H),I(f,""),u(y)?await ht([u(h)],`update ${u(h)}`):nt()}catch(Ae){I(f,Ae.message,!0)}Ce()}function q(){I(Mt,null),Ce()}function Ce(){It==null||It.dispose(),It=null,si==null||si.dispose(),si=null,vi==null||vi.dispose(),vi=null}var Y=oG();ts("keydown",sd,Mi),ts("mousemove",sd,zi),ts("mouseup",sd,En);var ue=Ct(Y);xs(om(ue,{}),H=>fi=H,()=>fi);var he=x(ue,2);xs(k8(he,{}),H=>oi=H,()=>oi);var Ie=x(he,2);{var Tt=H=>{var re=IK(),Ae=Ct(re),ge=x(Ae,2);let _t;var Wt=C(ge);{var Kt=$i=>{var Hi=LK(),Ri=Ct(Hi),Ni=x(Ri,2),bn=x(Ni,4),mo=x(bn,2);se("click",Ri,()=>ke(u(s).entry.path)),se("click",Ni,()=>Me(u(s).entry.path)),se("click",bn,()=>Te(u(s).entry)),se("click",mo,()=>ut(u(s).entry)),T($i,Hi)},Ui=$i=>{var Hi=kK(),Ri=Ct(Hi),Ni=x(Ri,2),bn=x(Ni,2),mo=x(bn,4);se("click",Ri,()=>Le(u(s).entry.path)),se("click",Ni,()=>Te(u(s).entry)),se("click",bn,()=>De(u(s).entry)),se("click",mo,()=>ut(u(s).entry)),T($i,Hi)};$(Wt,$i=>{u(s).entry.type==="dir"?$i(Kt):$i(Ui,-1)})}Z(()=>_t=Uo(ge,"",_t,{left:`${u(s).x??""}px`,top:`${u(s).y??""}px`})),se("click",Ae,ze),se("contextmenu",Ae,$i=>{$i.preventDefault(),ze()}),T(H,re)};$(Ie,H=>{u(s)&&H(Tt)})}var Je=x(Ie,2);{var Re=H=>{var re=DK();let Ae;Z(()=>Ae=Uo(re,"",Ae,{left:`${u(me).x??""}px`,top:`${u(me).y-4}px`})),T(H,re)};$(Je,H=>{u(me)&&H(Re)})}var Dt=x(Je,2),Ge=C(Dt);let W;{const H=(Ae,ge=iw,_t)=>{let Wt=K0(()=>qF(_t==null?void 0:_t(),!1));var Kt=Ps(),Ui=Ct(Kt);{var $i=Ri=>{var Ni=PK(),bn=C(Ni);let mo;var Ro=C(bn);let br;var Zn=x(Ro,2);let Us;var Sl=C(Zn),eo=x(Zn,2);{var ws=rs=>{var xl=ND();T(rs,xl)},Gr=dt(()=>u(bi).has(ge().path));$(eo,rs=>{u(Gr)&&rs(ws)})}var Ko=x(eo,2),Ao=C(Ko),_o=x(Ko,2),Cl=C(_o),Ih=x(bn,2);{var Ag=rs=>{var xl=EK();mi(xl,21,()=>ge().children,Ms=>Ms.path,(Ms,Zr)=>{H(Ms,()=>u(Zr),()=>ge().disabled||u(Wt))}),T(rs,xl)};$(Ih,rs=>{u(i)[ge().path]&&ge().children&&rs(Ag)})}Z(()=>{mo=jt(bn,1,"dir-row svelte-1pyfjii",null,mo,{"dir-selected":u(n)===ge().path,"drag-target":u(a)===ge().path}),On(bn,"aria-selected",u(n)===ge().path),br=jt(Ro,1,"chevron svelte-1pyfjii",null,br,{open:u(i)[ge().path]}),Us=jt(Zn,1,"dir-name svelte-1pyfjii",null,Us,{lib:ge().lib}),K(Sl,ge().name),ty(Ao,ge().lib),ty(Cl,ge().disabled)}),ts("dragstart",bn,rs=>Rt(rs,ge().path)),ts("dragover",bn,rs=>ti(rs,ge().path)),ts("dragleave",bn,qt),ts("drop",bn,rs=>$t(rs,ge().path)),se("contextmenu",bn,rs=>be(rs,ge())),se("click",Ro,()=>Gn(ge().path)),se("click",Zn,()=>{I(n,ge().path,!0),u(i)[ge().path]=!0}),se("keydown",Zn,rs=>rs.key==="Enter"&&I(n,ge().path,!0)),ts("mouseenter",Ko,at),ts("mouseleave",Ko,Xt),se("change",Ao,()=>Nn(ge().path,!ge().lib)),se("change",Cl,()=>Dn(ge().path,!ge().disabled)),T(Ri,Ni)},Hi=Ri=>{const Ni=dt(()=>u(E).has(ge().path)),bn=dt(()=>u(bi).has(ge().path)),mo=dt(()=>u(c).some(sn=>sn.path===ge().path&&sn.dirty)),Ro=dt(()=>(ge().name.split(".").pop()??"txt").toUpperCase()),br=dt(()=>ge().name.endsWith(".js"));var Zn=AK();let Us;var Sl=C(Zn),eo=C(Sl);let ws;var Gr=C(eo);let Ko;var Ao=C(Gr),_o=x(Gr,2),Cl=C(_o),Ih=x(_o,2);{var Ag=sn=>{var $s=ND();T(sn,$s)};$(Ih,sn=>{u(bn)&&sn(Ag)})}var rs=x(Ih);{var xl=sn=>{var $s=TK();T(sn,$s)};$(rs,sn=>{u(mo)&&sn(xl)})}var Ms=x(rs,2);{var Zr=sn=>{var $s=MK();T(sn,$s)};$(Ms,sn=>{u(Ni)&&sn(Zr)})}var Aw=x(eo,2);{var wr=sn=>{var $s=NK();let Xr;var Dh=C($s);Z(()=>{Xr=jt($s,1,"dis-label svelte-1pyfjii",null,Xr,{"dis-locked":u(Wt)}),On($s,"title",u(Wt)?"Disabled by parent directory":"Disable — this script will not be executed"),ty(Dh,ge().disabled),Dh.disabled=u(Wt)}),se("change",Dh,()=>Dn(ge().path,!ge().disabled)),T(sn,$s)},Ow=sn=>{var $s=RK();T(sn,$s)};$(Aw,sn=>{u(br)?sn(wr):sn(Ow,-1)})}Z((sn,$s,Xr)=>{Us=jt(Zn,1,"tree-file svelte-1pyfjii",null,Us,sn),ws=jt(eo,1,"svelte-1pyfjii",null,ws,{lib:ge().lib,dis:ge().disabled,err:u(Ni)}),Ko=jt(Gr,1,`badge badge-${$s??""}`,"svelte-1pyfjii",Ko,{"badge-shelib":ge().lib}),K(Ao,Xr),K(Cl,ge().name)},[()=>({active:u(c).some(sn=>sn.path===ge().path),"active-tab":ge().path===u(h)}),()=>u(Ro).toLowerCase(),()=>Un(u(Ro))]),ts("dragstart",Zn,sn=>Rt(sn,ge().path)),se("contextmenu",Zn,sn=>be(sn,ge())),se("click",eo,()=>Le(ge().path)),T(Ri,Zn)};$(Ui,Ri=>{ge().type==="dir"?Ri($i):Ri(Hi,-1)})}T(Ae,Kt)};var te=C(Ge),Oe=C(te),Qe=x(Oe,2),vt=x(Qe,2),ot=x(te,2);{var gt=Ae=>{var ge=OK(),_t=C(ge);Z(()=>K(_t,u(f))),T(Ae,ge)};$(ot,Ae=>{u(f)&&Ae(gt)})}var le=x(ot,2),Ue=C(le);let re;var Fe=x(Ue,2);mi(Fe,17,()=>u(t),Ae=>Ae.path,(Ae,ge)=>{H(Ae,()=>u(ge))}),Z(()=>re=jt(Ue,1,"tree-root-drop svelte-1pyfjii",null,re,{"drag-target":u(a)===""})),se("click",Oe,ye),se("click",Qe,U),se("click",vt,Ti),ts("dragover",Ue,Ae=>ti(Ae,"")),ts("dragleave",Ue,qt),ts("drop",Ue,Ae=>$t(Ae,""))}var _e=x(Ge,2),Xe=x(_e,2),Ke=C(Xe);{var xe=H=>{var re=WK();mi(re,21,()=>u(c),Ae=>Ae.path,(Ae,ge)=>{var _t=HK();let Wt;var Kt=C(_t),Ui=C(Kt),$i=x(Kt,2);{var Hi=Ni=>{var bn=FK();T(Ni,bn)};$($i,Ni=>{u(ge).dirty&&Ni(Hi)})}var Ri=x($i,2);Z(Ni=>{Wt=jt(_t,1,"tab svelte-1pyfjii",null,Wt,{active:u(ge).path===u(h)}),K(Ui,Ni)},[()=>u(ge).path.split("/").pop()]),se("click",_t,()=>G(u(ge).path)),se("keydown",_t,Ni=>Ni.key==="Enter"&&G(u(ge).path)),se("click",Ri,Ni=>{Ni.stopPropagation(),Pe(u(ge).path)}),T(Ae,_t)}),T(H,re)};$(Ke,H=>{u(c).length>0&&H(xe)})}var Se=x(Ke,2),Ne=C(Se),ct=C(Ne),ci=x(Ne,2);{var ve=H=>{var re=jK(),Ae=C(re),ge=C(Ae),_t=x(Ae,2);{var Wt=Ri=>{var Ni=BK(),bn=C(Ni);Z(()=>{On(Ni,"title",`${u(_).changes.length??""} uncommitted change(s)`),K(bn,`✎${u(_).changes.length??""}`)}),T(Ri,Ni)};$(_t,Ri=>{u(_).changes.length>0&&Ri(Wt)})}var Kt=x(_t,2);{var Ui=Ri=>{var Ni=zK(),bn=C(Ni);Z(()=>{On(Ni,"title",`${u(_).ahead??""} commit(s) ahead of upstream`),K(bn,`↑${u(_).ahead??""}`)}),T(Ri,Ni)};$(Kt,Ri=>{u(_).ahead>0&&Ri(Ui)})}var $i=x(Kt,2);{var Hi=Ri=>{var Ni=VK(),bn=C(Ni);Z(()=>{On(Ni,"title",`${u(_).behind??""} commit(s) behind upstream`),K(bn,`↓${u(_).behind??""}`)}),T(Ri,Ni)};$($i,Ri=>{u(_).behind>0&&Ri(Hi)})}Z(()=>{On(Ae,"title",`Branch: ${u(_).branch??""}`),K(ge,`⎇ ${u(_).branch??""}`)}),T(H,re)};$(ci,H=>{u(_)&&H(ve)})}var Ye=x(ci,2),ft=C(Ye),bt=C(ft),it=C(bt),pi=x(bt,2),ri=x(ft,2);{var Bn=H=>{var re=UK(),Ae=Ct(re),ge=x(Ae,2),_t=C(ge),Wt=x(_t,2),Kt=x(Wt,2);Z(()=>Kt.disabled=!u(_)),se("click",Ae,()=>I(p,!1)),se("click",_t,()=>{I(p,!1),zt()}),se("click",Wt,()=>{I(p,!1),F()}),se("click",Kt,oe),T(H,re)};$(ri,H=>{u(p)&&H(Bn)})}var en=x(Ye,2);{var Nt=H=>{var re=$K();se("click",re,Q),T(H,re)};$(en,H=>{u(h)&&H(Nt)})}var Vt=x(en,2);let tn;var ji=x(Se,2),Pn=C(ji),nn=C(Pn),bs=C(nn);xs(bs,H=>wt=H,()=>wt);var go=x(bs,2);{var qr=H=>{var re=qK();T(H,re)};$(go,H=>{u(h)||H(qr)})}var wl=x(go,2);{var Pa=H=>{var re=XK(),Ae=C(re),ge=C(Ae),_t=x(C(ge)),Wt=C(_t),Kt=x(ge,2),Ui=C(Kt),$i=C(Ui),Hi=C($i),Ri=C(Hi),Ni=x(Hi,2),bn=x($i,2);{var mo=Zn=>{var Us=ZK(),Sl=Ct(Us),eo=x(Sl,2),ws=C(eo);{var Gr=Ao=>{var _o=KK();se("click",_o,()=>{I(Bt,!1),I(hi,!0),A()}),T(Ao,_o)},Ko=Ao=>{var _o=GK();se("click",_o,()=>{I(Bt,!1),I(hi,!1)}),T(Ao,_o)};$(ws,Ao=>{u(hi)?Ao(Ko,-1):Ao(Gr)})}se("click",Sl,()=>I(Bt,!1)),T(Zn,Us)};$(bn,Zn=>{u(Bt)&&Zn(mo)})}var Ro=x(Ui,2),br=x(Ae,2);xs(br,Zn=>I(Ot,Zn),()=>u(Ot)),Z(Zn=>{K(Wt,Zn),K(Ri,u(hi)?"Auto-accept ✓":"Accept")},[()=>{var Zn;return(Zn=u(h))==null?void 0:Zn.split("/").pop()}]),se("click",Hi,A),se("click",Ni,()=>I(Bt,!u(Bt))),se("click",Ro,q),T(H,re)};$(wl,H=>{u(Mt)!==null&&H(Pa)})}var No=x(nn,2);let yl,Ta;var ki=C(No);{var fo=H=>{var re=YK();se("mousedown",re,ai),T(H,re)};$(ki,H=>{u(v)&&H(fo)})}var ss=x(ki,2),po=C(ss),Ec=C(po),Ng=x(Ec);{var Pc=H=>{var re=JK(),Ae=C(re);Z(ge=>K(Ae,`— ${ge??""}`),[()=>u(h).split("/").pop()]),T(H,re)};$(Ng,H=>{u(h)&&H(Pc)})}var Kr=x(po,2);{var Ma=H=>{var re=eG(),Ae=Ct(re);mi(Ae,21,()=>fe,An,(Ui,$i)=>{var Hi=QK(),Ri=C(Hi),Ni={};Z(()=>{K(Ri,u($i)),Ni!==(Ni=u($i))&&(Hi.value=(Hi.__value=u($i))??"")}),T(Ui,Hi)});var ge=x(Ae,2),_t=x(ge,2),Wt=C(_t),Kt=x(_t,2);ua(Ae,()=>u(O),Ui=>I(O,Ui)),Ei(ge,()=>u(J),Ui=>I(J,Ui)),Ds(Wt,()=>u(X),Ui=>I(X,Ui)),se("click",Kt,pe),T(H,re)};$(Kr,H=>{u(v)&&H(Ma)})}var Mw=x(ss,2);{var Nw=H=>{var re=nG(),Ae=C(re);mi(Ae,17,()=>{var Wt;return(((Wt=u(yi))==null?void 0:Wt.logEntries)??[]).filter($e)},Wt=>Wt.ts+Wt.msg,(Wt,Kt)=>{var Ui=tG(),$i=C(Ui),Hi=C($i),Ri=x($i,2),Ni=C(Ri),bn=x(Ri,2),mo=C(bn);Z((Ro,br)=>{jt(Ui,1,`log-line ${u(Kt).level??""}`,"svelte-1pyfjii"),K(Hi,Ro),K(Ni,br),K(mo,u(Kt).msg)},[()=>tt(u(Kt).ts),()=>u(Kt).level.toUpperCase()]),T(Wt,Ui)});var ge=x(Ae,2);{var _t=Wt=>{var Kt=iG();T(Wt,Kt)};$(ge,Wt=>{var Kt;(((Kt=u(yi))==null?void 0:Kt.logEntries.length)??0)===0&&Wt(_t)})}xs(re,Wt=>I(D,Wt),()=>u(D)),T(H,re)};$(Mw,H=>{u(v)&&H(Nw)})}var Rg=x(Pn,2);{var Rw=H=>{var re=sG(),Ae=Ct(re),ge=x(Ae,2);let _t;var Wt=C(ge);hK(Wt,{get currentScript(){return u(Ht)},onApply:Vi,onCreateFile:ni,get extraFiles(){return u(z)},set extraFiles(Kt){I(z,Kt,!0)}}),Z(()=>_t=Uo(ge,"",_t,{width:`${u(rn)??""}px`})),se("mousedown",Ae,ii),T(H,re)};$(Rg,H=>{u(Ze)&&H(Rw)})}Z(()=>{var H;W=Uo(Ge,"",W,{width:`${u(_n)??""}px`}),K(ct,u(h)??"No file selected"),bt.disabled=!((H=u(yi))!=null&&H.dirty)||u(g),K(it,u(g)?"Saving…":"Save"),pi.disabled=!u(h),tn=jt(Vt,1,"ai-toggle svelte-1pyfjii",null,tn,{"ai-open":u(Ze)}),On(Vt,"title",u(Ze)?"Close AI assistant":"Open AI assistant"),yl=jt(No,1,"log-panel svelte-1pyfjii",null,yl,{collapsed:!u(v)}),Ta=Uo(No,"",Ta,{height:u(v)?`${u(Ki)}px`:"26px"}),K(Ec,`${u(v)?"▾":"▸"} Script Log `)}),se("mousedown",_e,Qt),se("click",bt,zt),se("click",pi,()=>I(p,!u(p))),se("click",Vt,()=>I(Ze,!u(Ze))),se("click",po,qe),T(o,Y),Mo()}_r(["click","contextmenu","keydown","change","mousedown"]);const MR="she-theme";function aG(){return localStorage.getItem(MR)??"dark"}function lG(o){localStorage.setItem(MR,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 cG=ff.exports,RD;function dG(){return RD||(RD=1,(function(o,e){(function(t,i){i(e)})(cG,(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,P,j;return j=function(){b=!1,k&&(P.apply(m,k),k=!1)},P=function(){b?k=arguments:(l.apply(m,arguments),setTimeout(j,d),b=!0)},P}function g(l,d,m){var b=d[1],k=d[0],P=b-k;return l===b&&m?l:((l-k)%P+P)%P+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 E(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 z(l,d){for(var m=0;m<l.length;m++)if(l[m]===d)return m;return-1}var O="data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=";function J(l){return window["webkit"+l]||window["moz"+l]||window["ms"+l]}var X=0;function fe(l){var d=+new Date,m=Math.max(0,16-(d-X));return X=d+m,window.setTimeout(l,m)}var Ee=window.requestAnimationFrame||J("RequestAnimationFrame")||fe,$e=window.cancelAnimationFrame||J("CancelAnimationFrame")||J("CancelRequestAnimationFrame")||function(l){window.clearTimeout(l)};function me(l,d,m){if(m&&Ee===fe)l.call(d);else return Ee.call(window,r(l,d))}function at(l){l&&$e.call(window,l)}var Xt={__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:E,isArray:N,indexOf:z,emptyImageUrl:O,requestFn:Ee,cancelFn:$e,requestAnimFrame:me,cancelAnimFrame:at};function wt(){}wt.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&&(Yt(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 P=0,j=b._initHooks.length;P<j;P++)b._initHooks[P].call(this)}},d},wt.include=function(l){var d=this.prototype.options;return n(this.prototype,l),l.options&&(this.prototype.options=d,this.mergeOptions(l.options)),this},wt.mergeOptions=function(l){return n(this.prototype.options,l),this},wt.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 Yt(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 Ft={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,P=l.length;k<P;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,P=0,j=l.length;P<j;P++)k?this._off(l[P]):this._off(l[P],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,P;if(this._events&&(b=this._events[l],!!b)){if(arguments.length===1){if(this._firingCount)for(k=0,P=b.length;k<P;k++)b[k].fn=f;delete this._events[l];return}if(typeof d!="function"){console.warn("wrong listener type: "+typeof d);return}var j=this._listens(l,d,m);if(j!==!1){var ie=b[j];this._firingCount&&(ie.fn=f,this._events[l]=b=b.slice()),b.splice(j,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 P=0,j=k.length;P<j;P++){var ie=k[P],ce=ie.fn;ie.once&&this.off(l,ce,ie.ctx),ce.call(ie.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 P=this._events&&this._events[l];if(P&&P.length&&this._listens(l,k,m)!==!1)return!0;if(b){for(var j in this._eventParents)if(this._eventParents[j].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,P=b.length;k<P;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,P=l.length;k<P;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)}};Ft.addEventListener=Ft.on,Ft.removeEventListener=Ft.clearAllEventListeners=Ft.off,Ft.addOneTimeEventListener=Ft.once,Ft.fireEvent=Ft.fire,Ft.hasEventListeners=Ft.listens;var Jt=wt.extend(Ft);function de(l,d,m){this.x=m?Math.round(l):l,this.y=m?Math.round(d):d}var yt=Math.trunc||function(l){return l>0?Math.floor(l):Math.ceil(l)};de.prototype={clone:function(){return new de(this.x,this.y)},add:function(l){return this.clone()._add(We(l))},_add:function(l){return this.x+=l.x,this.y+=l.y,this},subtract:function(l){return this.clone()._subtract(We(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 de(this.x*l.x,this.y*l.y)},unscaleBy:function(l){return new de(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=yt(this.x),this.y=yt(this.y),this},distanceTo:function(l){l=We(l);var d=l.x-this.x,m=l.y-this.y;return Math.sqrt(d*d+m*m)},equals:function(l){return l=We(l),l.x===this.x&&l.y===this.y},contains:function(l){return l=We(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 We(l,d,m){return l instanceof de?l:N(l)?new de(l[0],l[1]):l==null?l:typeof l=="object"&&"x"in l&&"y"in l?new de(l.x,l.y):new de(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 de||typeof l[0]=="number"||"x"in l)d=m=We(l);else if(l=Mt(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 We((this.min.x+this.max.x)/2,(this.min.y+this.max.y)/2,l)},getBottomLeft:function(){return We(this.min.x,this.max.y)},getTopRight:function(){return We(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 de?l=We(l):l=Mt(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=Mt(l);var d=this.min,m=this.max,b=l.min,k=l.max,P=k.x>=d.x&&b.x<=m.x,j=k.y>=d.y&&b.y<=m.y;return P&&j},overlaps:function(l){l=Mt(l);var d=this.min,m=this.max,b=l.min,k=l.max,P=k.x>d.x&&b.x<m.x,j=k.y>d.y&&b.y<m.y;return P&&j},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 Mt(We(d.x-b,d.y-k),We(m.x+b,m.y+k))},equals:function(l){return l?(l=Mt(l),this.min.equals(l.getTopLeft())&&this.max.equals(l.getBottomRight())):!1}};function Mt(l,d){return!l||l instanceof Ze?l:new Ze(l,d)}function hi(l,d){if(l)for(var m=d?[l,d]:l,b=0,k=m.length;b<k;b++)this.extend(m[b])}hi.prototype={extend:function(l){var d=this._southWest,m=this._northEast,b,k;if(l instanceof Ot)b=l,k=l;else if(l instanceof hi){if(b=l._southWest,k=l._northEast,!b||!k)return this}else return l?this.extend(It(l)||Bt(l)):this;return!d&&!m?(this._southWest=new Ot(b.lat,b.lng),this._northEast=new Ot(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 hi(new Ot(d.lat-b,d.lng-k),new Ot(m.lat+b,m.lng+k))},getCenter:function(){return new Ot((this._southWest.lat+this._northEast.lat)/2,(this._southWest.lng+this._northEast.lng)/2)},getSouthWest:function(){return this._southWest},getNorthEast:function(){return this._northEast},getNorthWest:function(){return new Ot(this.getNorth(),this.getWest())},getSouthEast:function(){return new Ot(this.getSouth(),this.getEast())},getWest:function(){return this._southWest.lng},getSouth:function(){return this._southWest.lat},getEast:function(){return this._northEast.lng},getNorth:function(){return this._northEast.lat},contains:function(l){typeof l[0]=="number"||l instanceof Ot||"lat"in l?l=It(l):l=Bt(l);var d=this._southWest,m=this._northEast,b,k;return l instanceof hi?(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=Bt(l);var d=this._southWest,m=this._northEast,b=l.getSouthWest(),k=l.getNorthEast(),P=k.lat>=d.lat&&b.lat<=m.lat,j=k.lng>=d.lng&&b.lng<=m.lng;return P&&j},overlaps:function(l){l=Bt(l);var d=this._southWest,m=this._northEast,b=l.getSouthWest(),k=l.getNorthEast(),P=k.lat>d.lat&&b.lat<m.lat,j=k.lng>d.lng&&b.lng<m.lng;return P&&j},toBBoxString:function(){return[this.getWest(),this.getSouth(),this.getEast(),this.getNorth()].join(",")},equals:function(l,d){return l?(l=Bt(l),this._southWest.equals(l.getSouthWest(),d)&&this._northEast.equals(l.getNorthEast(),d)):!1},isValid:function(){return!!(this._southWest&&this._northEast)}};function Bt(l,d){return l instanceof hi?l:new hi(l,d)}function Ot(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)}Ot.prototype={equals:function(l,d){if(!l)return!1;l=It(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 vi.distance(this,It(l))},wrap:function(){return vi.wrapLatLng(this)},toBounds:function(l){var d=180*l/40075017,m=d/Math.cos(Math.PI/180*this.lat);return Bt([this.lat-d,this.lng-m],[this.lat+d,this.lng+m])},clone:function(){return new Ot(this.lat,this.lng,this.alt)}};function It(l,d,m){return l instanceof Ot?l:N(l)&&typeof l[0]!="object"?l.length===3?new Ot(l[0],l[1],l[2]):l.length===2?new Ot(l[0],l[1]):null:l==null?l:typeof l=="object"&&"lat"in l?new Ot(l.lat,"lng"in l?l.lng:l.lon,l.alt):d===void 0?null:new Ot(l,d,m)}var si={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 Ot(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 P=l.getSouthWest(),j=l.getNorthEast(),ie=new Ot(P.lat-b,P.lng-k),ce=new Ot(j.lat-b,j.lng-k);return new hi(ie,ce)}},vi=n({},si,{wrapLng:[-180,180],R:6371e3,distance:function(l,d){var m=Math.PI/180,b=l.lat*m,k=d.lat*m,P=Math.sin((d.lat-l.lat)*m/2),j=Math.sin((d.lng-l.lng)*m/2),ie=P*P+Math.cos(b)*Math.cos(k)*j*j,ce=2*Math.atan2(Math.sqrt(ie),Math.sqrt(1-ie));return this.R*ce}}),_n=6378137,Ki={R:_n,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 de(this.R*l.lng*d,this.R*Math.log((1+k)/(1-k))/2)},unproject:function(l){var d=180/Math.PI;return new Ot((2*Math.atan(Math.exp(l.y/this.R))-Math.PI/2)*d,l.x*d/this.R)},bounds:(function(){var l=_n*Math.PI;return new Ze([-l,-l],[l,l])})()};function rn(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}rn.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 de((l.x/d-this._b)/this._a,(l.y/d-this._d)/this._c)}};function vn(l,d,m,b){return new rn(l,d,m,b)}var Bi=n({},vi,{code:"EPSG:3857",projection:Ki,transformation:(function(){var l=.5/(Math.PI*Ki.R);return vn(l,.5,-l,.5)})()}),jn=n({},Bi,{code:"EPSG:900913"});function hn(l){return document.createElementNS("http://www.w3.org/2000/svg",l)}function xn(l,d){var m="",b,k,P,j,ie,ce;for(b=0,P=l.length;b<P;b++){for(ie=l[b],k=0,j=ie.length;k<j;k++)ce=ie[k],m+=(k?"L":"M")+ce.x+" "+ce.y;m+=d?De.svg?"z":"x":""}return m||"M0 0"}var qn=document.documentElement.style,Ln="ActiveXObject"in window,Kn=Ln&&!document.addEventListener,et="msLaunchUri"in navigator&&!("documentMode"in document),Ht=ut("webkit"),bi=ut("android"),fi=ut("android 2")||ut("android 3"),oi=parseInt(/WebKit\/([0-9]+)|$/.exec(navigator.userAgent)[1],10),yi=bi&&ut("Google")&&oi<537&&!("AudioNode"in window),an=!!window.opera,Qi=!et&&ut("chrome"),un=ut("gecko")&&!Ht&&!an&&!Ln,Wn=!Qi&&ut("safari"),kn=ut("phantom"),In="OTransition"in qn,Ti=navigator.platform.indexOf("Win")===0,Gn=Ln&&"transition"in qn,Un="WebKitCSSMatrix"in window&&"m11"in new window.WebKitCSSMatrix&&!fi,Nn="MozPerspective"in qn,Dn=!window.L_DISABLE_3D&&(Gn||Un||Nn)&&!In&&!kn,ln=typeof orientation<"u"||ut("mobile"),Le=ln&&Ht,G=ln&&Un,Pe=!window.PointerEvent&&window.MSPointerEvent,nt=!!(window.PointerEvent||Pe),ht="ontouchstart"in window||!!window.TouchEvent,zt=!window.L_NO_TOUCH&&(ht||nt),F=ln&&an,oe=ln&&un,ye=(window.devicePixelRatio||window.screen.deviceXDPI/window.screen.logicalXDPI)>1,U=(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})(),be=(function(){return!!document.createElement("canvas").getContext})(),ze=!!(document.createElementNS&&hn("svg").createSVGRect),ke=!!ze&&(function(){var l=document.createElement("div");return l.innerHTML="<svg/>",(l.firstChild&&l.firstChild.namespaceURI)==="http://www.w3.org/2000/svg"})(),Me=!ze&&(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}})(),Te=navigator.platform.indexOf("Mac")===0,Pt=navigator.platform.indexOf("Linux")===0;function ut(l){return navigator.userAgent.toLowerCase().indexOf(l)>=0}var De={ie:Ln,ielt9:Kn,edge:et,webkit:Ht,android:bi,android23:fi,androidStock:yi,opera:an,chrome:Qi,gecko:un,safari:Wn,phantom:kn,opera12:In,win:Ti,ie3d:Gn,webkit3d:Un,gecko3d:Nn,any3d:Dn,mobile:ln,mobileWebkit:Le,mobileWebkit3d:G,msPointer:Pe,pointer:nt,touch:zt,touchNative:ht,mobileOpera:F,mobileGecko:oe,retina:ye,passiveEvents:U,canvas:be,svg:ze,vml:Me,inlineSvg:ke,mac:Te,linux:Pt},Rt=De.msPointer?"MSPointerDown":"pointerdown",ti=De.msPointer?"MSPointerMove":"pointermove",qt=De.msPointer?"MSPointerUp":"pointerup",$t=De.msPointer?"MSPointerCancel":"pointercancel",ei={touchstart:Rt,touchmove:ti,touchend:qt,touchcancel:$t},Q={touchstart:zi,touchmove:ii,touchend:ii,touchcancel:ii},pe={},qe=!1;function tt(l,d,m){return d==="touchstart"&&ai(),Q[d]?(m=Q[d].bind(this,m),l.addEventListener(ei[d],m,!1),m):(console.warn("wrong event specified:",d),f)}function kt(l,d,m){if(!ei[d]){console.warn("wrong event specified:",d);return}l.removeEventListener(ei[d],m,!1)}function He(l){pe[l.pointerId]=l}function st(l){pe[l.pointerId]&&(pe[l.pointerId]=l)}function Qt(l){delete pe[l.pointerId]}function ai(){qe||(document.addEventListener(Rt,He,!0),document.addEventListener(ti,st,!0),document.addEventListener(qt,Qt,!0),document.addEventListener($t,Qt,!0),qe=!0)}function ii(l,d){if(d.pointerType!==(d.MSPOINTER_TYPE_MOUSE||"mouse")){d.touches=[];for(var m in pe)d.touches.push(pe[m]);d.changedTouches=[d],l(d)}}function zi(l,d){d.MSPOINTER_TYPE_TOUCH&&d.pointerType===d.MSPOINTER_TYPE_TOUCH&&nn(d),ii(l,d)}function En(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 Mi=200;function ni(l,d){l.addEventListener("dblclick",d);var m=0,b;function k(P){if(P.detail!==1){b=P.detail;return}if(!(P.pointerType==="mouse"||P.sourceCapabilities&&!P.sourceCapabilities.firesTouchEvents)){var j=go(P);if(!(j.some(function(ce){return ce instanceof HTMLLabelElement&&ce.attributes.for})&&!j.some(function(ce){return ce instanceof HTMLInputElement||ce instanceof HTMLSelectElement}))){var ie=Date.now();ie-m<=Mi?(b++,b===2&&d(En(P))):b=1,m=ie}}}return l.addEventListener("click",k),{dblclick:d,simDblclick:k}}function Vi(l,d){l.removeEventListener("dblclick",d.dblclick),l.removeEventListener("click",d.simDblclick)}var A=ot(["transform","webkitTransform","OTransform","MozTransform","msTransform"]),q=ot(["webkitTransition","transition","OTransition","MozTransition","msTransition"]),Ce=q==="webkitTransition"||q==="OTransition"?q+"End":"transitionend";function Y(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 he(l,d,m){var b=document.createElement(l);return b.className=d||"",m&&m.appendChild(b),b}function Ie(l){var d=l.parentNode;d&&d.removeChild(l)}function Tt(l){for(;l.firstChild;)l.removeChild(l.firstChild)}function Je(l){var d=l.parentNode;d&&d.lastChild!==l&&d.appendChild(l)}function Re(l){var d=l.parentNode;d&&d.firstChild!==l&&d.insertBefore(l,d.firstChild)}function Dt(l,d){if(l.classList!==void 0)return l.classList.contains(d);var m=Oe(l);return m.length>0&&new RegExp("(^|\\s)"+d+"(\\s|$)").test(m)}function Ge(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(!Dt(l,d)){var P=Oe(l);te(l,(P?P+" ":"")+d)}}function W(l,d){l.classList!==void 0?l.classList.remove(d):te(l,v((" "+Oe(l)+" ").replace(" "+d+" "," ")))}function te(l,d){l.className.baseVal===void 0?l.className=d:l.className.baseVal=d}function Oe(l){return l.correspondingElement&&(l=l.correspondingElement),l.className.baseVal===void 0?l.className:l.className.baseVal}function Qe(l,d){"opacity"in l.style?l.style.opacity=d:"filter"in l.style&&vt(l,d)}function vt(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 ot(l){for(var d=document.documentElement.style,m=0;m<l.length;m++)if(l[m]in d)return l[m];return!1}function gt(l,d,m){var b=d||new de(0,0);l.style[A]=(De.ie3d?"translate("+b.x+"px,"+b.y+"px)":"translate3d("+b.x+"px,"+b.y+"px,0)")+(m?" scale("+m+")":"")}function le(l,d){l._leaflet_pos=d,De.any3d?gt(l,d):(l.style.left=d.x+"px",l.style.top=d.y+"px")}function Ue(l){return l._leaflet_pos||new de(0,0)}var Fe,_e,Xe;if("onselectstart"in document)Fe=function(){it(window,"selectstart",nn)},_e=function(){ri(window,"selectstart",nn)};else{var Ke=ot(["userSelect","WebkitUserSelect","OUserSelect","MozUserSelect","msUserSelect"]);Fe=function(){if(Ke){var l=document.documentElement.style;Xe=l[Ke],l[Ke]="none"}},_e=function(){Ke&&(document.documentElement.style[Ke]=Xe,Xe=void 0)}}function xe(){it(window,"dragstart",nn)}function Se(){ri(window,"dragstart",nn)}var Ne,ct;function ci(l){for(;l.tabIndex===-1;)l=l.parentNode;l.style&&(ve(),Ne=l,ct=l.style.outlineStyle,l.style.outlineStyle="none",it(window,"keydown",ve))}function ve(){Ne&&(Ne.style.outlineStyle=ct,Ne=void 0,ct=void 0,ri(window,"keydown",ve))}function Ye(l){do l=l.parentNode;while((!l.offsetWidth||!l.offsetHeight)&&l!==document.body);return l}function ft(l){var d=l.getBoundingClientRect();return{x:d.width/l.offsetWidth||1,y:d.height/l.offsetHeight||1,boundingClientRect:d}}var bt={__proto__:null,TRANSFORM:A,TRANSITION:q,TRANSITION_END:Ce,get:Y,getStyle:ue,create:he,remove:Ie,empty:Tt,toFront:Je,toBack:Re,hasClass:Dt,addClass:Ge,removeClass:W,setClass:te,getClass:Oe,setOpacity:Qe,testProp:ot,setTransform:gt,setPosition:le,getPosition:Ue,get disableTextSelection(){return Fe},get enableTextSelection(){return _e},disableImageDrag:xe,enableImageDrag:Se,preventOutline:ci,restoreOutline:ve,getSizedParentNode:Ye,getScale:ft};function it(l,d,m,b){if(d&&typeof d=="object")for(var k in d)Nt(l,k,d[k],m);else{d=_(d);for(var P=0,j=d.length;P<j;P++)Nt(l,d[P],m,b)}return this}var pi="_leaflet_events";function ri(l,d,m,b){if(arguments.length===1)Bn(l),delete l[pi];else if(d&&typeof d=="object")for(var k in d)Vt(l,k,d[k],m);else if(d=_(d),arguments.length===2)Bn(l,function(ie){return z(d,ie)!==-1});else for(var P=0,j=d.length;P<j;P++)Vt(l,d[P],m,b);return this}function Bn(l,d){for(var m in l[pi]){var b=m.split(/\d/)[0];(!d||d(b))&&Vt(l,b,null,null,m)}}var en={mouseenter:"mouseover",mouseleave:"mouseout",wheel:!("onwheel"in window)&&"mousewheel"};function Nt(l,d,m,b){var k=d+c(m)+(b?"_"+c(b):"");if(l[pi]&&l[pi][k])return this;var P=function(ie){return m.call(b||l,ie||window.event)},j=P;!De.touchNative&&De.pointer&&d.indexOf("touch")===0?P=tt(l,d,P):De.touch&&d==="dblclick"?P=ni(l,P):"addEventListener"in l?d==="touchstart"||d==="touchmove"||d==="wheel"||d==="mousewheel"?l.addEventListener(en[d]||d,P,De.passiveEvents?{passive:!1}:!1):d==="mouseenter"||d==="mouseleave"?(P=function(ie){ie=ie||window.event,No(l,ie)&&j(ie)},l.addEventListener(en[d],P,!1)):l.addEventListener(d,j,!1):l.attachEvent("on"+d,P),l[pi]=l[pi]||{},l[pi][k]=P}function Vt(l,d,m,b,k){k=k||d+c(m)+(b?"_"+c(b):"");var P=l[pi]&&l[pi][k];if(!P)return this;!De.touchNative&&De.pointer&&d.indexOf("touch")===0?kt(l,d,P):De.touch&&d==="dblclick"?Vi(l,P):"removeEventListener"in l?l.removeEventListener(en[d]||d,P,!1):l.detachEvent("on"+d,P),l[pi][k]=null}function tn(l){return l.stopPropagation?l.stopPropagation():l.originalEvent?l.originalEvent._stopped=!0:l.cancelBubble=!0,this}function ji(l){return Nt(l,"wheel",tn),this}function Pn(l){return it(l,"mousedown touchstart dblclick contextmenu",tn),l._leaflet_disable_click=!0,this}function nn(l){return l.preventDefault?l.preventDefault():l.returnValue=!1,this}function bs(l){return nn(l),tn(l),this}function go(l){if(l.composedPath)return l.composedPath();for(var d=[],m=l.target;m;)d.push(m),m=m.parentNode;return d}function qr(l,d){if(!d)return new de(l.clientX,l.clientY);var m=ft(d),b=m.boundingClientRect;return new de((l.clientX-b.left)/m.x-d.clientLeft,(l.clientY-b.top)/m.y-d.clientTop)}var wl=De.linux&&De.chrome?window.devicePixelRatio:De.mac?window.devicePixelRatio*3:window.devicePixelRatio>0?2*window.devicePixelRatio:1;function Pa(l){return De.edge?l.wheelDeltaY/2:l.deltaY&&l.deltaMode===0?-l.deltaY/wl: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 No(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 yl={__proto__:null,on:it,off:ri,stopPropagation:tn,disableScrollPropagation:ji,disableClickPropagation:Pn,preventDefault:nn,stop:bs,getPropagationPath:go,getMousePosition:qr,getWheelDelta:Pa,isExternalTarget:No,addListener:it,removeListener:ri},Ta=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=Ue(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=me(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(),le(this._el,m),this.fire("step")},_complete:function(){at(this._animId),this._inProgress=!1,this.fire("end")},_easeOut:function(l){return 1-Math.pow(1-l,this._easeOutPower)}}),ki=Jt.extend({options:{crs:Bi,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(It(d.center),d.zoom,{reset:!0}),this.callInitHooks(),this._zoomAnimated=q&&De.any3d&&!De.mobileOpera&&this.options.zoomAnimation,this._zoomAnimated&&(this._createAnimProxy(),it(this._proxy,Ce,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(It(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||(De.any3d?this.options.zoomDelta:1),this.setZoom(this._zoom+l,d)},zoomOut:function(l,d){return l=l||(De.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),P=l instanceof de?l:this.latLngToContainerPoint(l),j=P.subtract(k).multiplyBy(1-1/b),ie=this.containerPointToLatLng(k.add(j));return this.setView(ie,d,{zoom:m})},_getBoundsCenterZoom:function(l,d){d=d||{},l=l.getBounds?l.getBounds():Bt(l);var m=We(d.paddingTopLeft||d.padding||[0,0]),b=We(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 P=b.subtract(m).divideBy(2),j=this.project(l.getSouthWest(),k),ie=this.project(l.getNorthEast(),k),ce=this.unproject(j.add(ie).divideBy(2).add(P),k);return{center:ce,zoom:k}},fitBounds:function(l,d){if(l=Bt(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=We(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 Ta,this._panAnim.on({step:this._onPanTransitionStep,end:this._onPanTransitionEnd},this)),d.noMoveStart||this.fire("movestart"),d.animate!==!1){Ge(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||!De.any3d)return this.setView(l,d,m);this._stop();var b=this.project(this.getCenter()),k=this.project(l),P=this.getSize(),j=this._zoom;l=It(l),d=d===void 0?j:d;var ie=Math.max(P.x,P.y),ce=ie*this.getZoomScale(j,d),Ve=k.distanceTo(b)||1,At=1.42,wi=At*At;function Gi(ms){var _m=ms?-1:1,tA=ms?ce:ie,iA=ce*ce-ie*ie+_m*wi*wi*Ve*Ve,nA=2*tA*wi*Ve,zw=iA/nA,PL=Math.sqrt(zw*zw+1)-zw,sA=PL<1e-9?-18:Math.log(PL);return sA}function to(ms){return(Math.exp(ms)-Math.exp(-ms))/2}function ks(ms){return(Math.exp(ms)+Math.exp(-ms))/2}function Go(ms){return to(ms)/ks(ms)}var vo=Gi(0);function Mh(ms){return ie*(ks(vo)/ks(vo+At*ms))}function YR(ms){return ie*(ks(vo)*Go(vo+At*ms)-to(vo))/wi}function JR(ms){return 1-Math.pow(1-ms,1.5)}var QR=Date.now(),DL=(Gi(1)-vo)/At,eA=m.duration?1e3*m.duration:1e3*DL*.8;function EL(){var ms=(Date.now()-QR)/eA,_m=JR(ms)*DL;ms<=1?(this._flyToFrame=me(EL,this),this._move(this.unproject(b.add(k.subtract(b).multiplyBy(YR(_m)/Ve)),j),this.getScaleZoom(ie/Mh(_m),j),{flyTo:!0})):this._move(l,d)._moveEnd(!0)}return this._moveStart(!0,m.noMoveStart),EL.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=Bt(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,Bt(l));return m.equals(b)||this.panTo(b,d),this._enforcingBounds=!1,this},panInside:function(l,d){d=d||{};var m=We(d.paddingTopLeft||d.padding||[0,0]),b=We(d.paddingBottomRight||d.padding||[0,0]),k=this.project(this.getCenter()),P=this.project(l),j=this.getPixelBounds(),ie=Mt([j.min.add(m),j.max.subtract(b)]),ce=ie.getSize();if(!ie.contains(P)){this._enforcingBounds=!0;var Ve=P.subtract(ie.getCenter()),At=ie.extend(P).getSize().subtract(ce);k.x+=Ve.x<0?-At.x:At.x,k.y+=Ve.y<0?-At.y:At.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(),P=b.subtract(k);return!P.x&&!P.y?this:(l.animate&&l.pan?this.panBy(P):(l.pan&&this._rawPanBy(P),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 Ot(d,m),k=b.toBounds(l.coords.accuracy*2),P=this._locateOptions;if(P.setView){var j=this.getBoundsZoom(k);this.setView(b,P.maxZoom?Math.min(j,P.maxZoom):j)}var ie={latlng:b,bounds:k,timestamp:l.timestamp};for(var ce in l.coords)typeof l.coords[ce]=="number"&&(ie[ce]=l.coords[ce]);this.fire("locationfound",ie)}},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(),Ie(this._mapPane),this._clearControlPos&&this._clearControlPos(),this._resizeRequest&&(at(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)Ie(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=he("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 hi(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=Bt(l),m=We(m||[0,0]);var b=this.getZoom()||0,k=this.getMinZoom(),P=this.getMaxZoom(),j=l.getNorthWest(),ie=l.getSouthEast(),ce=this.getSize().subtract(m),Ve=Mt(this.project(ie,b),this.project(j,b)).getSize(),At=De.any3d?this.options.zoomSnap:1,wi=ce.x/Ve.x,Gi=ce.y/Ve.y,to=d?Math.max(wi,Gi):Math.min(wi,Gi);return b=this.getScaleZoom(to,b),At&&(b=Math.round(b/(At/100))*(At/100),b=d?Math.ceil(b/At)*At:Math.floor(b/At)*At),Math.max(k,Math.min(P,b))},getSize:function(){return(!this._size||this._sizeChanged)&&(this._size=new de(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(It(l),d)},unproject:function(l,d){return d=d===void 0?this._zoom:d,this.options.crs.pointToLatLng(We(l),d)},layerPointToLatLng:function(l){var d=We(l).add(this.getPixelOrigin());return this.unproject(d)},latLngToLayerPoint:function(l){var d=this.project(It(l))._round();return d._subtract(this.getPixelOrigin())},wrapLatLng:function(l){return this.options.crs.wrapLatLng(It(l))},wrapLatLngBounds:function(l){return this.options.crs.wrapLatLngBounds(Bt(l))},distance:function(l,d){return this.options.crs.distance(It(l),It(d))},containerPointToLayerPoint:function(l){return We(l).subtract(this._getMapPanePos())},layerPointToContainerPoint:function(l){return We(l).add(this._getMapPanePos())},containerPointToLatLng:function(l){var d=this.containerPointToLayerPoint(We(l));return this.layerPointToLatLng(d)},latLngToContainerPoint:function(l){return this.layerPointToContainerPoint(this.latLngToLayerPoint(It(l)))},mouseEventToContainerPoint:function(l){return qr(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=Y(l);if(d){if(d._leaflet_id)throw new Error("Map container is already initialized.")}else throw new Error("Map container not found.");it(d,"scroll",this._onScroll,this),this._containerId=c(d)},_initLayout:function(){var l=this._container;this._fadeAnimated=this.options.fadeAnimation&&De.any3d,Ge(l,"leaflet-container"+(De.touch?" leaflet-touch":"")+(De.retina?" leaflet-retina":"")+(De.ielt9?" leaflet-oldie":"")+(De.safari?" leaflet-safari":"")+(this._fadeAnimated?" leaflet-fade-anim":""));var 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),le(this._mapPane,new de(0,0)),this.createPane("tilePane"),this.createPane("overlayPane"),this.createPane("shadowPane"),this.createPane("markerPane"),this.createPane("tooltipPane"),this.createPane("popupPane"),this.options.markerZoomAnimation||(Ge(l.markerPane,"leaflet-zoom-hide"),Ge(l.shadowPane,"leaflet-zoom-hide"))},_resetView:function(l,d,m){le(this._mapPane,new de(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 at(this._flyToFrame),this._panAnim&&this._panAnim.stop(),this},_rawPanBy:function(l){le(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?ri:it;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),De.any3d&&this.options.transform3DLimit&&(l?this.off:this.on).call(this,"moveend",this._onMoveEnd)},_onResize:function(){at(this._resizeRequest),this._resizeRequest=me(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",P=l.target||l.srcElement,j=!1;P;){if(b=this._targets[c(P)],b&&(d==="click"||d==="preclick")&&this._draggableMoved(b)){j=!0;break}if(b&&b.listens(d,!0)&&(k&&!No(P,l)||(m.push(b),k))||P===this._container)break;P=P.parentNode}return!m.length&&!j&&!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"&&ci(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 P=[],j=0;j<m.length;j++)m[j].listens(d,!0)&&P.push(m[j]);k=P.concat(k)}if(k.length){d==="contextmenu"&&nn(l);var ie=k[0],ce={originalEvent:l};if(l.type!=="keypress"&&l.type!=="keydown"&&l.type!=="keyup"){var Ve=ie.getLatLng&&(!ie._radius||ie._radius<=10);ce.containerPoint=Ve?this.latLngToContainerPoint(ie.getLatLng()):this.mouseEventToContainerPoint(l),ce.layerPoint=this.containerPointToLayerPoint(ce.containerPoint),ce.latlng=Ve?ie.getLatLng():this.layerPointToLatLng(ce.layerPoint)}for(j=0;j<k.length;j++)if(k[j].fire(d,ce,!0),ce.originalEvent._stopped||k[j].options.bubblingMouseEvents===!1&&z(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 Ue(this._mapPane)||new de(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 Mt([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),P=new Ze(b.subtract(k),b.add(k)),j=this._getBoundsOffset(P,m,d);return Math.abs(j.x)<=1&&Math.abs(j.y)<=1?l:this.unproject(b.add(j),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=Mt(this.project(d.getNorthEast(),m),this.project(d.getSouthWest(),m)),k=b.min.subtract(l.min),P=b.max.subtract(l.max),j=this._rebound(k.x,-P.x),ie=this._rebound(k.y,-P.y);return new de(j,ie)},_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=De.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(){W(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=he("div","leaflet-proxy leaflet-zoom-animated");this._panes.mapPane.appendChild(l),this.on("zoomanim",function(d){var m=A,b=this._proxy.style[m];gt(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(){Ie(this._proxy),this.off("load moveend",this._animMoveEnd,this),delete this._proxy},_animMoveEnd:function(){var l=this.getCenter(),d=this.getZoom();gt(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:(me(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,Ge(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&&W(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 fo(l,d){return new ki(l,d)}var ss=wt.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 Ge(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?(Ie(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()}}),po=function(l){return new ss(l)};ki.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=he("div",d+"control-container",this._container);function b(k,P){var j=d+k+" "+d+P;l[k+P]=he("div",j,m)}b("top","left"),b("top","right"),b("bottom","left"),b("bottom","right")},_clearControlPos:function(){for(var l in this._controlCorners)Ie(this._controlCorners[l]);Ie(this._controlContainer),delete this._controlCorners,delete this._controlContainer}});var Ec=ss.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 ss.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(){Ge(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?(Ge(this._section,"leaflet-control-layers-scrollbar"),this._section.style.height=l+"px"):W(this._section,"leaflet-control-layers-scrollbar"),this._checkDisabledLayers(),this},collapse:function(){return W(this._container,"leaflet-control-layers-expanded"),this},_initLayout:function(){var l="leaflet-control-layers",d=this._container=he("div",l),m=this.options.collapsed;d.setAttribute("aria-haspopup",!0),Pn(d),ji(d);var b=this._section=he("section",l+"-list");m&&(this._map.on("click",this.collapse,this),it(d,{mouseenter:this._expandSafely,mouseleave:this.collapse},this));var k=this._layersLink=he("a",l+"-toggle",d);k.href="#",k.title="Layers",k.setAttribute("role","button"),it(k,{keydown:function(P){P.keyCode===13&&this._expandSafely()},click:function(P){nn(P),this._expandSafely()}},this),m||this.expand(),this._baseLayersList=he("div",l+"-base",b),this._separator=he("div",l+"-separator",b),this._overlaysList=he("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;Tt(this._baseLayersList),Tt(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),it(b,"click",this._onInputClick,this);var k=document.createElement("span");k.innerHTML=" "+l.name;var P=document.createElement("span");d.appendChild(P),P.appendChild(b),P.appendChild(k);var j=l.overlay?this._overlaysList:this._baseLayersList;return j.appendChild(d),this._checkDisabledLayers(),d},_onInputClick:function(){if(!this._preventClick){var l=this._layerControlInputs,d,m,b=[],k=[];this._handlingClick=!0;for(var P=l.length-1;P>=0;P--)d=l[P],m=this._getLayer(d.layerId).layer,d.checked?b.push(m):d.checked||k.push(m);for(P=0;P<k.length;P++)this._map.hasLayer(k[P])&&this._map.removeLayer(k[P]);for(P=0;P<b.length;P++)this._map.hasLayer(b[P])||this._map.addLayer(b[P]);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,it(l,"click",nn),this.expand();var d=this;setTimeout(function(){ri(l,"click",nn),d._preventClick=!1})}}),Ng=function(l,d,m){return new Ec(l,d,m)},Pc=ss.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=he("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 P=he("a",m,b);return P.innerHTML=l,P.href="#",P.title=d,P.setAttribute("role","button"),P.setAttribute("aria-label",d),Pn(P),it(P,"click",bs),it(P,"click",k,this),it(P,"click",this._refocusOnMap,this),P},_updateDisabled:function(){var l=this._map,d="leaflet-disabled";W(this._zoomInButton,d),W(this._zoomOutButton,d),this._zoomInButton.setAttribute("aria-disabled","false"),this._zoomOutButton.setAttribute("aria-disabled","false"),(this._disabled||l._zoom===l.getMinZoom())&&(Ge(this._zoomOutButton,d),this._zoomOutButton.setAttribute("aria-disabled","true")),(this._disabled||l._zoom===l.getMaxZoom())&&(Ge(this._zoomInButton,d),this._zoomInButton.setAttribute("aria-disabled","true"))}});ki.mergeOptions({zoomControl:!0}),ki.addInitHook(function(){this.options.zoomControl&&(this.zoomControl=new Pc,this.addControl(this.zoomControl))});var Kr=function(l){return new Pc(l)},Ma=ss.extend({options:{position:"bottomleft",maxWidth:100,metric:!0,imperial:!0},onAdd:function(l){var d="leaflet-control-scale",m=he("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=he("div",d,m)),l.imperial&&(this._iScale=he("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}}),Mw=function(l){return new Ma(l)},Nw='<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>',Rg=ss.extend({options:{position:"bottomright",prefix:'<a href="https://leafletjs.com" title="A JavaScript library for interactive maps">'+(De.inlineSvg?Nw+" ":"")+"Leaflet</a>"},initialize:function(l){y(this,l),this._attributions={}},onAdd:function(l){l.attributionControl=this,this._container=he("div","leaflet-control-attribution"),Pn(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> ')}}});ki.mergeOptions({attributionControl:!0}),ki.addInitHook(function(){this.options.attributionControl&&new Rg().addTo(this)});var Rw=function(l){return new Rg(l)};ss.Layers=Ec,ss.Zoom=Pc,ss.Scale=Ma,ss.Attribution=Rg,po.layers=Ng,po.zoom=Kr,po.scale=Mw,po.attribution=Rw;var H=wt.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}});H.addTo=function(l,d){return l.addHandler(d,this),this};var re={Events:Ft},Ae=De.touch?"touchstart mousedown":"mousedown",ge=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||(it(this._dragStartTarget,Ae,this._onDown,this),this._enabled=!0)},disable:function(){this._enabled&&(ge._dragging===this&&this.finishDrag(!0),ri(this._dragStartTarget,Ae,this._onDown,this),this._enabled=!1,this._moved=!1)},_onDown:function(l){if(this._enabled&&(this._moved=!1,!Dt(this._element,"leaflet-zoom-anim"))){if(l.touches&&l.touches.length!==1){ge._dragging===this&&this.finishDrag();return}if(!(ge._dragging||l.shiftKey||l.which!==1&&l.button!==1&&!l.touches)&&(ge._dragging=this,this._preventOutline&&ci(this._element),xe(),Fe(),!this._moving)){this.fire("down");var d=l.touches?l.touches[0]:l,m=Ye(this._element);this._startPoint=new de(d.clientX,d.clientY),this._startPos=Ue(this._element),this._parentScale=ft(m);var b=l.type==="mousedown";it(document,b?"mousemove":"touchmove",this._onMove,this),it(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 de(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,Ge(document.body,"leaflet-dragging"),this._lastTarget=l.target||l.srcElement,window.SVGElementInstance&&this._lastTarget instanceof window.SVGElementInstance&&(this._lastTarget=this._lastTarget.correspondingUseElement),Ge(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),le(this._element,this._newPos),this.fire("drag",l)},_onUp:function(){this._enabled&&this.finishDrag()},finishDrag:function(l){W(document.body,"leaflet-dragging"),this._lastTarget&&(W(this._lastTarget,"leaflet-drag-target"),this._lastTarget=null),ri(document,"mousemove touchmove",this._onMove,this),ri(document,"mouseup touchend touchcancel",this._onUp,this),Se(),_e();var d=this._moved&&this._moving;this._moving=!1,ge._dragging=!1,d&&this.fire("dragend",{noInertia:l,distance:this._newPos.distanceTo(this._startPos)})}});function _t(l,d,m){var b,k=[1,4,2,8],P,j,ie,ce,Ve,At,wi,Gi;for(P=0,At=l.length;P<At;P++)l[P]._code=Us(l[P],d);for(ie=0;ie<4;ie++){for(wi=k[ie],b=[],P=0,At=l.length,j=At-1;P<At;j=P++)ce=l[P],Ve=l[j],ce._code&wi?Ve._code&wi||(Gi=Zn(Ve,ce,wi,d,m),Gi._code=Us(Gi,d),b.push(Gi)):(Ve._code&wi&&(Gi=Zn(Ve,ce,wi,d,m),Gi._code=Us(Gi,d),b.push(Gi)),b.push(ce));l=b}return l}function Wt(l,d){var m,b,k,P,j,ie,ce,Ve,At;if(!l||l.length===0)throw new Error("latlngs not passed");ws(l)||(console.warn("latlngs are not flat! Only the first ring will be used"),l=l[0]);var wi=It([0,0]),Gi=Bt(l),to=Gi.getNorthWest().distanceTo(Gi.getSouthWest())*Gi.getNorthEast().distanceTo(Gi.getNorthWest());to<1700&&(wi=Kt(l));var ks=l.length,Go=[];for(m=0;m<ks;m++){var vo=It(l[m]);Go.push(d.project(It([vo.lat-wi.lat,vo.lng-wi.lng])))}for(ie=ce=Ve=0,m=0,b=ks-1;m<ks;b=m++)k=Go[m],P=Go[b],j=k.y*P.x-P.y*k.x,ce+=(k.x+P.x)*j,Ve+=(k.y+P.y)*j,ie+=j*3;ie===0?At=Go[0]:At=[ce/ie,Ve/ie];var Mh=d.unproject(We(At));return It([Mh.lat+wi.lat,Mh.lng+wi.lng])}function Kt(l){for(var d=0,m=0,b=0,k=0;k<l.length;k++){var P=It(l[k]);d+=P.lat,m+=P.lng,b++}return It([d/b,m/b])}var Ui={__proto__:null,clipPolygon:_t,polygonCenter:Wt,centroid:Kt};function $i(l,d){if(!d||!l.length)return l.slice();var m=d*d;return l=mo(l,m),l=Ni(l,m),l}function Hi(l,d,m){return Math.sqrt(eo(l,d,m,!0))}function Ri(l,d,m){return eo(l,d,m)}function Ni(l,d){var m=l.length,b=typeof Uint8Array<"u"?Uint8Array:Array,k=new b(m);k[0]=k[m-1]=1,bn(l,k,d,0,m-1);var P,j=[];for(P=0;P<m;P++)k[P]&&j.push(l[P]);return j}function bn(l,d,m,b,k){var P=0,j,ie,ce;for(ie=b+1;ie<=k-1;ie++)ce=eo(l[ie],l[b],l[k],!0),ce>P&&(j=ie,P=ce);P>m&&(d[j]=1,bn(l,d,m,b,j),bn(l,d,m,j,k))}function mo(l,d){for(var m=[l[0]],b=1,k=0,P=l.length;b<P;b++)Sl(l[b],l[k])>d&&(m.push(l[b]),k=b);return k<P-1&&m.push(l[P-1]),m}var Ro;function br(l,d,m,b,k){var P=b?Ro:Us(l,m),j=Us(d,m),ie,ce,Ve;for(Ro=j;;){if(!(P|j))return[l,d];if(P&j)return!1;ie=P||j,ce=Zn(l,d,ie,m,k),Ve=Us(ce,m),ie===P?(l=ce,P=Ve):(d=ce,j=Ve)}}function Zn(l,d,m,b,k){var P=d.x-l.x,j=d.y-l.y,ie=b.min,ce=b.max,Ve,At;return m&8?(Ve=l.x+P*(ce.y-l.y)/j,At=ce.y):m&4?(Ve=l.x+P*(ie.y-l.y)/j,At=ie.y):m&2?(Ve=ce.x,At=l.y+j*(ce.x-l.x)/P):m&1&&(Ve=ie.x,At=l.y+j*(ie.x-l.x)/P),new de(Ve,At,k)}function Us(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 Sl(l,d){var m=d.x-l.x,b=d.y-l.y;return m*m+b*b}function eo(l,d,m,b){var k=d.x,P=d.y,j=m.x-k,ie=m.y-P,ce=j*j+ie*ie,Ve;return ce>0&&(Ve=((l.x-k)*j+(l.y-P)*ie)/ce,Ve>1?(k=m.x,P=m.y):Ve>0&&(k+=j*Ve,P+=ie*Ve)),j=l.x-k,ie=l.y-P,b?j*j+ie*ie:new de(k,P)}function ws(l){return!N(l[0])||typeof l[0][0]!="object"&&typeof l[0][0]<"u"}function Gr(l){return console.warn("Deprecated use of _flat, please use L.LineUtil.isFlat instead."),ws(l)}function Ko(l,d){var m,b,k,P,j,ie,ce,Ve;if(!l||l.length===0)throw new Error("latlngs not passed");ws(l)||(console.warn("latlngs are not flat! Only the first ring will be used"),l=l[0]);var At=It([0,0]),wi=Bt(l),Gi=wi.getNorthWest().distanceTo(wi.getSouthWest())*wi.getNorthEast().distanceTo(wi.getNorthWest());Gi<1700&&(At=Kt(l));var to=l.length,ks=[];for(m=0;m<to;m++){var Go=It(l[m]);ks.push(d.project(It([Go.lat-At.lat,Go.lng-At.lng])))}for(m=0,b=0;m<to-1;m++)b+=ks[m].distanceTo(ks[m+1])/2;if(b===0)Ve=ks[0];else for(m=0,P=0;m<to-1;m++)if(j=ks[m],ie=ks[m+1],k=j.distanceTo(ie),P+=k,P>b){ce=(P-b)/k,Ve=[ie.x-ce*(ie.x-j.x),ie.y-ce*(ie.y-j.y)];break}var vo=d.unproject(We(Ve));return It([vo.lat+At.lat,vo.lng+At.lng])}var Ao={__proto__:null,simplify:$i,pointToSegmentDistance:Hi,closestPointOnSegment:Ri,clipSegment:br,_getEdgeIntersection:Zn,_getBitCode:Us,_sqClosestPointOnSegment:eo,isFlat:ws,_flat:Gr,polylineCenter:Ko},_o={project:function(l){return new de(l.lng,l.lat)},unproject:function(l){return new Ot(l.y,l.x)},bounds:new Ze([-180,-90],[180,90])},Cl={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,P=Math.sqrt(1-k*k),j=P*Math.sin(b),ie=Math.tan(Math.PI/4-b/2)/Math.pow((1-j)/(1+j),P/2);return b=-m*Math.log(Math.max(ie,1e-10)),new de(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),P=Math.exp(-l.y/m),j=Math.PI/2-2*Math.atan(P),ie=0,ce=.1,Ve;ie<15&&Math.abs(ce)>1e-7;ie++)Ve=k*Math.sin(j),Ve=Math.pow((1-Ve)/(1+Ve),k/2),ce=Math.PI/2-2*Math.atan(P*Ve)-j,j+=ce;return new Ot(j*d,l.x*d/m)}},Ih={__proto__:null,LonLat:_o,Mercator:Cl,SphericalMercator:Ki},Ag=n({},vi,{code:"EPSG:3395",projection:Cl,transformation:(function(){var l=.5/(Math.PI*Cl.R);return vn(l,.5,-l,.5)})()}),rs=n({},vi,{code:"EPSG:4326",projection:_o,transformation:vn(1/180,1,-1/180,.5)}),xl=n({},si,{projection:_o,transformation:vn(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});si.Earth=vi,si.EPSG3395=Ag,si.EPSG3857=Bi,si.EPSG900913=jn,si.EPSG4326=rs,si.Simple=xl;var Ms=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})}}});ki.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 Zr=Ms.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)}}),Aw=function(l,d){return new Zr(l,d)},wr=Zr.extend({addLayer:function(l){return this.hasLayer(l)?this:(l.addEventParent(this),Zr.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),Zr.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 hi;for(var d in this._layers){var m=this._layers[d];l.extend(m.getBounds?m.getBounds():m.getLatLng())}return l}}),Ow=function(l,d){return new wr(l,d)},sn=wt.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=We(b),P=We(d==="shadow"&&m.shadowAnchor||m.iconAnchor||k&&k.divideBy(2,!0));l.className="leaflet-marker-"+d+" "+(m.className||""),P&&(l.style.marginLeft=-P.x+"px",l.style.marginTop=-P.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 De.retina&&this.options[l+"RetinaUrl"]||this.options[l+"Url"]}});function $s(l){return new sn(l)}var Xr=sn.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 Xr.imagePath!="string"&&(Xr.imagePath=this._detectIconPath()),(this.options.imagePath||Xr.imagePath)+sn.prototype._getIconUrl.call(this,l)},_stripUrl:function(l){var d=function(m,b,k){var P=b.exec(m);return P&&P[k]};return l=d(l,/^url\((['"])?(.+)\1\)$/,2),l&&d(l,/^(.*)marker-icon\.png$/,1)},_detectIconPath:function(){var l=he("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):""}}),Dh=H.extend({initialize:function(l){this._marker=l},addHooks:function(){var l=this._marker._icon;this._draggable||(this._draggable=new ge(l,l,!0)),this._draggable.on({dragstart:this._onDragStart,predrag:this._onPreDrag,drag:this._onDrag,dragend:this._onDragEnd},this).enable(),Ge(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&&W(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,P=Ue(d._icon),j=m.getPixelBounds(),ie=m.getPixelOrigin(),ce=Mt(j.min._subtract(ie).add(k),j.max._subtract(ie).subtract(k));if(!ce.contains(P)){var Ve=We((Math.max(ce.max.x,P.x)-ce.max.x)/(j.max.x-ce.max.x)-(Math.min(ce.min.x,P.x)-ce.min.x)/(j.min.x-ce.min.x),(Math.max(ce.max.y,P.y)-ce.max.y)/(j.max.y-ce.max.y)-(Math.min(ce.min.y,P.y)-ce.min.y)/(j.min.y-ce.min.y)).multiplyBy(b);m.panBy(Ve,{animate:!1}),this._draggable._newPos._add(Ve),this._draggable._startPos._add(Ve),le(d._icon,this._draggable._newPos),this._onDrag(l),this._panRequest=me(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&&(at(this._panRequest),this._panRequest=me(this._adjustPan.bind(this,l)))},_onDrag:function(l){var d=this._marker,m=d._shadow,b=Ue(d._icon),k=d._map.layerPointToLatLng(b);m&&le(m,b),d._latlng=k,l.latlng=k,l.oldLatLng=this._oldLatLng,d.fire("move",l).fire("drag",l)},_onDragEnd:function(l){at(this._panRequest),delete this._oldLatLng,this._marker.fire("moveend").fire("dragend",l)}}),am=Ms.extend({options:{icon:new Xr,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=It(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=It(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||"")),Ge(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&&it(m,"focus",this._panOnFocus,this);var k=l.icon.createShadow(this._shadow),P=!1;k!==this._shadow&&(this._removeShadow(),P=!0),k&&(Ge(k,d),k.alt=""),this._shadow=k,l.opacity<1&&this._updateOpacity(),b&&this.getPane().appendChild(this._icon),this._initInteraction(),k&&P&&this.getPane(l.shadowPane).appendChild(this._shadow)},_removeIcon:function(){this.options.riseOnHover&&this.off({mouseover:this._bringToFront,mouseout:this._resetZIndex}),this.options.autoPanOnFocus&&ri(this._icon,"focus",this._panOnFocus,this),Ie(this._icon),this.removeInteractiveTarget(this._icon),this._icon=null},_removeShadow:function(){this._shadow&&Ie(this._shadow),this._shadow=null},_setPos:function(l){this._icon&&le(this._icon,l),this._shadow&&le(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&&(Ge(this._icon,"leaflet-interactive"),this.addInteractiveTarget(this._icon),Dh)){var l=this.options.draggable;this.dragging&&(l=this.dragging.enabled(),this.dragging.disable()),this.dragging=new Dh(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&&Qe(this._icon,l),this._shadow&&Qe(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?We(d.iconSize):We(0,0),b=d.iconAnchor?We(d.iconAnchor):We(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 NR(l,d){return new am(l,d)}var Ll=Ms.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=Ll.extend({options:{fill:!0,radius:10},initialize:function(l,d){y(this,d),this._latlng=It(l),this._radius=this.options.radius},setLatLng:function(l){var d=this._latlng;return this._latlng=It(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 Ll.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 RR(l,d){return new lm(l,d)}var Fw=lm.extend({initialize:function(l,d,m){if(typeof d=="number"&&(d=n({},m,{radius:d})),y(this,d),this._latlng=It(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 hi(this._map.layerPointToLatLng(this._point.subtract(l)),this._map.layerPointToLatLng(this._point.add(l)))},setStyle:Ll.prototype.setStyle,_project:function(){var l=this._latlng.lng,d=this._latlng.lat,m=this._map,b=m.options.crs;if(b.distance===vi.distance){var k=Math.PI/180,P=this._mRadius/vi.R/k,j=m.project([d+P,l]),ie=m.project([d-P,l]),ce=j.add(ie).divideBy(2),Ve=m.unproject(ce).lat,At=Math.acos((Math.cos(P*k)-Math.sin(d*k)*Math.sin(Ve*k))/(Math.cos(d*k)*Math.cos(Ve*k)))/k;(isNaN(At)||At===0)&&(At=P/Math.cos(Math.PI/180*d)),this._point=ce.subtract(m.getPixelOrigin()),this._radius=isNaN(At)?0:ce.x-m.project([Ve,l-At]).x,this._radiusY=ce.y-j.y}else{var wi=b.unproject(b.project(this._latlng).subtract([this._mRadius,0]));this._point=m.latLngToLayerPoint(this._latlng),this._radius=this._point.x-m.latLngToLayerPoint(wi).x}this._updateBounds()}});function AR(l,d,m){return new Fw(l,d,m)}var Na=Ll.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=eo,k,P,j=0,ie=this._parts.length;j<ie;j++)for(var ce=this._parts[j],Ve=1,At=ce.length;Ve<At;Ve++){k=ce[Ve-1],P=ce[Ve];var wi=b(l,k,P,!0);wi<d&&(d=wi,m=b(l,k,P))}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 Ko(this._defaultShape(),this._map.options.crs)},getBounds:function(){return this._bounds},addLatLng:function(l,d){return d=d||this._defaultShape(),l=It(l),d.push(l),this._bounds.extend(l),this.redraw()},_setLatLngs:function(l){this._bounds=new hi,this._latlngs=this._convertLatLngs(l)},_defaultShape:function(){return ws(this._latlngs)?this._latlngs:this._latlngs[0]},_convertLatLngs:function(l){for(var d=[],m=ws(l),b=0,k=l.length;b<k;b++)m?(d[b]=It(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 de(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 Ot,k=l.length,P,j;if(b){for(j=[],P=0;P<k;P++)j[P]=this._map.latLngToLayerPoint(l[P]),m.extend(j[P]);d.push(j)}else for(P=0;P<k;P++)this._projectLatlngs(l[P],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,P,j,ie,ce;for(m=0,k=0,P=this._rings.length;m<P;m++)for(ce=this._rings[m],b=0,j=ce.length;b<j-1;b++)ie=br(ce[b],ce[b+1],l,b,!0),ie&&(d[k]=d[k]||[],d[k].push(ie[0]),(ie[1]!==ce[b+1]||b===j-2)&&(d[k].push(ie[1]),k++))}},_simplifyPoints:function(){for(var l=this._parts,d=this.options.smoothFactor,m=0,b=l.length;m<b;m++)l[m]=$i(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,P,j,ie,ce=this._clickTolerance();if(!this._pxBounds||!this._pxBounds.contains(l))return!1;for(m=0,P=this._parts.length;m<P;m++)for(ie=this._parts[m],b=0,j=ie.length,k=j-1;b<j;k=b++)if(!(!d&&b===0)&&Hi(l,ie[k],ie[b])<=ce)return!0;return!1}});function OR(l,d){return new Na(l,d)}Na._flat=Gr;var Eh=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 Wt(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 Ot&&d[0].equals(d[m-1])&&d.pop(),d},_setLatLngs:function(l){Na.prototype._setLatLngs.call(this,l),ws(this._latlngs)&&(this._latlngs=[this._latlngs])},_defaultShape:function(){return ws(this._latlngs[0])?this._latlngs[0]:this._latlngs[0][0]},_clipPoints:function(){var l=this._renderer._bounds,d=this.options.weight,m=new de(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,P;b<k;b++)P=_t(this._rings[b],l,!0),P.length&&this._parts.push(P)}},_updatePath:function(){this._renderer._updatePoly(this,!0)},_containsPoint:function(l){var d=!1,m,b,k,P,j,ie,ce,Ve;if(!this._pxBounds||!this._pxBounds.contains(l))return!1;for(P=0,ce=this._parts.length;P<ce;P++)for(m=this._parts[P],j=0,Ve=m.length,ie=Ve-1;j<Ve;ie=j++)b=m[j],k=m[ie],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 FR(l,d){return new Eh(l,d)}var Ra=wr.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 P=this.options;if(P.filter&&!P.filter(l))return this;var j=cm(l,P);return j?(j.feature=um(l),j.defaultOptions=j.options,this.resetStyle(j),P.onEachFeature&&P.onEachFeature(l,j),this.addLayer(j)):this},resetStyle:function(l){return l===void 0?this.eachLayer(this.resetStyle,this):(l.options=n({},l.defaultOptions),this._setLayerStyle(l,this.options.style),this)},setStyle:function(l){return this.eachLayer(function(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=[],P=d&&d.pointToLayer,j=d&&d.coordsToLatLng||Hw,ie,ce,Ve,At;if(!b&&!m)return null;switch(m.type){case"Point":return ie=j(b),dL(P,l,ie,d);case"MultiPoint":for(Ve=0,At=b.length;Ve<At;Ve++)ie=j(b[Ve]),k.push(dL(P,l,ie,d));return new wr(k);case"LineString":case"MultiLineString":return ce=dm(b,m.type==="LineString"?0:1,j),new Na(ce,d);case"Polygon":case"MultiPolygon":return ce=dm(b,m.type==="Polygon"?1:2,j),new Eh(ce,d);case"GeometryCollection":for(Ve=0,At=m.geometries.length;Ve<At;Ve++){var wi=cm({geometry:m.geometries[Ve],type:"Feature",properties:l.properties},d);wi&&k.push(wi)}return new wr(k);case"FeatureCollection":for(Ve=0,At=m.features.length;Ve<At;Ve++){var Gi=cm(m.features[Ve],d);Gi&&k.push(Gi)}return new wr(k);default:throw new Error("Invalid GeoJSON object.")}}function dL(l,d,m,b){return l?l(d,m):new am(m,b&&b.markersInheritOptions&&b)}function Hw(l){return new Ot(l[1],l[0],l[2])}function dm(l,d,m){for(var b=[],k=0,P=l.length,j;k<P;k++)j=d?dm(l[k],d-1,m):(m||Hw)(l[k]),b.push(j);return b}function Ww(l,d){return l=It(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=[],P=0,j=l.length;P<j;P++)k.push(d?hm(l[P],ws(l[P])?0:d-1,m,b):Ww(l[P],b));return!d&&m&&k.length>0&&k.push(k[0].slice()),k}function Ph(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 Bw={toGeoJSON:function(l){return Ph(this,{type:"Point",coordinates:Ww(this.getLatLng(),l)})}};am.include(Bw),Fw.include(Bw),lm.include(Bw),Na.include({toGeoJSON:function(l){var d=!ws(this._latlngs),m=hm(this._latlngs,d?1:0,!1,l);return Ph(this,{type:(d?"Multi":"")+"LineString",coordinates:m})}}),Eh.include({toGeoJSON:function(l){var d=!ws(this._latlngs),m=d&&!ws(this._latlngs[0]),b=hm(this._latlngs,m?2:d?1:0,!0,l);return d||(b=[b]),Ph(this,{type:(m?"Multi":"")+"Polygon",coordinates:b})}}),Zr.include({toMultiPoint:function(l){var d=[];return this.eachLayer(function(m){d.push(m.toGeoJSON(l).geometry.coordinates)}),Ph(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 P=k.toGeoJSON(l);if(m)b.push(P.geometry);else{var j=um(P);j.type==="FeatureCollection"?b.push.apply(b,j.features):b.push(j)}}}),m?Ph(this,{geometries:b,type:"GeometryCollection"}):{type:"FeatureCollection",features:b}}});function hL(l,d){return new Ra(l,d)}var HR=hL,gm=Ms.extend({options:{opacity:1,alt:"",interactive:!1,crossOrigin:!1,errorOverlayUrl:"",zIndex:1,className:""},initialize:function(l,d,m){this._url=l,this._bounds=Bt(d),y(this,m)},onAdd:function(){this._image||(this._initImage(),this.options.opacity<1&&this._updateOpacity()),this.options.interactive&&(Ge(this._image,"leaflet-interactive"),this.addInteractiveTarget(this._image)),this.getPane().appendChild(this._image),this._reset()},onRemove:function(){Ie(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&&Je(this._image),this},bringToBack:function(){return this._map&&Re(this._image),this},setUrl:function(l){return this._url=l,this._image&&(this._image.src=l),this},setBounds:function(l){return this._bounds=Bt(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:he("img");if(Ge(d,"leaflet-image-layer"),this._zoomAnimated&&Ge(d,"leaflet-zoom-animated"),this.options.className&&Ge(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;gt(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();le(l,d.min),l.style.width=m.x+"px",l.style.height=m.y+"px"},_updateOpacity:function(){Qe(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()}}),WR=function(l,d,m){return new gm(l,d,m)},uL=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:he("video");if(Ge(d,"leaflet-image-layer"),this._zoomAnimated&&Ge(d,"leaflet-zoom-animated"),this.options.className&&Ge(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 P=0;P<this._url.length;P++){var j=he("source");j.src=this._url[P],d.appendChild(j)}}});function BR(l,d,m){return new uL(l,d,m)}var gL=gm.extend({_initImage:function(){var l=this._image=this._url;Ge(l,"leaflet-image-layer"),this._zoomAnimated&&Ge(l,"leaflet-zoom-animated"),this.options.className&&Ge(l,this.options.className),l.onselectstart=f,l.onmousemove=f}});function zR(l,d,m){return new gL(l,d,m)}var Yr=Ms.extend({options:{interactive:!1,offset:[0,0],className:"",pane:void 0,content:""},initialize:function(l,d){l&&(l instanceof Ot||N(l))?(this._latlng=It(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&&Qe(this._container,0),clearTimeout(this._removeTimeout),this.getPane().appendChild(this._container),this.update(),l._fadeAnimated&&Qe(this._container,1),this.bringToFront(),this.options.interactive&&(Ge(this._container,"leaflet-interactive"),this.addInteractiveTarget(this._container))},onRemove:function(l){l._fadeAnimated?(Qe(this._container,0),this._removeTimeout=setTimeout(r(Ie,void 0,this._container),200)):Ie(this._container),this.options.interactive&&(W(this._container,"leaflet-interactive"),this.removeInteractiveTarget(this._container))},getLatLng:function(){return this._latlng},setLatLng:function(l){return this._latlng=It(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&&Je(this._container),this},bringToBack:function(){return this._map&&Re(this._container),this},_prepareOpen:function(l){var d=this._source;if(!d._map)return!1;if(d instanceof wr){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=We(this.options.offset),m=this._getAnchor();this._zoomAnimated?le(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]}});ki.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}}),Ms.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 Ll||this._source.on("preclick",tn))},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 Ll||this._source.off("preclick",tn))},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=he("div",l+" "+(this.options.className||"")+" leaflet-zoom-animated"),m=this._wrapper=he("div",l+"-content-wrapper",d);if(this._contentNode=he("div",l+"-content",m),Pn(d),ji(this._contentNode),it(d,"contextmenu",tn),this._tipContainer=he("div",l+"-tip-container",d),this._tip=he("div",l+"-tip",this._tipContainer),this.options.closeButton){var b=this._closeButton=he("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>',it(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,P="leaflet-popup-scrolled";k&&b>k?(d.height=k+"px",Ge(l,P)):W(l,P),this._containerWidth=this._container.offsetWidth},_animateZoom:function(l){var d=this._map._latLngToNewLayerPoint(this._latlng,l.zoom,l.center),m=this._getAnchor();le(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 de(this._containerLeft,-m-this._containerBottom);k._add(Ue(this._container));var P=l.layerPointToContainerPoint(k),j=We(this.options.autoPanPadding),ie=We(this.options.autoPanPaddingTopLeft||j),ce=We(this.options.autoPanPaddingBottomRight||j),Ve=l.getSize(),At=0,wi=0;P.x+b+ce.x>Ve.x&&(At=P.x+b-Ve.x+ce.x),P.x-At-ie.x<0&&(At=P.x-ie.x),P.y+m+ce.y>Ve.y&&(wi=P.y+m-Ve.y+ce.y),P.y-wi-ie.y<0&&(wi=P.y-ie.y),(At||wi)&&(this.options.keepInView&&(this._autopanning=!0),l.fire("autopanstart").panBy([At,wi]))}},_getAnchor:function(){return We(this._source&&this._source._getPopupAnchor?this._source._getPopupAnchor():[0,0])}}),VR=function(l,d){return new fm(l,d)};ki.mergeOptions({closePopupOnClick:!0}),ki.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}}),Ms.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 wr||(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)){bs(l);var d=l.layer||l.target;if(this._popup._source===d&&!(d instanceof Ll)){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=he("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,P=b.latLngToContainerPoint(b.getCenter()),j=b.layerPointToContainerPoint(l),ie=this.options.direction,ce=k.offsetWidth,Ve=k.offsetHeight,At=We(this.options.offset),wi=this._getAnchor();ie==="top"?(d=ce/2,m=Ve):ie==="bottom"?(d=ce/2,m=0):ie==="center"?(d=ce/2,m=Ve/2):ie==="right"?(d=0,m=Ve/2):ie==="left"?(d=ce,m=Ve/2):j.x<P.x?(ie="right",d=0,m=Ve/2):(ie="left",d=ce+(At.x+wi.x)*2,m=Ve/2),l=l.subtract(We(d,m,!0)).add(At).add(wi),W(k,"leaflet-tooltip-right"),W(k,"leaflet-tooltip-left"),W(k,"leaflet-tooltip-top"),W(k,"leaflet-tooltip-bottom"),Ge(k,"leaflet-tooltip-"+ie),le(k,l)},_updatePosition:function(){var l=this._map.latLngToLayerPoint(this._latlng);this._setPosition(l)},setOpacity:function(l){this.options.opacity=l,this._container&&Qe(this._container,l)},_animateZoom:function(l){var d=this._map._latLngToNewLayerPoint(this._latlng,l.zoom,l.center);this._setPosition(d)},_getAnchor:function(){return We(this._source&&this._source._getTooltipAnchor&&!this.options.sticky?this._source._getTooltipAnchor():[0,0])}}),jR=function(l,d){return new pm(l,d)};ki.include({openTooltip:function(l,d,m){return this._initOverlay(pm,l,d,m).openOn(this),this},closeTooltip:function(l){return l.close(),this}}),Ms.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 wr||(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&&(it(d,"focus",function(){this._tooltip._source=l,this.openTooltip()},this),it(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 fL=sn.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?(Tt(d),d.appendChild(m.html)):d.innerHTML=m.html!==!1?m.html:"",m.bgPos){var b=We(m.bgPos);d.style.backgroundPosition=-b.x+"px "+-b.y+"px"}return this._setIconStyles(d,"icon"),d},createShadow:function(){return null}});function UR(l){return new fL(l)}sn.Default=Xr;var Og=Ms.extend({options:{tileSize:256,opacity:1,updateWhenIdle:De.mobile,updateWhenZooming:!0,updateInterval:200,zIndex:1,bounds:null,minZoom:0,maxZoom:void 0,maxNativeZoom:void 0,minNativeZoom:void 0,noWrap:!1,pane:"tilePane",className:"",keepBuffer:2},initialize:function(l){y(this,l)},onAdd:function(){this._initContainer(),this._levels={},this._tiles={},this._resetView()},beforeAdd:function(l){l._addZoomLimit(this)},onRemove:function(l){this._removeAllTiles(),Ie(this._container),l._removeZoomLimit(this),this._container=null,this._tileZoom=void 0},bringToFront:function(){return this._map&&(Je(this._container),this._setAutoZIndex(Math.max)),this},bringToBack:function(){return this._map&&(Re(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 de?l:new de(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,P;b<k;b++)P=d[b].style.zIndex,d[b]!==this._container&&P&&(m=l(m,+P));isFinite(m)&&(this.options.zIndex=m+l(-1,1),this._updateZIndex())},_updateOpacity:function(){if(this._map&&!De.ielt9){Qe(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 P=Math.min(1,(l-k.loaded)/200);Qe(k.el,P),P<1?d=!0:(k.active?m=!0:this._onOpaqueTile(k),k.active=!0)}}m&&!this._noPrune&&this._pruneTiles(),d&&(at(this._fadeFrame),this._fadeFrame=me(this._updateOpacity,this))}},_onOpaqueTile:f,_initContainer:function(){this._container||(this._container=he("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)):(Ie(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=he("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)Ie(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),P=Math.floor(d/2),j=m-1,ie=new de(+k,+P);ie.z=+j;var ce=this._tileCoordsToKey(ie),Ve=this._tiles[ce];return Ve&&Ve.active?(Ve.retain=!0,!0):(Ve&&Ve.loaded&&(Ve.retain=!0),j>b?this._retainParent(k,P,j,b):!1)},_retainChildren:function(l,d,m,b){for(var k=2*l;k<2*l+2;k++)for(var P=2*d;P<2*d+2;P++){var j=new de(k,P);j.z=m+1;var ie=this._tileCoordsToKey(j),ce=this._tiles[ie];if(ce&&ce.active){ce.retain=!0;continue}else ce&&ce.loaded&&(ce.retain=!0);m+1<b&&this._retainChildren(k,P,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 P=this.options.updateWhenZooming&&k!==this._tileZoom;(!b||P)&&(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();De.any3d?gt(l.el,k,b):le(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(),P=d.getSize().divideBy(b*2);return new Ze(k.subtract(P),k.add(P))},_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),P=k.getCenter(),j=[],ie=this.options.keepBuffer,ce=new Ze(k.getBottomLeft().subtract([ie,-ie]),k.getTopRight().add([ie,-ie]));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 Ve in this._tiles){var At=this._tiles[Ve].coords;(At.z!==this._tileZoom||!ce.contains(new de(At.x,At.y)))&&(this._tiles[Ve].current=!1)}if(Math.abs(m-this._tileZoom)>1){this._setView(l,m);return}for(var wi=k.min.y;wi<=k.max.y;wi++)for(var Gi=k.min.x;Gi<=k.max.x;Gi++){var to=new de(Gi,wi);if(to.z=this._tileZoom,!!this._isValidTile(to)){var ks=this._tiles[this._tileCoordsToKey(to)];ks?ks.current=!0:j.push(to)}}if(j.sort(function(vo,Mh){return vo.distanceTo(P)-Mh.distanceTo(P)}),j.length!==0){this._loading||(this._loading=!0,this.fire("loading"));var Go=document.createDocumentFragment();for(Gi=0;Gi<j.length;Gi++)this._addTile(j[Gi],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 Bt(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),P=d.unproject(b,l.z),j=d.unproject(k,l.z);return[P,j]},_tileCoordsToBounds:function(l){var d=this._tileCoordsToNwSe(l),m=new hi(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 de(+d[0],+d[1]);return m.z=+d[2],m},_removeTile:function(l){var d=this._tiles[l];d&&(Ie(d.el),delete this._tiles[l],this.fire("tileunload",{tile:d.el,coords:this._keyToTileCoords(l)}))},_initTile:function(l){Ge(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,De.ielt9&&this.options.opacity<1&&Qe(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&&me(r(this._tileReady,this,l,null,k)),le(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?(Qe(m.el,0),at(this._fadeFrame),this._fadeFrame=me(this._updateOpacity,this)):(m.active=!0,this._pruneTiles()),d||(Ge(m.el,"leaflet-tile-loaded"),this.fire("tileload",{tile:m.el,coords:l})),this._noTilesToLoad()&&(this._loading=!1,this.fire("load"),De.ielt9||!this._map._fadeAnimated?me(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 de(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 $R(l){return new Og(l)}var Th=Og.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&&De.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 it(m,"load",r(this._tileOnLoad,this,d,m)),it(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:De.retina?"@2x":"",s:this._getSubdomain(l),x:l.x,y:l.y,z:this._getZoomForUrl()};if(this._map&&!this._map.options.crs.infinite){var m=this._globalTileRange.max.y-l.y;this.options.tms&&(d.y=m),d["-y"]=m}return E(this._url,n(d,this.options))},_tileOnLoad:function(l,d){De.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=O;var m=this._tiles[l].coords;Ie(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",O),Og.prototype._removeTile.call(this,l)},_tileReady:function(l,d,m){if(!(!this._map||m&&m.getAttribute("src")===O))return Og.prototype._tileReady.call(this,l,d,m)}});function pL(l,d){return new Th(l,d)}var mL=Th.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&&De.retina?2:1,P=this.getTileSize();m.width=P.x*k,m.height=P.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,Th.prototype.onAdd.call(this,l)},getTileUrl:function(l){var d=this._tileCoordsToNwSe(l),m=this._crs,b=Mt(m.project(d[0]),m.project(d[1])),k=b.min,P=b.max,j=(this._wmsVersion>=1.3&&this._crs===rs?[k.y,k.x,P.y,P.x]:[k.x,k.y,P.x,P.y]).join(","),ie=Th.prototype.getTileUrl.call(this,l);return ie+S(this.wmsParams,ie,this.options.uppercase)+(this.options.uppercase?"&BBOX=":"&bbox=")+j},setParams:function(l,d){return n(this.wmsParams,l),d||this.redraw(),this}});function qR(l,d){return new mL(l,d)}Th.WMS=mL,pL.wms=qR;var Aa=Ms.extend({options:{padding:.1},initialize:function(l){y(this,l),c(this),this._layers=this._layers||{}},onAdd:function(){this._container||(this._initContainer(),Ge(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),P=b.multiplyBy(-m).add(k).subtract(this._map._getNewPixelOrigin(l,d));De.any3d?gt(this._container,P,m):le(this._container,P)},_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()}}),_L=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");it(l,"mousemove",this._onMouseMove,this),it(l,"click dblclick mousedown mouseup contextmenu",this._onClick,this),it(l,"mouseout",this._handleMouseOut,this),l._leaflet_disable_events=!0,this._ctx=l.getContext("2d")},_destroyContainer:function(){at(this._redrawRequest),delete this._ctx,Ie(this._container),ri(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=De.retina?2:1;le(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",De.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||me(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,P,j=l._parts,ie=j.length,ce=this._ctx;if(ie){for(ce.beginPath(),m=0;m<ie;m++){for(b=0,k=j[m].length;b<k;b++)P=j[m][b],ce[b?"lineTo":"moveTo"](P.x,P.y);d&&ce.closePath()}this._fillStroke(ce,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&&(W(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&&(Ge(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 vL(l){return De.canvas?new _L(l):null}var Fg=(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">')}})(),KR={_initContainer:function(){this._container=he("div","leaflet-vml-container")},_update:function(){this._map._animatingZoom||(Aa.prototype._update.call(this),this.fire("update"))},_initPath:function(l){var d=l._container=Fg("shape");Ge(d,"leaflet-vml-shape "+(this.options.className||"")),d.coordsize="1 1",l._path=Fg("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;Ie(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=Fg("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=Fg("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){Je(l._container)},_bringToBack:function(l){Re(l._container)}},mm=De.vml?Fg:hn,Hg=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(){Ie(this._container),ri(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)),le(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&&Ge(d,l.options.className),l.options.interactive&&Ge(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){Ie(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,xn(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 ",P=l._empty()?"M0 0":"M"+(d.x-m)+","+d.y+k+m*2+",0 "+k+-m*2+",0 ";this._setPath(l,P)},_setPath:function(l,d){l._path.setAttribute("d",d)},_bringToFront:function(l){Je(l._path)},_bringToBack:function(l){Re(l._path)}});De.vml&&Hg.include(KR);function bL(l){return De.svg||De.vml?new Hg(l):null}ki.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&&vL(l)||bL(l)}});var wL=Eh.extend({initialize:function(l,d){Eh.prototype.initialize.call(this,this._boundsToLatLngs(l),d)},setBounds:function(l){return this.setLatLngs(this._boundsToLatLngs(l))},_boundsToLatLngs:function(l){return l=Bt(l),[l.getSouthWest(),l.getNorthWest(),l.getNorthEast(),l.getSouthEast()]}});function GR(l,d){return new wL(l,d)}Hg.create=mm,Hg.pointsToPath=xn,Ra.geometryToLayer=cm,Ra.coordsToLatLng=Hw,Ra.coordsToLatLngs=dm,Ra.latLngToCoords=Ww,Ra.latLngsToCoords=hm,Ra.getFeature=Ph,Ra.asFeature=um,ki.mergeOptions({boxZoom:!0});var yL=H.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(){it(this._container,"mousedown",this._onMouseDown,this)},removeHooks:function(){ri(this._container,"mousedown",this._onMouseDown,this)},moved:function(){return this._moved},_destroy:function(){Ie(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(),Fe(),xe(),this._startPoint=this._map.mouseEventToContainerPoint(l),it(document,{contextmenu:bs,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseMove:function(l){this._moved||(this._moved=!0,this._box=he("div","leaflet-zoom-box",this._container),Ge(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();le(this._box,d.min),this._box.style.width=m.x+"px",this._box.style.height=m.y+"px"},_finish:function(){this._moved&&(Ie(this._box),W(this._container,"leaflet-crosshair")),_e(),Se(),ri(document,{contextmenu:bs,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 hi(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())}});ki.addInitHook("addHandler","boxZoom",yL),ki.mergeOptions({doubleClickZoom:!0});var SL=H.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)}});ki.addInitHook("addHandler","doubleClickZoom",SL),ki.mergeOptions({dragging:!0,inertia:!0,inertiaDeceleration:3400,inertiaMaxSpeed:1/0,easeLinearity:.2,worldCopyJump:!1,maxBoundsViscosity:0});var CL=H.extend({addHooks:function(){if(!this._draggable){var l=this._map;this._draggable=new ge(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))}Ge(this._map._container,"leaflet-grab leaflet-touch-drag"),this._draggable.enable(),this._positions=[],this._times=[]},removeHooks:function(){W(this._map._container,"leaflet-grab"),W(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=Bt(this._map.options.maxBounds);this._offsetLimit=Mt(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,P=(b+d+m)%l-d-m,j=Math.abs(k+m)<Math.abs(P+m)?k:P;this._draggable._absPos=this._draggable._newPos.clone(),this._draggable._newPos.x=j},_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]),P=(this._lastTime-this._times[0])/1e3,j=m.easeLinearity,ie=k.multiplyBy(j/P),ce=ie.distanceTo([0,0]),Ve=Math.min(m.inertiaMaxSpeed,ce),At=ie.multiplyBy(Ve/ce),wi=Ve/(m.inertiaDeceleration*j),Gi=At.multiplyBy(-wi/2).round();!Gi.x&&!Gi.y?d.fire("moveend"):(Gi=d._limitOffset(Gi,d.options.maxBounds),me(function(){d.panBy(Gi,{duration:wi,easeLinearity:j,noMoveStart:!0,animate:!0})}))}}});ki.addInitHook("addHandler","dragging",CL),ki.mergeOptions({keyboard:!0,keyboardPanDelta:80});var xL=H.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"),it(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(),ri(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(){it(document,"keydown",this._onKeyDown,this)},_removeHooks:function(){ri(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=We(b).multiplyBy(3)),m.options.maxBounds&&(b=m._limitOffset(We(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;bs(l)}}});ki.addInitHook("addHandler","keyboard",xL),ki.mergeOptions({scrollWheelZoom:!0,wheelDebounceTime:40,wheelPxPerZoomLevel:60});var LL=H.extend({addHooks:function(){it(this._map._container,"wheel",this._onWheelScroll,this),this._delta=0},removeHooks:function(){ri(this._map._container,"wheel",this._onWheelScroll,this)},_onWheelScroll:function(l){var d=Pa(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),bs(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,P=m?Math.ceil(k/m)*m:k,j=l._limitZoom(d+(this._delta>0?P:-P))-d;this._delta=0,this._startTime=null,j&&(l.options.scrollWheelZoom==="center"?l.setZoom(d+j):l.setZoomAround(this._lastMousePos,d+j))}});ki.addInitHook("addHandler","scrollWheelZoom",LL);var ZR=600;ki.mergeOptions({tapHold:De.touchNative&&De.safari&&De.mobile,tapTolerance:15});var kL=H.extend({addHooks:function(){it(this._map._container,"touchstart",this._onDown,this)},removeHooks:function(){ri(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 de(d.clientX,d.clientY),this._holdTimeout=setTimeout(r(function(){this._cancel(),this._isTapValid()&&(it(document,"touchend",nn),it(document,"touchend touchcancel",this._cancelClickPrevent),this._simulateEvent("contextmenu",d))},this),ZR),it(document,"touchend touchcancel contextmenu",this._cancel,this),it(document,"touchmove",this._onMove,this)}},_cancelClickPrevent:function l(){ri(document,"touchend",nn),ri(document,"touchend touchcancel",l)},_cancel:function(){clearTimeout(this._holdTimeout),ri(document,"touchend touchcancel contextmenu",this._cancel,this),ri(document,"touchmove",this._onMove,this)},_onMove:function(l){var d=l.touches[0];this._newPos=new de(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)}});ki.addInitHook("addHandler","tapHold",kL),ki.mergeOptions({touchZoom:De.touch,bounceAtZoomLimits:!0});var IL=H.extend({addHooks:function(){Ge(this._map._container,"leaflet-touch-zoom"),it(this._map._container,"touchstart",this._onTouchStart,this)},removeHooks:function(){W(this._map._container,"leaflet-touch-zoom"),ri(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(),it(document,"touchmove",this._onTouchMove,this),it(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 P=m._add(b)._divideBy(2)._subtract(this._centerPoint);if(k===1&&P.x===0&&P.y===0)return;this._center=d.unproject(d.project(this._pinchStartLatLng,this._zoom).subtract(P),this._zoom)}this._moved||(d._moveStart(!0,!1),this._moved=!0),at(this._animRequest);var j=r(d._move,d,this._center,this._zoom,{pinch:!0,round:!1},void 0);this._animRequest=me(j,this,!0),nn(l)}},_onTouchEnd:function(){if(!this._moved||!this._zooming){this._zooming=!1;return}this._zooming=!1,at(this._animRequest),ri(document,"touchmove",this._onTouchMove,this),ri(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))}});ki.addInitHook("addHandler","touchZoom",IL),ki.BoxZoom=yL,ki.DoubleClickZoom=SL,ki.Drag=CL,ki.Keyboard=xL,ki.ScrollWheelZoom=LL,ki.TapHold=kL,ki.TouchZoom=IL,t.Bounds=Ze,t.Browser=De,t.CRS=si,t.Canvas=_L,t.Circle=Fw,t.CircleMarker=lm,t.Class=wt,t.Control=ss,t.DivIcon=fL,t.DivOverlay=Yr,t.DomEvent=yl,t.DomUtil=bt,t.Draggable=ge,t.Evented=Jt,t.FeatureGroup=wr,t.GeoJSON=Ra,t.GridLayer=Og,t.Handler=H,t.Icon=sn,t.ImageOverlay=gm,t.LatLng=Ot,t.LatLngBounds=hi,t.Layer=Ms,t.LayerGroup=Zr,t.LineUtil=Ao,t.Map=ki,t.Marker=am,t.Mixin=re,t.Path=Ll,t.Point=de,t.PolyUtil=Ui,t.Polygon=Eh,t.Polyline=Na,t.Popup=fm,t.PosAnimation=Ta,t.Projection=Ih,t.Rectangle=wL,t.Renderer=Aa,t.SVG=Hg,t.SVGOverlay=gL,t.TileLayer=Th,t.Tooltip=pm,t.Transformation=rn,t.Util=Xt,t.VideoOverlay=uL,t.bind=r,t.bounds=Mt,t.canvas=vL,t.circle=AR,t.circleMarker=RR,t.control=po,t.divIcon=UR,t.extend=n,t.featureGroup=Ow,t.geoJSON=hL,t.geoJson=HR,t.gridLayer=$R,t.icon=$s,t.imageOverlay=WR,t.latLng=It,t.latLngBounds=Bt,t.layerGroup=Aw,t.map=fo,t.marker=NR,t.point=We,t.polygon=FR,t.polyline=OR,t.popup=VR,t.rectangle=GR,t.setOptions=y,t.stamp=c,t.svg=bL,t.svgOverlay=zR,t.tileLayer=pL,t.tooltip=jR,t.transformation=vn,t.version=i,t.videoOverlay=BR;var XR=window.L;t.noConflict=function(){return window.L=XR,this},window.L=t}))})(ff,ff.exports)),ff.exports}var hG=dG();const Zg=fR(hG),uG="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=",gG="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==",fG="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACkAAAApCAQAAAACach9AAACMUlEQVR4Ae3ShY7jQBAE0Aoz/f9/HTMzhg1zrdKUrJbdx+Kd2nD8VNudfsL/Th///dyQN2TH6f3y/BGpC379rV+S+qqetBOxImNQXL8JCAr2V4iMQXHGNJxeCfZXhSRBcQMfvkOWUdtfzlLgAENmZDcmo2TVmt8OSM2eXxBp3DjHSMFutqS7SbmemzBiR+xpKCNUIRkdkkYxhAkyGoBvyQFEJEefwSmmvBfJuJ6aKqKWnAkvGZOaZXTUgFqYULWNSHUckZuR1HIIimUExutRxwzOLROIG4vKmCKQt364mIlhSyzAf1m9lHZHJZrlAOMMztRRiKimp/rpdJDc9Awry5xTZCte7FHtuS8wJgeYGrex28xNTd086Dik7vUMscQOa8y4DoGtCCSkAKlNwpgNtphjrC6MIHUkR6YWxxs6Sc5xqn222mmCRFzIt8lEdKx+ikCtg91qS2WpwVfBelJCiQJwvzixfI9cxZQWgiSJelKnwBElKYtDOb2MFbhmUigbReQBV0Cg4+qMXSxXSyGUn4UbF8l+7qdSGnTC0XLCmahIgUHLhLOhpVCtw4CzYXvLQWQbJNmxoCsOKAxSgBJno75avolkRw8iIAFcsdc02e9iyCd8tHwmeSSoKTowIgvscSGZUOA7PuCN5b2BX9mQM7S0wYhMNU74zgsPBj3HU7wguAfnxxjFQGBE6pwN+GjME9zHY7zGp8wVxMShYX9NXvEWD3HbwJf4giO4CFIQxXScH1/TM+04kkBiAAAAAElFTkSuQmCC",Tn=(o,e=iw)=>{var t=pG(),i=x(C(t),2),n=C(i);Z(()=>K(n,e())),T(o,t)};var pG=R('<span class="tip svelte-767znw"><span class="tip-icon svelte-767znw">ℹ</span> <span class="tip-box svelte-767znw"> </span></span>'),mG=R("<button> </button>"),_G=R('<span class="err svelte-767znw"> </span>'),vG=R('<span class="ok svelte-767znw"> </span>'),bG=R('<div class="loading svelte-767znw">Loading…</div>'),wG=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>'),yG=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),SG=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>'),CG=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>'),xG=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),LG=R('<div class="field-error svelte-767znw"> </div>'),kG=R('<div class="field-ok svelte-767znw"> </div>'),IG=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>'),DG=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>'),EG=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> <div class="field field--check svelte-767znw"><span></span> <label class="check-label svelte-767znw"><input type="checkbox" class="svelte-767znw"/> <span class="checkmark svelte-767znw"></span> Auto-commit on save <!></label></div> <div class="field field--check svelte-767znw"><span></span> <label class="check-label svelte-767znw"><input type="checkbox" class="svelte-767znw"/> <span class="checkmark svelte-767znw"></span> Auto-push after commit <!></label></div></section>'),PG=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>'),TG=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>'),MG=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>'),NG=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>'),RG=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>'),AG=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>'),OG=R("<option> </option>"),FG=R('<span class="free-badge svelte-767znw">FREE</span> ',1),HG=R('&nbsp;— <a target="_blank" rel="noreferrer" class="svelte-767znw">Get API key ↗</a>',1),WG=R("<div><!> <!></div>"),BG=R('<div class="field svelte-767znw"><label class="svelte-767znw">Base URL <!></label> <input type="text" class="svelte-767znw"/></div>'),zG=R('<div class="field svelte-767znw"><label class="svelte-767znw">API key <!></label> <input type="password" placeholder="sk-…" autocomplete="off" class="svelte-767znw"/></div>'),VG=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>'),jG=R('<div class="config-form svelte-767znw"><!> <!> <!> <!> <!> <!> <!> <!> <!> <!></div>'),UG=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 $G(o,e){To(e,!0),delete Zg.Icon.Default.prototype._getIconUrl,Zg.Icon.Default.mergeOptions({iconUrl:uG,iconRetinaUrl:gG,shadowUrl:fG});let t=V(Si(aG())),i=V("~/.she"),n=V("mqtt"),s=V(""),r=V(""),a=V(""),c=V(""),h=V(""),g=V(""),f=V("logic"),p=V("var"),v=V(!1),_=V(8080),y=V(""),S=V("none"),D=V(""),E=V("X-Remote-User"),N=V(""),z=V(!1),O=V(""),J=V(""),X=V(""),fe=V(!1),Ee=V(!1),$e=V(!1),me=V(48.7408),at=V(9.1778),Xt=V(!1),wt=V(void 0),Yt=V(!1),Ft=V(null),Jt=V("info"),de=V(""),yt=V(""),We=V(!1),Ze=V(!1),Mt=V("");const hi=[{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 Bt=V("ollama"),Ot=V("ollama"),It=V(""),si=V(""),vi=V("");const _n={};let Ki="ollama";function rn(U,be){return U==="anthropic"?"anthropic":U==="ollama"?"ollama":be?be.includes("localhost:1234")?"lmstudio":be.includes("groq.com")?"groq":be.includes("googleapis.com")?"gemini":"openai":"openai"}function vn(){_n[Ki]={baseUrl:u(It),model:u(si),apiKey:u(vi)};const U=hi.find(ze=>ze.id===u(Bt));if(!U)return;I(Ot,U.provider,!0);const be=_n[u(Bt)];I(It,(be==null?void 0:be.baseUrl)??U.baseUrl,!0),I(si,(be==null?void 0:be.model)??U.defaultModel,!0),I(vi,(be==null?void 0:be.apiKey)??"",!0),Ki=u(Bt)}const Bi=dt(()=>hi.find(U=>U.id===u(Bt)));let jn=V(Si({}));const hn=new Set(["url","name","variablePrefix","disableVariables","mqttUsername","mqttPassword","mqttCa","mqttCert","mqttKey","port","bindAddress","auth","password","proxyHeader","proxyLogoutUrl","dir","disableWatch","gitAutoCommit","gitAutoPush","latitude","longitude","verbosity","dbPath","dbPrefix","dbPublish","dbRetain","redis","ai"]);Rn(()=>{if(!u(wt))return;const U=typeof u(me)=="number"?u(me):48.7408,be=typeof u(at)=="number"?u(at):9.1778,ze=Zg.map(u(wt)).setView([U,be],10);Zg.tileLayer("https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png",{attribution:'© <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a>'}).addTo(ze);const ke=Zg.marker([U,be],{draggable:!0}).addTo(ze);I(Ft,ke,!0);const Me=Te=>{I(me,+Te.lat.toFixed(6)),I(at,+Te.lng.toFixed(6))};return ke.on("dragend",()=>Me(ke.getLatLng())),ze.on("click",Te=>{ke.setLatLng(Te.latlng),Me(Te.latlng)}),()=>{I(Ft,null),ze.remove()}}),Rn(()=>{!u(Ft)||u(me)===""||u(at)===""||u(Ft).setLatLng([Number(u(me)),Number(u(at))])});let xn;function qn(){if(!navigator.geolocation){xn.show("Geolocation is not supported by this browser.",{alert:!0});return}I(Yt,!0),navigator.geolocation.getCurrentPosition(U=>{I(me,+U.coords.latitude.toFixed(6)),I(at,+U.coords.longitude.toFixed(6)),I(Yt,!1)},()=>{I(Yt,!1)})}let Ln=V(!0),Kn=V(!1),et=V(""),Ht=V(""),bi=V(""),fi=V("appearance");const oi=[{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","git","auto commit","auto push"]},{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 yi=dt(()=>oi.filter(U=>{const be=u(bi).trim().toLowerCase();return!be||U.label.toLowerCase().includes(be)||U.terms.some(ze=>ze.includes(be))}));function an(U){var be;I(fi,U,!0),(be=document.getElementById("sec-"+U))==null||be.scrollIntoView({behavior:"smooth",block:"start"})}vr(async()=>{try{const U=await uf();U.dataDir&&I(i,U.dataDir,!0)}catch{}try{const U=await G1();if(typeof U.url=="string"&&U.url)try{const ke=new URL(U.url);I(n,ke.protocol.replace(":",""),!0),I(s,ke.host,!0)}catch{I(s,U.url,!0)}typeof U.mqttUsername=="string"&&I(r,U.mqttUsername,!0),typeof U.mqttPassword=="string"&&I(a,U.mqttPassword,!0),typeof U.mqttCa=="string"&&I(c,U.mqttCa,!0),typeof U.mqttCert=="string"&&I(h,U.mqttCert,!0),typeof U.mqttKey=="string"&&I(g,U.mqttKey,!0),typeof U.name=="string"&&I(f,U.name,!0),typeof U.variablePrefix=="string"&&I(p,U.variablePrefix,!0),typeof U.disableVariables=="boolean"&&I(v,U.disableVariables,!0),typeof U.port=="number"&&I(_,U.port,!0),typeof U.bindAddress=="string"&&I(y,U.bindAddress,!0),typeof U.auth=="string"&&I(S,U.auth,!0),typeof U.proxyHeader=="string"&&I(E,U.proxyHeader,!0),typeof U.proxyLogoutUrl=="string"&&I(N,U.proxyLogoutUrl,!0),typeof U.dir=="string"&&I(X,U.dir,!0),typeof U.disableWatch=="boolean"&&I(fe,U.disableWatch,!0),typeof U.gitAutoCommit=="boolean"&&I(Ee,U.gitAutoCommit,!0),typeof U.gitAutoPush=="boolean"&&I($e,U.gitAutoPush,!0),typeof U.latitude=="number"&&I(me,U.latitude,!0),typeof U.longitude=="number"&&I(at,U.longitude,!0),typeof U.verbosity=="string"&&I(Jt,U.verbosity,!0),typeof U.dbPath=="string"&&I(de,U.dbPath,!0),typeof U.dbPrefix=="string"&&I(yt,U.dbPrefix,!0),typeof U.dbPublish=="boolean"&&I(We,U.dbPublish,!0),typeof U.dbRetain=="boolean"&&I(Ze,U.dbRetain,!0);const be=U.redis;be!=null&&be.url&&I(Mt,be.url,!0);const ze=U.ai;ze!=null&&ze.provider&&I(Ot,ze.provider,!0),ze!=null&&ze.baseUrl&&I(It,ze.baseUrl,!0),ze!=null&&ze.model&&I(si,ze.model,!0),ze!=null&&ze.apiKey&&I(vi,ze.apiKey,!0),I(Bt,rn(u(Ot),u(It)),!0),Ki=u(Bt),I(jn,Object.fromEntries(Object.entries(U).filter(([ke])=>!hn.has(ke))),!0)}catch(U){I(Ht,U.message,!0)}finally{I(Ln,!1)}});async function Qi(){if(I(J,""),I(O,""),u(S)==="password"&&!u(D)){I(J,"A password is required to enable password authentication.");return}I(z,!0);try{await q7(u(S),u(S)==="password"?u(D):void 0,u(S)==="proxy"?u(E):void 0,u(S)==="proxy"?u(N):void 0),I(D,""),I(O,"Authentication settings saved.")}catch(U){I(J,U.message,!0)}finally{I(z,!1)}}async function un(){I(Ht,""),I(et,"");const U={...u(jn)};u(s)&&(U.url=`${u(n)}://${u(s)}`),U.name=u(f),U.variablePrefix=u(p),u(v)&&(U.disableVariables=!0),u(r)&&(U.mqttUsername=u(r)),u(a)&&(U.mqttPassword=u(a)),u(c)&&(U.mqttCa=u(c)),u(h)&&(U.mqttCert=u(h)),u(g)&&(U.mqttKey=u(g)),u(_)!==""&&(U.port=Number(u(_))),u(y)&&(U.bindAddress=u(y)),u(X)&&(U.dir=u(X)),u(fe)&&(U.disableWatch=!0),u(Ee)&&(U.gitAutoCommit=!0),u($e)&&(U.gitAutoPush=!0),u(me)!==""&&(U.latitude=Number(u(me))),u(at)!==""&&(U.longitude=Number(u(at))),U.verbosity=u(Jt),u(de)&&(U.dbPath=u(de),u(yt)&&(U.dbPrefix=u(yt)),u(We)&&(U.dbPublish=!0,u(Ze)&&(U.dbRetain=!0))),u(Mt)&&(U.redis={url:u(Mt)}),u(Ot)&&(U.ai={provider:u(Ot),...u(It)?{baseUrl:u(It)}:{},...u(si)?{model:u(si)}:{},...u(vi)?{apiKey:u(vi)}:{}}),I(Kn,!0);try{const be=await i8(U);window.dispatchEvent(new CustomEvent("she:config-changed")),I(et,be.restartRequired?"Saved — restart required to apply changes.":"Saved.",!0)}catch(be){I(Ht,be.message,!0)}finally{I(Kn,!1)}}var Wn=UG(),kn=Ct(Wn);xs(om(kn,{}),U=>xn=U,()=>xn);var In=x(kn,2),Ti=C(In),Gn=C(Ti),Un=x(C(Gn),2),Nn=x(Gn,2);mi(Nn,21,()=>oi,U=>U.id,(U,be)=>{var ze=Ps(),ke=Ct(ze);{var Me=Pt=>{var ut=mG();let De;var Rt=C(ut);Z(()=>{De=jt(ut,1,"section-link svelte-767znw",null,De,{active:u(fi)===u(be).id}),K(Rt,u(be).label)}),se("click",ut,()=>an(u(be).id)),T(Pt,ut)},Te=dt(()=>u(yi).some(Pt=>Pt.id===u(be).id));$(ke,Pt=>{u(Te)&&Pt(Me)})}T(U,ze)});var Dn=x(Ti,2),ln=C(Dn),Le=x(C(ln),2);{var G=U=>{var be=_G(),ze=C(be);Z(()=>K(ze,u(Ht))),T(U,be)};$(Le,U=>{u(Ht)&&U(G)})}var Pe=x(Le,2);{var nt=U=>{var be=vG(),ze=C(be);Z(()=>K(ze,u(et))),T(U,be)};$(Pe,U=>{u(et)&&U(nt)})}var ht=x(Pe,2),zt=C(ht),F=x(ln,2);{var oe=U=>{var be=bG();T(U,be)},ye=U=>{var be=jG(),ze=C(be);{var ke=Y=>{var ue=wG(),he=x(C(ue),2),Ie=x(C(he),2),Tt=C(Ie);Tt.value=Tt.__value="dark";var Je=x(Tt);Je.value=Je.__value="light";var Re=x(Je);Re.value=Re.__value="system",se("change",Ie,()=>lG(u(t))),ua(Ie,()=>u(t),Dt=>I(t,Dt)),T(Y,ue)},Me=dt(()=>u(yi).some(Y=>Y.id==="appearance"));$(ze,Y=>{u(Me)&&Y(ke)})}var Te=x(ze,2);{var Pt=Y=>{var ue=SG(),he=x(C(ue),2),Ie=C(he),Tt=x(C(Ie));Tn(Tt,()=>"Transport protocol. Use mqtts or wss for TLS encryption.");var Je=x(Ie,2),Re=C(Je);Re.value=Re.__value="mqtt";var Dt=x(Re);Dt.value=Dt.__value="mqtts";var Ge=x(Dt);Ge.value=Ge.__value="ws";var W=x(Ge);W.value=W.__value="wss";var te=x(he,2),Oe=C(te),Qe=x(C(Oe));Tn(Qe,()=>"Hostname and optional port of the MQTT broker. Example: 192.168.1.1:1883. Leave empty to run without MQTT.");var vt=x(Oe,2),ot=x(te,2),gt=C(ot),le=x(C(gt));Tn(le,()=>"MQTT broker username. Leave empty if the broker does not require authentication.");var Ue=x(gt,2),Fe=x(ot,2),_e=C(Fe),Xe=x(C(_e));Tn(Xe,()=>"MQTT broker password. Stored in plain text in config.json.");var Ke=x(_e,2),xe=x(Fe,2);{var Se=Nt=>{var Vt=yG(),tn=Ct(Vt),ji=C(tn),Pn=x(C(ji));Tn(Pn,()=>"PEM-encoded CA certificate to verify the broker's TLS certificate. Leave empty to use the system's default CA store.");var nn=x(ji,2),bs=x(tn,2),go=C(bs),qr=x(C(go));Tn(qr,()=>"PEM-encoded client certificate for mutual TLS authentication.");var wl=x(go,2),Pa=x(bs,2),No=C(Pa),yl=x(C(No));Tn(yl,()=>"PEM-encoded private key matching the client certificate.");var Ta=x(No,2);Ei(nn,()=>u(c),ki=>I(c,ki)),Ei(wl,()=>u(h),ki=>I(h,ki)),Ei(Ta,()=>u(g),ki=>I(g,ki)),T(Nt,Vt)};$(xe,Nt=>{(u(n)==="mqtts"||u(n)==="wss")&&Nt(Se)})}var Ne=x(xe,2),ct=C(Ne),ci=x(C(ct));Tn(ci,()=>'MQTT client ID and topic prefix used for the "connected" status message. Default: she');var ve=x(ct,2),Ye=x(Ne,2),ft=C(Ye),bt=x(C(ft));Tn(bt,()=>"Topic prefix for the variable system (var/set/name → var/status/name). Default: var");var it=x(ft,2),pi=x(Ye,2),ri=x(C(pi),2),Bn=C(ri),en=x(Bn,4);Tn(en,()=>"When enabled, var/set/… messages are not processed and no var/status/… retained messages are published."),ua(Je,()=>u(n),Nt=>I(n,Nt)),Ei(vt,()=>u(s),Nt=>I(s,Nt)),Ei(Ue,()=>u(r),Nt=>I(r,Nt)),Ei(Ke,()=>u(a),Nt=>I(a,Nt)),Ei(ve,()=>u(f),Nt=>I(f,Nt)),Ei(it,()=>u(p),Nt=>I(p,Nt)),Ds(Bn,()=>u(v),Nt=>I(v,Nt)),T(Y,ue)},ut=dt(()=>u(yi).some(Y=>Y.id==="mqtt"));$(Te,Y=>{u(ut)&&Y(Pt)})}var De=x(Te,2);{var Rt=Y=>{var ue=IG(),he=x(C(ue),2),Ie=C(he),Tt=x(C(Ie));Tn(Tt,()=>"none: no authentication required. password: single-user password login. proxy: trust a header set by nginx/authentik.");var Je=x(Ie,2),Re=C(Je);Re.value=Re.__value="none";var Dt=x(Re);Dt.value=Dt.__value="password";var Ge=x(Dt);Ge.value=Ge.__value="proxy";var W=x(he,2);{var te=Xe=>{var Ke=CG(),xe=C(Ke),Se=C(xe),Ne=x(Se);Tn(Ne,()=>"Set a new password. Leave empty to keep the current password (if already set).");var ct=x(xe,2);Z(()=>K(Se,`${u(D)?"New password":"Password"} `)),Ei(ct,()=>u(D),ci=>I(D,ci)),T(Xe,Ke)};$(W,Xe=>{u(S)==="password"&&Xe(te)})}var Oe=x(W,2);{var Qe=Xe=>{var Ke=xG(),xe=Ct(Ke),Se=C(xe),Ne=x(C(Se));Tn(Ne,()=>"The HTTP header that nginx/authentik sets after successful authentication. Default: X-Remote-User");var ct=x(Se,2),ci=x(xe,2),ve=C(ci),Ye=x(C(ve));Tn(Ye,()=>"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 ft=x(ve,2);Ei(ct,()=>u(E),bt=>I(E,bt)),Ei(ft,()=>u(N),bt=>I(N,bt)),T(Xe,Ke)};$(Oe,Xe=>{u(S)==="proxy"&&Xe(Qe)})}var vt=x(Oe,2);{var ot=Xe=>{var Ke=LG(),xe=C(Ke);Z(()=>K(xe,u(J))),T(Xe,Ke)};$(vt,Xe=>{u(J)&&Xe(ot)})}var gt=x(vt,2);{var le=Xe=>{var Ke=kG(),xe=C(Ke);Z(()=>K(xe,u(O))),T(Xe,Ke)};$(gt,Xe=>{u(O)&&Xe(le)})}var Ue=x(gt,2),Fe=x(C(Ue),2),_e=C(Fe);Z(()=>{Fe.disabled=u(z)||u(S)==="password"&&!u(D),K(_e,u(z)?"Saving…":"Apply authentication settings")}),ua(Je,()=>u(S),Xe=>I(S,Xe)),se("click",Fe,Qi),T(Y,ue)},ti=dt(()=>u(yi).some(Y=>Y.id==="auth"));$(De,Y=>{u(ti)&&Y(Rt)})}var qt=x(De,2);{var $t=Y=>{var ue=DG(),he=x(C(ue),2),Ie=C(he),Tt=x(C(Ie));Tn(Tt,()=>"HTTP server port. Use 0 to let the OS pick a free port. Default: 8080");var Je=x(Ie,2),Re=x(he,2),Dt=C(Re),Ge=x(C(Dt));Tn(Ge,()=>"Interface she listens on. Use 127.0.0.1 when running behind nginx (recommended with proxy auth). Default: 0.0.0.0");var W=x(Dt,2);Ei(Je,()=>u(_),te=>I(_,te)),Ei(W,()=>u(y),te=>I(y,te)),T(Y,ue)},ei=dt(()=>u(yi).some(Y=>Y.id==="webserver"));$(qt,Y=>{u(ei)&&Y($t)})}var Q=x(qt,2);{var pe=Y=>{var ue=EG(),he=x(C(ue),2),Ie=C(he),Tt=x(C(Ie));Tn(Tt,()=>"Directory that is watched for .js script files. Defaults to {dataDir}/scripts");var Je=x(Ie,2),Re=x(he,2),Dt=x(C(Re),2),Ge=C(Dt),W=x(Ge,4);Tn(W,()=>"When enabled the daemon will not watch for file changes and will not hot-reload scripts.");var te=x(Re,2),Oe=x(C(te),2),Qe=C(Oe),vt=x(Qe,4);Tn(vt,()=>"When enabled, saving a script automatically creates a git commit. Only effective when the scripts directory is inside a git repository.");var ot=x(te,2),gt=x(C(ot),2),le=C(gt),Ue=x(le,4);Tn(Ue,()=>"When enabled, every commit (manual or automatic) is immediately pushed to the remote."),Z(()=>On(Je,"placeholder",`${u(i)??""}/scripts (default)`)),Ei(Je,()=>u(X),Fe=>I(X,Fe)),Ds(Ge,()=>u(fe),Fe=>I(fe,Fe)),Ds(Qe,()=>u(Ee),Fe=>I(Ee,Fe)),Ds(le,()=>u($e),Fe=>I($e,Fe)),T(Y,ue)},qe=dt(()=>u(yi).some(Y=>Y.id==="scripts"));$(Q,Y=>{u(qe)&&Y(pe)})}var tt=x(Q,2);{var kt=Y=>{var ue=TG(),he=x(C(ue),2),Ie=C(he),Tt=x(C(Ie));Tn(Tt,()=>"Geographic latitude used for sunrise/sunset calculations. Default: 48.7408 (Stuttgart)");var Je=x(Ie,2),Re=x(he,2),Dt=C(Re),Ge=x(C(Dt));Tn(Ge,()=>"Geographic longitude used for sunrise/sunset calculations. Default: 9.1778 (Stuttgart)");var W=x(Dt,2),te=x(Re,2),Oe=x(C(te),2),Qe=C(Oe),vt=C(Qe);{var ot=Xe=>{var Ke=Fr("…");T(Xe,Ke)},gt=Xe=>{var Ke=Fr("📍 Use my location");T(Xe,Ke)};$(vt,Xe=>{u(Yt)?Xe(ot):Xe(gt,-1)})}var le=x(Qe,2),Ue=C(le),Fe=x(te,2);{var _e=Xe=>{var Ke=PG(),xe=x(C(Ke),2);xs(xe,Se=>I(wt,Se),()=>u(wt)),T(Xe,Ke)};$(Fe,Xe=>{u(Xt)&&Xe(_e)})}Z(()=>{Qe.disabled=u(Yt),K(Ue,u(Xt)?"Hide map":"Pick on map")}),Ei(Je,()=>u(me),Xe=>I(me,Xe)),Ei(W,()=>u(at),Xe=>I(at,Xe)),se("click",Qe,qn),se("click",le,()=>I(Xt,!u(Xt))),T(Y,ue)},He=dt(()=>u(yi).some(Y=>Y.id==="solar"));$(tt,Y=>{u(He)&&Y(kt)})}var st=x(tt,2);{var Qt=Y=>{var ue=MG(),he=x(C(ue),2),Ie=C(he),Tt=x(C(Ie));Tn(Tt,()=>"Minimum log level. debug shows all messages including MQTT traffic details.");var Je=x(Ie,2),Re=C(Je);Re.value=Re.__value="debug";var Dt=x(Re);Dt.value=Dt.__value="info";var Ge=x(Dt);Ge.value=Ge.__value="warn";var W=x(Ge);W.value=W.__value="error",ua(Je,()=>u(Jt),te=>I(Jt,te)),T(Y,ue)},ai=dt(()=>u(yi).some(Y=>Y.id==="logging"));$(st,Y=>{u(ai)&&Y(Qt)})}var ii=x(st,2);{var zi=Y=>{var ue=RG(),he=x(C(ue),2),Ie=C(he),Tt=x(C(Ie));Tn(Tt,()=>"Path to the sheDB data directory. Defaults to {dataDir}/db. Leave empty to disable sheDB.");var Je=x(Ie,2),Re=x(he,2),Dt=C(Re),Ge=x(C(Dt));Tn(Ge,()=>"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 W=x(Dt,2),te=x(Re,2),Oe=x(C(te),2);let Qe;var vt=C(Oe),ot=x(vt,4);Tn(ot,()=>'When enabled, every document change is published to {dbPrefix}doc/{id}. Individual views can publish independently via their own "mqttpub" setting.');var gt=x(te,2);{var le=Ue=>{var Fe=NG(),_e=x(C(Fe),2);let Xe;var Ke=C(_e),xe=x(Ke,4);Tn(xe,()=>"When enabled, MQTT messages for document changes are published as retained messages."),Z(()=>{Xe=jt(_e,1,"check-label svelte-767znw",null,Xe,{muted:!u(de)}),Ke.disabled=!u(de)}),Ds(Ke,()=>u(Ze),Se=>I(Ze,Se)),T(Ue,Fe)};$(gt,Ue=>{u(We)&&Ue(le)})}Z(()=>{On(Je,"placeholder",`defaults to ${u(i)??""}/db`),W.disabled=!u(de),Qe=jt(Oe,1,"check-label svelte-767znw",null,Qe,{muted:!u(de)}),vt.disabled=!u(de)}),Ei(Je,()=>u(de),Ue=>I(de,Ue)),Ei(W,()=>u(yt),Ue=>I(yt,Ue)),Ds(vt,()=>u(We),Ue=>I(We,Ue)),T(Y,ue)},En=dt(()=>u(yi).some(Y=>Y.id==="shedb"));$(ii,Y=>{u(En)&&Y(zi)})}var Mi=x(ii,2);{var ni=Y=>{var ue=AG(),he=x(C(ue),2),Ie=C(he),Tt=x(C(Ie));Tn(Tt,()=>"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 Je=x(Ie,2);Ei(Je,()=>u(Mt),Re=>I(Mt,Re)),T(Y,ue)},Vi=dt(()=>u(yi).some(Y=>Y.id==="redis"));$(Mi,Y=>{u(Vi)&&Y(ni)})}var A=x(Mi,2);{var q=Y=>{var ue=VG(),he=x(C(ue),2),Ie=C(he),Tt=x(C(Ie));Tn(Tt,()=>"Choose a provider. Free options need a free API key from the provider's website — no credit card required.");var Je=x(Ie,2);mi(Je,21,()=>hi,An,(le,Ue)=>{var Fe=OG(),_e=C(Fe),Xe={};Z(()=>{K(_e,u(Ue).label),Xe!==(Xe=u(Ue).id)&&(Fe.value=(Fe.__value=u(Ue).id)??"")}),T(le,Fe)});var Re=x(he,2);{var Dt=le=>{var Ue=WG();let Fe;var _e=C(Ue);{var Xe=Se=>{var Ne=FG(),ct=x(Ct(Ne));Z(()=>K(ct,` ${u(Bi).freeNote??""}`)),T(Se,Ne)};$(_e,Se=>{u(Bi).freeNote&&Se(Xe)})}var Ke=x(_e,2);{var xe=Se=>{var Ne=HG(),ct=x(Ct(Ne));Z(()=>On(ct,"href",u(Bi).apiKeyUrl)),T(Se,Ne)};$(Ke,Se=>{u(Bi).apiKeyUrl&&Se(xe)})}Z(()=>Fe=jt(Ue,1,"preset-note svelte-767znw",null,Fe,{free:!!u(Bi).freeNote})),T(le,Ue)};$(Re,le=>{var Ue,Fe;((Ue=u(Bi))!=null&&Ue.freeNote||(Fe=u(Bi))!=null&&Fe.apiKeyUrl)&&le(Dt)})}var Ge=x(Re,2);{var W=le=>{var Ue=BG(),Fe=C(Ue),_e=x(C(Fe));Tn(_e,()=>"Base URL of the LLM API. Auto-filled for cloud presets. For Ollama: http://localhost:11434.");var Xe=x(Fe,2);Z(()=>{var Ke;return On(Xe,"placeholder",u(Bt)==="ollama"?"http://localhost:11434":u(Bt)==="lmstudio"?"http://localhost:1234":((Ke=u(Bi))==null?void 0:Ke.baseUrl)??"")}),Ei(Xe,()=>u(It),Ke=>I(It,Ke)),T(le,Ue)};$(Ge,le=>{u(Bt)!=="anthropic"&&le(W)})}var te=x(Ge,2),Oe=C(te),Qe=x(C(Oe));Tn(Qe,()=>"Model identifier. Suggested default is filled in when you choose a preset.");var vt=x(Oe,2),ot=x(te,2);{var gt=le=>{var Ue=zG(),Fe=C(Ue),_e=x(C(Fe));Tn(_e,()=>"Stored in config.json. Not needed for local providers.");var Xe=x(Fe,2);Ei(Xe,()=>u(vi),Ke=>I(vi,Ke)),T(le,Ue)};$(ot,le=>{u(Bt)!=="ollama"&&u(Bt)!=="lmstudio"&&le(gt)})}Z(()=>{var le;return On(vt,"placeholder",((le=u(Bi))==null?void 0:le.defaultModel)||"e.g. llama3.2")}),se("change",Je,vn),ua(Je,()=>u(Bt),le=>I(Bt,le)),Ei(vt,()=>u(si),le=>I(si,le)),T(Y,ue)},Ce=dt(()=>u(yi).some(Y=>Y.id==="ai"));$(A,Y=>{u(Ce)&&Y(q)})}T(U,be)};$(F,U=>{u(Ln)?U(oe):U(ye,-1)})}Z(()=>{ht.disabled=u(Kn),K(zt,u(Kn)?"Saving…":"Save")}),Ei(Un,()=>u(bi),U=>I(bi,U)),se("click",ht,un),T(o,Wn),Mo()}_r(["click","change"]);var qG=R("<option> </option>"),KG=R('<div><span class="ts svelte-18loop9"> </span> <span class="lvl svelte-18loop9"> </span> <span class="msg svelte-18loop9"> </span></div>'),GG=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 ZG(o,e){To(e,!0);let t=V(Si(y8())),i,n=V(!0),s=V("all"),r=V(""),a=V(!1);const c=["all","debug","info","warn","error"],h={debug:0,info:1,warn:2,error:3};gR(X=>{I(t,[...u(t).slice(-1999),X],!0)}),vr(()=>{i&&(i.scrollTop=i.scrollHeight)}),Rn(()=>{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=GG(),_=C(v),y=x(C(_),2);mi(y,21,()=>c,An,(X,fe)=>{var Ee=qG(),$e=C(Ee),me={};Z(()=>{K($e,u(fe)),me!==(me=u(fe))&&(Ee.value=(Ee.__value=u(fe))??"")}),T(X,Ee)});var S=x(y,2),D=x(S,2),E=C(D),N=x(D,2),z=C(N),O=x(N,2),J=x(_,2);mi(J,21,()=>u(t).filter(f),X=>X.ts+X.msg,(X,fe)=>{var Ee=KG(),$e=C(Ee),me=C($e),at=x($e,2),Xt=C(at),wt=x(at,2),Yt=C(wt);Z((Ft,Jt)=>{jt(Ee,1,`line ${u(fe).level??""}`,"svelte-18loop9"),K(me,Ft),K(Xt,Jt),K(Yt,u(fe).msg)},[()=>p(u(fe).ts),()=>u(fe).level.toUpperCase()]),T(X,Ee)}),xs(J,X=>i=X,()=>i),ua(y,()=>u(s),X=>I(s,X)),Ei(S,()=>u(r),X=>I(r,X)),Ds(E,()=>u(a),X=>I(a,X)),Ds(z,()=>u(n),X=>I(n,X)),se("click",O,g),T(o,v),Mo()}_r(["click"]);var XG=R('<span class="chat-model svelte-1twuiul"><!></span>'),YG=R('<button class="clear-btn svelte-1twuiul" title="Clear conversation">✕</button>'),JG=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>'),QG=R('Working on view <code class="svelte-1twuiul"> </code>',1),e9=R('<button class="chip svelte-1twuiul"> </button>'),t9=R('<div class="suggestions svelte-1twuiul"><p class="suggestions-hint svelte-1twuiul"><!></p> <!></div>'),i9=R('<div class="msg-content user-text svelte-1twuiul"> </div>'),AD=R('<div class="tool-event tool-call svelte-1twuiul"><span class="tool-icon svelte-1twuiul">🔧</span><span class="tool-name svelte-1twuiul"> </span></div>'),OD=R('<div class="tool-event tool-result svelte-1twuiul"><span class="tool-icon svelte-1twuiul">✓</span><span class="tool-name svelte-1twuiul"> </span></div>'),FD=R('<div class="tool-events svelte-1twuiul"></div>'),HD=R('<div class="text-block svelte-1twuiul"></div>'),n9=R('<button class="expand-btn svelte-1twuiul"> </button>'),s9=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>'),o9=R('<div class="apply-view-row svelte-1twuiul"><button class="apply-view-btn svelte-1twuiul"> </button></div>'),r9=R('<!> <div class="msg-content svelte-1twuiul"><!> <!></div>',1),a9=R("<div><!></div>"),l9=R('<div class="message assistant svelte-1twuiul"><div class="msg-content svelte-1twuiul"><span class="status-shimmer svelte-1twuiul"> </span></div></div>'),c9=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>'),d9=R('<div class="message assistant streaming svelte-1twuiul"><div class="msg-content svelte-1twuiul"></div></div>'),h9=R('<div class="chat-error svelte-1twuiul"> </div>'),u9=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>'),g9=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>'),f9=R('<button class="stop-btn svelte-1twuiul" title="Stop generation">■</button>'),p9=R('<button class="send-btn svelte-1twuiul">↑</button>'),m9=R('<option class="svelte-1twuiul"> </option>'),_9=R('<select class="model-select svelte-1twuiul"></select>'),v9=R('<span class="model-name svelte-1twuiul"> </span>'),b9=R('<button class="info-btn svelte-1twuiul" title="Model info">ℹ</button>'),w9=R('<div class="model-bar svelte-1twuiul"><span class="model-provider svelte-1twuiul"> </span> <!> <!></div>'),y9=R('<p class="info-status svelte-1twuiul">Loading…</p>'),S9=R('<p class="info-status info-err svelte-1twuiul"> </p>'),C9=R('<dt class="svelte-1twuiul">Ollama version</dt><dd class="svelte-1twuiul"> </dd>',1),x9=R('<dt class="svelte-1twuiul">Family</dt><dd class="svelte-1twuiul"> </dd>',1),L9=R('<dt class="svelte-1twuiul">Parameters</dt><dd class="svelte-1twuiul"> </dd>',1),k9=R('<dt class="svelte-1twuiul">Quantization</dt><dd class="svelte-1twuiul"> </dd>',1),I9=R('<div class="running-model svelte-1twuiul"> </div>'),D9=R('<dt class="svelte-1twuiul">Loaded</dt> <dd class="svelte-1twuiul"></dd>',1),E9=R('<dt class="svelte-1twuiul">Loaded</dt><dd class="dim svelte-1twuiul">Not in memory</dd>',1),P9=R('<dl class="svelte-1twuiul"><!> <!> <!> <!> <!></dl>'),T9=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>'),M9=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 N9(o,e){To(e,!0),Fv.registerLanguage("javascript",vR),Mn.use({breaks:!0,gfm:!0});let t=ng(e,"currentView",3,null);const i="she:viewchat:messages";let n=V(Si(JSON.parse(localStorage.getItem(i)??"[]"))),s=V(null),r=V(""),a=V(!1),c=V(""),h=V(null),g=V(Si([])),f=V(Si(localStorage.getItem("she:selectedModel")??""));Rn(()=>{localStorage.setItem(i,JSON.stringify(u(n)))});let p=V(Si(new Set)),v=V(!1),_=V(null),y=V(!1),S=V(""),D=null,E=V(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 z=V(!0),O=V(!0),J=V(!0),X=V(Si([])),fe=V(!0),Ee=V(!1),$e,me=V(Si([])),at=V(0),Xt,wt;const Yt=dt(()=>({apiref:!1,shedb:u(z),sampleDocs:u(O),tools:u(J)})),Ft=dt(()=>{var A;return((A=u(h))==null?void 0:A.configured)??!1}),Jt=dt(()=>u(at)+new TextEncoder().encode(u(r)).length),de=dt(()=>u(fe)?t():null);async function yt(){try{const A=await aR();I(h,A,!0),A.configured&&!u(f)&&I(f,A.model,!0)}catch{}}Rn(()=>(window.addEventListener("she:config-changed",yt),()=>window.removeEventListener("she:config-changed",yt))),vr(()=>{yt()}),Rn(()=>{u(f)&&localStorage.setItem("she:selectedModel",u(f))}),Rn(()=>{var A;(A=u(h))!=null&&A.provider&&lR().then(q=>{I(g,q.models,!0),!u(f)&&q.models.length>0&&I(f,q.models[0],!0)}).catch(()=>{})}),Rn(()=>{u(f),I(_,null),I(S,"")}),Rn(()=>{const A=u(Yt),q=u(de),Ce=u(X);u(Ft)&&dR({context:A,currentView:q??null,extraFiles:Ce.length>0?Ce:void 0}).then(Y=>{I(at,new TextEncoder().encode(Y.prompt).length,!0)}).catch(()=>{})}),Rn(()=>{if(!u(a))return;I(E,Math.floor(Math.random()*N.length),!0);const A=setInterval(()=>{I(E,(u(E)+1)%N.length)},1e4);return()=>clearInterval(A)}),Rn(()=>{var A;wt&&(u(n).length+(((A=u(s))==null?void 0:A.length)??0),requestAnimationFrame(()=>{wt&&(wt.scrollTop=wt.scrollHeight)}))});function We(A){const q=[],Ce=/```(\w*)\n([\s\S]*?)```/g;let Y=0,ue;for(;(ue=Ce.exec(A))!==null;)ue.index>Y&&q.push({type:"text",text:A.slice(Y,ue.index)}),q.push({type:"code",lang:ue[1]||"text",text:ue[2].trimEnd()}),Y=ue.index+ue[0].length;return Y<A.length&&q.push({type:"text",text:A.slice(Y)}),q}function Ze(A){const q=[],Ce=/```(\w*)\n([\s\S]*?)```/g;let Y=0,ue;for(;(ue=Ce.exec(A))!==null;)ue.index>Y&&q.push({type:"text",text:A.slice(Y,ue.index)}),q.push({type:"code",lang:ue[1]||"text",text:ue[2].trimEnd()}),Y=ue.index+ue[0].length;const he=A.slice(Y),Ie=he.match(/```(\w*)\n([\s\S]*)$/);return Ie?(Ie.index>0&&q.push({type:"text",text:he.slice(0,Ie.index)}),q.push({type:"code",lang:Ie[1]||"text",text:Ie[2]})):he&&q.push({type:"text",text:he}),q}function Mt(A){const q={};for(const Ce of A)if(Ce.type==="code"){if(Ce.lang==="filter")q.filter=Ce.text.trim();else if(Ki(Ce.lang)){const Y=Ce.text.split(`
218
+ `)[0].trim();Y==="// @view-map"?q.map=Ce.text.split(`
219
+ `).slice(1).join(`
220
+ `).trim():Y==="// @view-reduce"&&(q.reduce=Ce.text.split(`
221
+ `).slice(1).join(`
222
+ `).trim())}}return q}function hi(A){return A.filter!==void 0||A.map!==void 0||A.reduce!==void 0}function Bt(A){const q=[];return A.filter!==void 0&&q.push("filter"),A.map!==void 0&&q.push("map"),A.reduce!==void 0&&q.push("reduce"),`Apply ${q.join(" + ")}`}const Ot=15;function It(A){return A.split(`
223
+ `).length>Ot}function si(A){const q=new Set(u(p));q.has(A)?q.delete(A):q.add(A),I(p,q,!0)}function vi(A,q){if(Ki(q))try{return Fv.highlight(A,{language:"javascript"}).value}catch{}return A.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function _n(A){return Mn.parse(A)}function Ki(A){return!A||A==="js"||A==="javascript"}function rn(A){navigator.clipboard.writeText(A).catch(()=>{})}async function vn(){if(I(v,!0),!(u(_)||u(y))){I(y,!0),I(S,"");try{I(_,await cR(u(f)||u(h).model),!0)}catch(A){I(S,A.message,!0)}I(y,!1)}}function Bi(A){return A>=1e9?`${(A/1e9).toFixed(1)} GB`:A>=1e6?`${(A/1e6).toFixed(0)} MB`:`${A} B`}function jn(A){const q=A.match(/\.([^.]+)$/);return q?q[1].toUpperCase():"?"}function hn(A){switch(A){case"SH":case"BASH":return"$";case"MD":case"MARKDOWN":return"↓";case"JSON":case"JSONC":return"{}";default:return A}}function xn(A){I(X,u(X).filter((q,Ce)=>Ce!==A),!0)}function qn(){$e.click()}async function Ln(A){if(!(!A||A.length===0))for(const q of Array.from(A)){const Ce=await q.text();I(X,[...u(X),{name:q.name,content:Ce}],!0)}}function Kn(A){const q=A.target;Ln(q.files),q.value=""}function et(A){var q;A.preventDefault(),I(Ee,!1),Ln(((q=A.dataTransfer)==null?void 0:q.files)??null)}function Ht(A){var q;(q=A.dataTransfer)!=null&&q.types.includes("Files")&&(A.preventDefault(),I(Ee,!0))}function bi(){I(Ee,!1)}async function fi(){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(me,[],!0);try{await hR({messages:u(n),currentView:u(de),context:u(Yt),modelOverride:u(f)||void 0,extraFiles:u(X).length>0?u(X):void 0},q=>{I(s,(u(s)??"")+q)},D.signal,q=>{I(me,[...u(me),q],!0)}),I(n,[...u(n),{role:"assistant",content:u(s)??"",toolEvents:u(me).length>0?[...u(me)]:void 0}],!0),I(me,[],!0)}catch(q){if(q.name==="AbortError"){const Ce=u(s);Ce!=null&&Ce.trim()&&I(n,[...u(n),{role:"assistant",content:Ce+`
224
+
225
+ *[stopped]*`,toolEvents:u(me).length>0?[...u(me)]:void 0}],!0)}else I(c,q.message,!0)}finally{D=null,I(s,null),I(me,[],!0),I(a,!1)}}}function oi(){D==null||D.abort()}function yi(A){A.key==="Enter"&&!A.shiftKey&&(A.preventDefault(),fi())}function an(){I(n,[],!0),I(c,"")}const Qi=["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 un(A){I(r,A,!0),Xt==null||Xt.focus()}var Wn=M9(),kn=Ct(Wn),In=C(kn),Ti=x(C(In),2);{var Gn=A=>{var q=XG(),Ce=C(q);{var Y=he=>{var Ie=Fr();Z(()=>K(Ie,`${u(h).provider??""} · ${(u(f)||u(h).model)??""}`)),T(he,Ie)},ue=he=>{var Ie=Fr("Not configured");T(he,Ie)};$(Ce,he=>{u(Ft)?he(Y):he(ue,-1)})}Z(()=>On(q,"title",`Provider: ${u(h).provider??""}`)),T(A,q)};$(Ti,A=>{u(h)&&A(Gn)})}var Un=x(Ti,2);{var Nn=A=>{var q=YG();se("click",q,an),T(A,q)};$(Un,A=>{u(n).length>0&&A(Nn)})}var Dn=x(In,2),ln=C(Dn);{var Le=A=>{var q=JG();T(A,q)},G=A=>{var q=t9(),Ce=C(q),Y=C(Ce);{var ue=Tt=>{var Je=QG(),Re=x(Ct(Je)),Dt=C(Re);Z(()=>K(Dt,t().id)),T(Tt,Je)},he=Tt=>{var Je=Fr("No view selected. Ask a general sheDB view question.");T(Tt,Je)};$(Y,Tt=>{t()?Tt(ue):Tt(he,-1)})}var Ie=x(Ce,2);mi(Ie,17,()=>Qi,An,(Tt,Je)=>{var Re=e9(),Dt=C(Re);Z(()=>K(Dt,u(Je))),se("click",Re,()=>un(u(Je))),T(Tt,Re)}),T(A,q)};$(ln,A=>{u(Ft)?u(n).length===0&&u(s)===null&&A(G,1):A(Le)})}var Pe=x(ln,2);mi(Pe,17,()=>u(n),An,(A,q,Ce)=>{var Y=a9(),ue=C(Y);{var he=Tt=>{var Je=i9(),Re=C(Je);Z(()=>K(Re,u(q).content)),T(Tt,Je)},Ie=Tt=>{const Je=dt(()=>We(u(q).content)),Re=dt(()=>Mt(u(Je)));var Dt=r9(),Ge=Ct(Dt);{var W=gt=>{var le=FD();mi(le,21,()=>u(q).toolEvents,An,(Ue,Fe)=>{var _e=Ps(),Xe=Ct(_e);{var Ke=Se=>{var Ne=AD(),ct=x(C(Ne)),ci=C(ct);Z(ve=>K(ci,ve),[()=>u(Fe).name.replace(/_/g," ")]),T(Se,Ne)},xe=Se=>{var Ne=OD(),ct=x(C(Ne)),ci=C(ct);Z(ve=>K(ci,ve),[()=>u(Fe).name.replace(/_/g," ")]),T(Se,Ne)};$(Xe,Se=>{u(Fe).type==="tool_call"?Se(Ke):Se(xe,-1)})}T(Ue,_e)}),T(gt,le)};$(Ge,gt=>{var le;(le=u(q).toolEvents)!=null&&le.length&&gt(W)})}var te=x(Ge,2),Oe=C(te);mi(Oe,17,()=>u(Je),An,(gt,le,Ue)=>{var Fe=Ps(),_e=Ct(Fe);{var Xe=xe=>{var Se=HD();jl(Se,()=>_n(u(le).text),!0),T(xe,Se)},Ke=xe=>{const Se=dt(()=>`${Ce}:${Ue}`),Ne=dt(()=>It(u(le).text)),ct=dt(()=>u(p).has(u(Se))),ci=dt(()=>u(le).lang==="filter");var ve=s9(),Ye=C(ve),ft=C(Ye),bt=C(ft),it=x(ft,2),pi=C(it),ri=x(Ye,2);let Bn;var en=C(ri),Nt=C(en);jl(Nt,()=>vi(u(le).text,u(le).lang??""),!0);var Vt=x(en,2);{var tn=ji=>{var Pn=n9(),nn=C(Pn);Z(()=>K(nn,u(ct)?"▲ collapse":"▼ expand")),se("click",Pn,()=>si(u(Se))),T(ji,Pn)};$(Vt,ji=>{u(Ne)&&ji(tn)})}Z(()=>{K(bt,u(ci)?"filter":u(le).lang),Bn=jt(ri,1,"code-body svelte-1twuiul",null,Bn,{collapsed:u(Ne)&&!u(ct)})}),se("click",pi,()=>rn(u(le).text)),T(xe,ve)};$(_e,xe=>{u(le).type==="text"?xe(Xe):xe(Ke,-1)})}T(gt,Fe)});var Qe=x(Oe,2);{var vt=gt=>{var le=o9(),Ue=C(le),Fe=C(Ue);Z(_e=>K(Fe,_e),[()=>Bt(u(Re))]),se("click",Ue,()=>e.onApplyView(u(Re))),T(gt,le)},ot=dt(()=>hi(u(Re))&&e.onApplyView);$(Qe,gt=>{u(ot)&&gt(vt)})}T(Tt,Dt)};$(ue,Tt=>{u(q).role==="user"?Tt(he):Tt(Ie,-1)})}Z(()=>jt(Y,1,`message ${u(q).role??""}`,"svelte-1twuiul")),T(A,Y)});var nt=x(Pe,2);{var ht=A=>{var q=FD();mi(q,21,()=>u(me),An,(Ce,Y)=>{var ue=Ps(),he=Ct(ue);{var Ie=Je=>{var Re=AD(),Dt=x(C(Re)),Ge=C(Dt);Z(W=>K(Ge,W),[()=>u(Y).name.replace(/_/g," ")]),T(Je,Re)},Tt=Je=>{var Re=OD(),Dt=x(C(Re)),Ge=C(Dt);Z(W=>K(Ge,W),[()=>u(Y).name.replace(/_/g," ")]),T(Je,Re)};$(he,Je=>{u(Y).type==="tool_call"?Je(Ie):Je(Tt,-1)})}T(Ce,ue)}),T(A,q)};$(nt,A=>{u(me).length>0&&A(ht)})}var zt=x(nt,2);{var F=A=>{var q=l9(),Ce=C(q),Y=C(Ce),ue=C(Y);Z(()=>K(ue,N[u(E)])),T(A,q)};$(zt,A=>{u(a)&&u(s)===null&&u(me).length===0&&A(F)})}var oe=x(zt,2);{var ye=A=>{var q=d9(),Ce=C(q);mi(Ce,21,()=>Ze(u(s)),An,(Y,ue)=>{var he=Ps(),Ie=Ct(he);{var Tt=Re=>{var Dt=HD();jl(Dt,()=>_n(u(ue).text),!0),T(Re,Dt)},Je=Re=>{var Dt=c9(),Ge=C(Dt),W=C(Ge),te=C(W),Oe=x(Ge,2),Qe=C(Oe);jl(Qe,()=>vi(u(ue).text,u(ue).lang??""),!0),Z(()=>K(te,u(ue).lang)),T(Re,Dt)};$(Ie,Re=>{u(ue).type==="text"?Re(Tt):Re(Je,-1)})}T(Y,he)}),T(A,q)};$(oe,A=>{u(s)!==null&&A(ye)})}xs(Dn,A=>wt=A,()=>wt);var U=x(Dn,2);{var be=A=>{var q=h9(),Ce=C(q);Z(()=>K(Ce,u(c))),T(A,q)};$(U,A=>{u(c)&&A(be)})}var ze=x(U,2),ke=C(ze),Me=C(ke),Te=x(ke,2),Pt=C(Te),ut=x(Te,2),De=C(ut),Rt=x(ut,2),ti=C(Rt),qt=x(ze,2),$t=C(qt);{var ei=A=>{var q=u9();let Ce;var Y=x(C(q),2),ue=C(Y),he=x(Y,2),Ie=C(he);Z(()=>{Ce=jt(q,1,"file-chip svelte-1twuiul",null,Ce,{inactive:!u(fe)}),K(ue,t().id),On(he,"title",u(fe)?"Remove from context":"Re-add to context"),K(Ie,u(fe)?"×":"+")}),se("click",he,()=>I(fe,!u(fe))),T(A,q)};$($t,A=>{t()&&A(ei)})}var Q=x($t,2);mi(Q,17,()=>u(X),An,(A,q,Ce)=>{const Y=dt(()=>jn(u(q).name));var ue=g9(),he=C(ue),Ie=C(he),Tt=x(he,2),Je=C(Tt),Re=x(Tt,2);Z((Dt,Ge)=>{jt(he,1,`badge badge-${Dt??""}`,"svelte-1twuiul"),K(Ie,Ge),K(Je,u(q).name)},[()=>u(Y).toLowerCase(),()=>hn(u(Y))]),se("click",Re,()=>xn(Ce)),T(A,ue)});var pe=x(Q,2),qe=x(pe,2);xs(qe,A=>$e=A,()=>$e);var tt=x(qt,2);let kt;var He=C(tt);let st;var Qt=C(He);xs(Qt,A=>Xt=A,()=>Xt);var ai=x(He,2);{var ii=A=>{var q=f9();se("click",q,oi),T(A,q)},zi=A=>{var q=p9();Z(Ce=>q.disabled=Ce,[()=>!u(r).trim()||!u(Ft)]),se("click",q,fi),T(A,q)};$(ai,A=>{u(a)?A(ii):A(zi,-1)})}var En=x(tt,2);{var Mi=A=>{var q=w9(),Ce=C(q),Y=C(Ce),ue=x(Ce,2);{var he=Re=>{var Dt=_9();mi(Dt,21,()=>u(g),An,(Ge,W)=>{var te=m9(),Oe=C(te),Qe={};Z(()=>{K(Oe,u(W)),Qe!==(Qe=u(W))&&(te.value=(te.__value=u(W))??"")}),T(Ge,te)}),Z(()=>Dt.disabled=u(a)),ua(Dt,()=>u(f),Ge=>I(f,Ge)),T(Re,Dt)},Ie=Re=>{var Dt=v9(),Ge=C(Dt);Z(()=>K(Ge,u(f)||u(h).model)),T(Re,Dt)};$(ue,Re=>{u(g).length>0?Re(he):Re(Ie,-1)})}var Tt=x(ue,2);{var Je=Re=>{var Dt=b9();se("click",Dt,vn),T(Re,Dt)};$(Tt,Re=>{u(h).provider==="ollama"&&Re(Je)})}Z(()=>K(Y,u(h).provider)),T(A,q)};$(En,A=>{u(Ft)&&u(h)&&A(Mi)})}var ni=x(kn,2);{var Vi=A=>{var q=T9(),Ce=C(q),Y=C(Ce),ue=C(Y),he=C(ue),Ie=x(ue,2),Tt=x(Y,2),Je=C(Tt);{var Re=W=>{var te=y9();T(W,te)},Dt=W=>{var te=S9(),Oe=C(te);Z(()=>K(Oe,u(S))),T(W,te)},Ge=W=>{var te=P9(),Oe=C(te);{var Qe=xe=>{var Se=C9(),Ne=x(Ct(Se)),ct=C(Ne);Z(()=>K(ct,u(_).version)),T(xe,Se)};$(Oe,xe=>{u(_).version&&xe(Qe)})}var vt=x(Oe,2);{var ot=xe=>{var Se=x9(),Ne=x(Ct(Se)),ct=C(Ne);Z(()=>K(ct,u(_).details.family)),T(xe,Se)};$(vt,xe=>{var Se;(Se=u(_).details)!=null&&Se.family&&xe(ot)})}var gt=x(vt,2);{var le=xe=>{var Se=L9(),Ne=x(Ct(Se)),ct=C(Ne);Z(()=>K(ct,u(_).details.parameter_size)),T(xe,Se)};$(gt,xe=>{var Se;(Se=u(_).details)!=null&&Se.parameter_size&&xe(le)})}var Ue=x(gt,2);{var Fe=xe=>{var Se=k9(),Ne=x(Ct(Se)),ct=C(Ne);Z(()=>K(ct,u(_).details.quantization_level)),T(xe,Se)};$(Ue,xe=>{var Se;(Se=u(_).details)!=null&&Se.quantization_level&&xe(Fe)})}var _e=x(Ue,2);{var Xe=xe=>{var Se=D9(),Ne=x(Ct(Se),2);mi(Ne,21,()=>u(_).running,An,(ct,ci)=>{var ve=I9(),Ye=C(ve);Z(ft=>K(Ye,`${u(ci).name??""} · ${ft??""} VRAM`),[()=>Bi(u(ci).size_vram)]),T(ct,ve)}),T(xe,Se)},Ke=xe=>{var Se=E9();T(xe,Se)};$(_e,xe=>{u(_).running&&u(_).running.length>0?xe(Xe):u(_).running!==null&&xe(Ke,1)})}T(W,te)};$(Je,W=>{u(y)?W(Re):u(S)?W(Dt,1):u(_)&&W(Ge,2)})}Z(()=>{var W;return K(he,`Ollama · ${(u(f)||((W=u(h))==null?void 0:W.model))??""}`)}),se("click",q,()=>I(v,!1)),se("click",Ce,W=>W.stopPropagation()),se("click",Ie,()=>I(v,!1)),T(A,q)};$(ni,A=>{u(v)&&A(Vi)})}Z(A=>{K(ti,A),kt=jt(tt,1,"input-row svelte-1twuiul",null,kt,{"drag-over":u(Ee)}),st=jt(He,1,"textarea-wrap svelte-1twuiul",null,st,{loading:u(a)}),On(Qt,"placeholder",u(Ft)?"Ask anything… (Enter to send, Shift+Enter for newline, drag & drop files to add context)":"AI not configured"),Qt.disabled=u(a)||!u(Ft)},[()=>Bi(u(Jt))]),Ds(Me,()=>u(z),A=>I(z,A)),Ds(Pt,()=>u(O),A=>I(O,A)),Ds(De,()=>u(J),A=>I(J,A)),se("click",pe,qn),se("change",qe,Kn),ts("dragover",tt,Ht),ts("dragleave",tt,bi),ts("drop",tt,et),se("keydown",Qt,yi),Ei(Qt,()=>u(r),A=>I(r,A)),T(o,Wn),Mo()}_r(["click","change","keydown"]);var R9=R('<div class="me svelte-1pxdb1"></div>');function By(o,e){To(e,!0);let t=ng(e,"value",15,""),i=ng(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())})}),aw(()=>s==null?void 0:s.dispose()),Rn(()=>{!s||s.getValue()===t()||(r=!0,s.setValue(t()),r=!1)});var a=R9();xs(a,c=>n=c,()=>n),T(o,a),Mo()}var A9=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),O9=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>'),WD=R('<div class="form-error svelte-rrt0o"> </div>'),F9=R('<div class="new-item-form svelte-rrt0o"><input placeholder="device/lamp1" class="svelte-rrt0o"/> <button class="svelte-rrt0o">Create</button></div> <!>',1),BD=R("<li> </li>"),zD=R('<div class="error-bar svelte-rrt0o"> </div>'),VD=R('<div class="loading svelte-rrt0o">Loading…</div>'),H9=R('<div class="monaco-doc-wrap svelte-rrt0o"><!></div>'),W9=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),B9=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>'),z9=R('<div class="new-item-form svelte-rrt0o"><input placeholder="myView" class="svelte-rrt0o"/> <button class="svelte-rrt0o">Create</button></div> <!>',1),V9=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>'),j9=R('<span class="badge-error svelte-rrt0o">error</span>'),U9=R('<span class="badge-ok svelte-rrt0o"> </span>'),$9=R('<pre class="result-error svelte-rrt0o"> </pre>'),q9=R('<pre class="result-json svelte-rrt0o"> </pre>'),K9=R('<div class="view-result svelte-rrt0o"><div class="result-header svelte-rrt0o">Result <!></div> <!></div>'),G9=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>'),Z9=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),X9=R('<div class="chat-resize-handle svelte-rrt0o" role="separator"></div> <div class="chat-pane svelte-rrt0o"><!></div>',1),Y9=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>'),J9=R('<div class="db-root svelte-rrt0o" role="presentation"><div class="panel-tabs svelte-rrt0o"><button>Documents</button> <button>Views</button> <!></div> <!></div>');function Q9(o,e){To(e,!0);const t=Le=>{var G=A9(),Pe=Ct(G);xs(om(Pe,{}),nt=>hn=nt,()=>hn),T(Le,G)};let i=V(Si([])),n=V(null),s=V("{}"),r=V(!1),a=V(null);const c="she-db-selected-view";let h=V(Si([])),g=V(Si(localStorage.getItem(c))),f=V("#"),p=V("// emit(this.someProperty)"),v=V(""),_=V(""),y=V(!1),S=V(!1),D=V(null),E=V(!1),N=V(null),z=V("she/db/view/");const O="she-db-panel";let J=V(Si(localStorage.getItem(O)??"docs")),X=V(""),fe=V(!1),Ee=V(null),$e=V(""),me=V(!1),at=V(null);const Xt="she-db-sidebar-width";let wt=V(Si(parseInt(localStorage.getItem(Xt)??"220",10))),Yt=!1,Ft=0,Jt=0;const de="she-db-chat-width",yt="she-db-chat-open";let We=V(localStorage.getItem(yt)==="true"),Ze=V(Si(parseInt(localStorage.getItem(de)??"320",10))),Mt=!1,hi=0,Bt=0;const Ot=dt(()=>u(g)?{id:u(g),filter:u(f),map:u(p),reduce:u(v)}:null);function It(Le){Le.filter!==void 0&&I(f,Le.filter,!0),Le.map!==void 0&&I(p,Le.map,!0),Le.reduce!==void 0&&I(v,Le.reduce,!0)}Rn(()=>{localStorage.setItem(yt,String(u(We)))}),Rn(()=>{localStorage.setItem(O,u(J))}),Rn(()=>{u(g)?localStorage.setItem(c,u(g)):localStorage.removeItem(c)});function si(Le){Yt=!0,Ft=Le.clientX,Jt=u(wt),Le.preventDefault()}function vi(Le){Yt&&I(wt,Math.max(140,Math.min(500,Jt+Le.clientX-Ft)),!0),Mt&&I(Ze,Math.max(240,Math.min(600,Bt-(Le.clientX-hi))),!0)}function _n(){Yt&&(Yt=!1,localStorage.setItem(Xt,String(u(wt)))),Mt&&(Mt=!1,localStorage.setItem(de,String(u(Ze))))}function Ki(Le){Mt=!0,hi=Le.clientX,Bt=u(Ze),Le.preventDefault()}async function rn(){try{I(i,await nR(),!0)}catch{}}async function vn(){try{I(h,await sR(),!0)}catch{}}async function Bi(Le){I(n,Le,!0),I(a,null),I(r,!0);try{const G=await n8(Le);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 jn(){if(u(n)){I(a,null);try{const Le=JSON.parse(u(s));await dD(u(n),Le)}catch(Le){I(a,Le instanceof Error?Le.message:String(Le),!0)}}}let hn;async function xn(){if(u(n)&&await hn.show(`Delete document "${u(n)}"?`,{confirm:"Delete",danger:!0}))try{await s8(u(n)),I(n,null),I(s,"{}")}catch(Le){I(a,Le instanceof Error?Le.message:String(Le),!0)}}async function qn(){const Le=u(X).trim();if(Le){I(Ee,null);try{await dD(Le,{}),I(fe,!1),I(X,""),await Bi(Le)}catch(G){I(Ee,G instanceof Error?G.message:String(G),!0)}}}async function Ln(Le){I(g,Le,!0),I(N,null),I(E,!0),I(D,null);try{const G=await o8(Le);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 Hy(Le).catch(()=>null),!0)}catch(G){I(N,G instanceof Error?G.message:String(G),!0)}finally{I(E,!1)}}async function Kn(){if(u(g)){I(N,null);try{const Le={map:u(p)};u(f).trim()&&(Le.filter=u(f).trim()),u(v).trim()&&(Le.reduce=u(v).trim()),u(_).trim()&&(Le.description=u(_).trim()),u(y)&&(Le.mqttpub=!0),u(S)&&(Le.retain=!0),await hD(u(g),Le)}catch(Le){I(N,Le instanceof Error?Le.message:String(Le),!0)}}}async function et(){if(u(g))try{I(D,await Hy(u(g)),!0)}catch(Le){I(N,Le instanceof Error?Le.message:String(Le),!0)}}async function Ht(){if(u(g)&&await hn.show(`Delete view "${u(g)}"?`,{confirm:"Delete",danger:!0}))try{await r8(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(Le){I(N,Le instanceof Error?Le.message:String(Le),!0)}}async function bi(){if(!u($e).trim())return;const Le=u($e).trim();I(at,null);try{await hD(Le,{map:"// emit(this.someProperty)"}),I(me,!1),I($e,""),await vn(),await Ln(Le)}catch(G){I(at,G instanceof Error?G.message:String(G),!0)}}let fi=V(""),oi=V(""),yi=dt(()=>[...u(i)].filter(Le=>!u(fi)||Le.toLowerCase().includes(u(fi).toLowerCase())).sort()),an=dt(()=>[...u(h)].filter(Le=>!u(oi)||Le.toLowerCase().includes(u(oi).toLowerCase())).sort());vr(()=>{rn(),vn().then(()=>{u(g)&&u(h).includes(u(g))?Ln(u(g)):I(g,null)}),G1().then(ht=>{const zt=ht.dbPrefix||"she/db/",F=zt.endsWith("/")?zt:zt+"/";I(z,F+"view/")}).catch(()=>{});const Le=Gl("db:ids",ht=>{I(i,ht.ids??[],!0)}),G=Gl("db:viewIds",ht=>{I(h,ht.ids??[],!0)}),Pe=Gl("db:change",async ht=>{const zt=ht.id;u(n)===zt&&(ht.doc===null?(I(n,null),I(s,"{}")):I(s,JSON.stringify(ht.doc,null,2),!0))}),nt=Gl("db:viewUpdate",async ht=>{const zt=ht.id;u(g)===zt&&I(D,await Hy(zt).catch(()=>null),!0)});return()=>{Le(),G(),Pe(),nt()}});var Qi=J9(),un=C(Qi),Wn=C(un);let kn;var In=x(Wn,2);let Ti;var Gn=x(In,2);{var Un=Le=>{var G=O9();let Pe;Z(()=>{Pe=jt(G,1,"ai-toggle svelte-rrt0o",null,Pe,{"ai-open":u(We)}),On(G,"title",u(We)?"Close AI assistant":"Open AI assistant")}),se("click",G,()=>I(We,!u(We))),T(Le,G)};$(Gn,Le=>{u(J)==="views"&&Le(Un)})}var Nn=x(un,2);{var Dn=Le=>{var G=B9(),Pe=C(G);let nt;var ht=C(Pe),zt=C(ht),F=x(ht,2);{var oe=ut=>{var De=F9(),Rt=Ct(De),ti=C(Rt),qt=x(ti,2),$t=x(Rt,2);{var ei=Q=>{var pe=WD(),qe=C(pe);Z(()=>K(qe,u(Ee))),T(Q,pe)};$($t,Q=>{u(Ee)&&Q(ei)})}se("keydown",ti,Q=>Q.key==="Enter"&&qn()),Ei(ti,()=>u(X),Q=>I(X,Q)),se("click",qt,qn),T(ut,De)};$(F,ut=>{u(fe)&&ut(oe)})}var ye=x(F,2),U=C(ye),be=x(ye,2);mi(be,20,()=>u(yi),ut=>ut,(ut,De)=>{var Rt=BD();let ti;var qt=C(Rt);Z(()=>{ti=jt(Rt,1,"flat-item svelte-rrt0o",null,ti,{"active-item":u(n)===De}),K(qt,De)}),se("click",Rt,()=>Bi(De)),T(ut,Rt)});var ze=x(Pe,2),ke=x(ze,2),Me=C(ke);{var Te=ut=>{var De=W9(),Rt=Ct(De),ti=C(Rt),qt=C(ti),$t=x(ti,2),ei=x($t,2),Q=x(Rt,2);{var pe=He=>{var st=zD(),Qt=C(st);Z(()=>K(Qt,u(a))),T(He,st)};$(Q,He=>{u(a)&&He(pe)})}var qe=x(Q,2);{var tt=He=>{var st=VD();T(He,st)},kt=He=>{var st=H9(),Qt=C(st);By(Qt,{language:"json",get value(){return u(s)},set value(ai){I(s,ai,!0)}}),T(He,st)};$(qe,He=>{u(r)?He(tt):He(kt,-1)})}Z(()=>K(qt,u(n))),se("click",$t,jn),se("click",ei,xn),T(ut,De)},Pt=ut=>{t(ut)};$(Me,ut=>{u(n)?ut(Te):ut(Pt,-1)})}Z(()=>nt=Uo(Pe,"",nt,{width:`${u(wt)??""}px`})),se("click",zt,()=>{I(fe,!u(fe)),I(Ee,null)}),Ei(U,()=>u(fi),ut=>I(fi,ut)),se("mousedown",ze,si),T(Le,G)},ln=Le=>{var G=Y9(),Pe=C(G);let nt;var ht=C(Pe),zt=C(ht),F=x(ht,2);{var oe=Rt=>{var ti=z9(),qt=Ct(ti),$t=C(qt),ei=x($t,2),Q=x(qt,2);{var pe=qe=>{var tt=WD(),kt=C(tt);Z(()=>K(kt,u(at))),T(qe,tt)};$(Q,qe=>{u(at)&&qe(pe)})}se("keydown",$t,qe=>qe.key==="Enter"&&bi()),Ei($t,()=>u($e),qe=>I($e,qe)),se("click",ei,bi),T(Rt,ti)};$(F,Rt=>{u(me)&&Rt(oe)})}var ye=x(F,2),U=C(ye),be=x(ye,2);mi(be,20,()=>u(an),Rt=>Rt,(Rt,ti)=>{var qt=BD();let $t;var ei=C(qt);Z(()=>{$t=jt(qt,1,"flat-item svelte-rrt0o",null,$t,{"active-item":u(g)===ti}),K(ei,ti)}),se("click",qt,()=>Ln(ti)),T(Rt,qt)});var ze=x(Pe,2),ke=x(ze,2),Me=C(ke);{var Te=Rt=>{var ti=Z9(),qt=Ct(ti),$t=C(qt),ei=C($t),Q=x($t,2),pe=x(Q,2),qe=x(pe,2),tt=x(qt,2);{var kt=ai=>{var ii=zD(),zi=C(ii);Z(()=>K(zi,u(N))),T(ai,ii)};$(tt,ai=>{u(N)&&ai(kt)})}var He=x(tt,2);{var st=ai=>{var ii=VD();T(ai,ii)},Qt=ai=>{var ii=G9(),zi=C(ii),En=x(C(zi),2),Mi=C(En),ni=x(zi,2),Vi=x(C(ni),2),A=C(Vi),q=x(ni,2),Ce=x(C(q),2),Y=C(Ce);By(Y,{language:"javascript",get value(){return u(p)},set value(ot){I(p,ot,!0)}});var ue=x(q,2),he=x(C(ue),2),Ie=C(he);By(Ie,{language:"javascript",get value(){return u(v)},set value(ot){I(v,ot,!0)}});var Tt=x(ue,2),Je=C(Tt),Re=C(Je),Dt=x(Re,4),Ge=x(C(Dt)),W=C(Ge),te=x(Je,2);{var Oe=ot=>{var gt=V9(),le=C(gt);Ds(le,()=>u(S),Ue=>I(S,Ue)),T(ot,gt)};$(te,ot=>{u(y)&&ot(Oe)})}var Qe=x(Tt,2);{var vt=ot=>{var gt=K9(),le=C(gt),Ue=x(C(le));{var Fe=Se=>{var Ne=j9();T(Se,Ne)},_e=Se=>{var Ne=U9(),ct=C(Ne);Z(()=>K(ct,`${u(D).length??0??""} items · rev ${u(D)._rev??""}`)),T(Se,Ne)};$(Ue,Se=>{u(D).error?Se(Fe):Se(_e,-1)})}var Xe=x(le,2);{var Ke=Se=>{var Ne=$9(),ct=C(Ne);Z(()=>K(ct,u(D).error)),T(Se,Ne)},xe=Se=>{var Ne=q9(),ct=C(Ne);Z(ci=>K(ct,ci),[()=>JSON.stringify(u(D).result,null,2)]),T(Se,Ne)};$(Xe,Se=>{u(D).error?Se(Ke):Se(xe,-1)})}T(ot,gt)};$(Qe,ot=>{u(D)&&ot(vt)})}Z(()=>K(W,`${u(z)??""}${u(g)??""} on every update`)),Ei(Mi,()=>u(_),ot=>I(_,ot)),Ei(A,()=>u(f),ot=>I(f,ot)),Ds(Re,()=>u(y),ot=>I(y,ot)),T(ai,ii)};$(He,ai=>{u(E)?ai(st):ai(Qt,-1)})}Z(()=>K(ei,u(g))),se("click",Q,Kn),se("click",pe,et),se("click",qe,Ht),T(Rt,ti)},Pt=Rt=>{t(Rt)};$(Me,Rt=>{u(g)?Rt(Te):Rt(Pt,-1)})}var ut=x(ke,2);{var De=Rt=>{var ti=X9(),qt=Ct(ti),$t=x(qt,2);let ei;var Q=C($t);N9(Q,{get currentView(){return u(Ot)},onApplyView:It}),Z(()=>ei=Uo($t,"",ei,{width:`${u(Ze)??""}px`})),se("mousedown",qt,Ki),T(Rt,ti)};$(ut,Rt=>{u(We)&&Rt(De)})}Z(()=>nt=Uo(Pe,"",nt,{width:`${u(wt)??""}px`})),se("click",zt,()=>{I(me,!u(me)),I(at,null)}),Ei(U,()=>u(oi),Rt=>I(oi,Rt)),se("mousedown",ze,si),T(Le,G)};$(Nn,Le=>{u(J)==="docs"?Le(Dn):Le(ln,-1)})}Z(()=>{kn=jt(Wn,1,"svelte-rrt0o",null,kn,{active:u(J)==="docs"}),Ti=jt(In,1,"svelte-rrt0o",null,Ti,{active:u(J)==="views"})}),se("mousemove",Qi,vi),se("mouseup",Qi,_n),ts("mouseleave",Qi,_n),se("click",Wn,()=>I(J,"docs")),se("click",In,()=>I(J,"views")),T(o,Qi),Mo()}_r(["mousemove","mouseup","click","keydown","mousedown"]);var eZ=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),tZ=R('<label class="svelte-1ua3isv">Pairing Code / QR <input type="text" placeholder="MT:..." class="svelte-1ua3isv"/></label>'),jD=R('<p class="err svelte-1ua3isv"> </p>'),iZ=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>'),nZ=R('<span class="device-name svelte-1ua3isv"> </span> <span class="device-nodeid svelte-1ua3isv"> </span>',1),sZ=R('<span class="device-name svelte-1ua3isv"> </span>'),oZ=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>'),rZ=R('<li class="empty svelte-1ua3isv">No paired devices</li>'),aZ=R('<p class="info svelte-1ua3isv">Loading…</p>'),lZ=R('<p class="device-subtitle svelte-1ua3isv"> </p>'),cZ=R('<span class="ep-chip svelte-1ua3isv"> </span>'),dZ=R('<span class="attr-id svelte-1ua3isv"> </span>'),hZ=R('<button class="attr-action-btn svelte-1ua3isv"> </button>'),uZ=R('<div class="attr-actions svelte-1ua3isv"></div>'),gZ=R('<span class="cmd-sep svelte-1ua3isv">,</span>'),fZ=R('<span class="cmd-name svelte-1ua3isv"> </span><span class="cmd-id svelte-1ua3isv"> </span>',1),pZ=R('<span class="cmd-id svelte-1ua3isv"> </span>'),mZ=R("<!> <!>",1),_Z=R('<span class="cmd-list svelte-1ua3isv"></span>'),vZ=R(' <span class="cmd-id svelte-1ua3isv"> </span>',1),bZ=R('<tr class="svelte-1ua3isv"><td class="svelte-1ua3isv"><!></td><td class="svelte-1ua3isv"> </td></tr>'),wZ=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>'),yZ=R('<th class="svelte-1ua3isv"> </th>'),SZ=R('<td class="svelte-1ua3isv"> </td>'),CZ=R('<tr class="svelte-1ua3isv"></tr>'),xZ=R('<table class="attr-arr-table svelte-1ua3isv"><thead class="svelte-1ua3isv"><tr class="svelte-1ua3isv"></tr></thead><tbody class="svelte-1ua3isv"></tbody></table>'),LZ=R('<tr class="svelte-1ua3isv"><td class="attr-obj-key svelte-1ua3isv"> </td><td class="attr-obj-val svelte-1ua3isv"> </td></tr>'),kZ=R('<table class="attr-obj-table svelte-1ua3isv"><tbody class="svelte-1ua3isv"></tbody></table>'),IZ=R('<a class="attr-link svelte-1ua3isv" target="_blank" rel="noopener noreferrer"> </a>'),DZ=R('<span class="attr-val svelte-1ua3isv"> </span>'),EZ=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>'),PZ=R('<tr class="cluster-hdr-row svelte-1ua3isv"><td colspan="3" class="cluster-hdr-cell svelte-1ua3isv"> </td></tr> <!>',1),TZ=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>'),MZ=R('<p class="no-clusters svelte-1ua3isv">No clusters</p>'),NZ=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>'),RZ=R('<div class="detail-hdr svelte-1ua3isv"><h2 class="svelte-1ua3isv"> </h2> <!> <p class="detail-nodeid svelte-1ua3isv"> </p></div> <!>',1),AZ=R('<p class="info svelte-1ua3isv">Select a device to view its endpoints.</p>'),OZ=R('<span class="stream-badge svelte-1ua3isv"> </span>'),FZ=R('<span class="stream-empty svelte-1ua3isv">Waiting for events…</span>'),zy=R('&nbsp;<span class="e-sub svelte-1ua3isv"> </span>',1),HZ=R('<span class="e-badge e-badge-status svelte-1ua3isv">status</span> <span class="e-node svelte-1ua3isv"> <!></span> <span> </span>',1),WZ=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),BZ=R('<div class="er svelte-1ua3isv"><span class="e-ts svelte-1ua3isv"> </span> <!></div>'),zZ=R('<div class="stream-body svelte-1ua3isv"><!></div>'),VZ=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 jZ(o,e){To(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,Pe,nt,ht,zt){try{await b8(G,Pe,nt,ht,zt)}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,Pe){const nt=n[G];return Pe.map(ht=>{const zt=typeof ht=="number"?ht:Number(ht);return{id:zt,name:(nt==null?void 0:nt[zt])??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=V(Si([])),f=Si(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 Pe=JSON.stringify(G);return Pe.length>60?Pe.slice(0,57)+"…":Pe}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,Pe){return!!(Pe==="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 E=500,N=20,z=32;let O=0,J=V(Si([])),X=V(!0),fe=V(180),Ee=dt(()=>{const G=Math.max(1,Math.floor((u(fe)-z)/N)+1);return u(J).slice(0,G)});function $e(G){G.preventDefault();const Pe=G.clientY,nt=u(fe);function ht(F){I(fe,Math.max(60,Math.min(600,nt+Pe-F.clientY)),!0)}function zt(){document.removeEventListener("mousemove",ht),document.removeEventListener("mouseup",zt)}document.addEventListener("mousemove",ht),document.addEventListener("mouseup",zt)}let me=V(null),at=V(!1),Xt=V(null),wt=V(!1),Yt=V("passcode"),Ft=V(""),Jt=V(""),de=V(""),yt=V(!1),We=V(null),Ze=V("");const Mt="she:matter:selectedNodeId";async function hi(){try{I(g,await oR(),!0);for(const G of u(g))v_(G.nodeId).then(Pe=>{f.set(G.nodeId,Pe)}).catch(()=>{});if(u(g).length>0&&!u(me)){const G=localStorage.getItem(Mt),Pe=G&&u(g).find(nt=>nt.nodeId===G)?G:u(g)[0].nodeId;Bt(Pe)}}catch{I(g,[],!0)}}async function Bt(G){I(at,!0),I(Xt,null);try{I(me,await v_(G),!0),f.set(G,u(me)),localStorage.setItem(Mt,G)}catch(Pe){I(Xt,Pe instanceof Error?Pe.message:String(Pe),!0)}finally{I(at,!1)}}let Ot;async function It(G){var Pe;if(await Ot.show(`Unpair device ${G}?`,{confirm:"Unpair",danger:!0}))try{await v8(G),((Pe=u(me))==null?void 0:Pe.nodeId)===G&&I(me,null),await hi()}catch(nt){I(Xt,nt instanceof Error?nt.message:String(nt),!0)}}async function si(){I(yt,!0),I(We,null);try{let G;u(Yt)==="passcode"?(G={passcode:Number(u(Ft))},u(Jt)&&(G={...G,discriminator:Number(u(Jt))})):G={pairingCode:u(de).trim()},u(Ze).trim()&&(G={...G,discoveryAddress:u(Ze).trim()}),await _8(G),I(wt,!1),I(Ft,""),I(Jt,""),I(de,""),I(Ze,""),await hi()}catch(G){I(We,G instanceof Error?G.message:String(G),!0)}finally{I(yt,!1)}}vr(()=>{hi()});const vi=Gl("matter:deviceList",G=>{if(!Array.isArray(G.devices))return;const Pe=G.devices;for(const nt of Pe)f.has(nt.nodeId)||v_(nt.nodeId).then(ht=>{f.set(nt.nodeId,ht)}).catch(()=>{});I(g,Pe,!0)}),_n=Gl("matter:deviceStatus",G=>{if(G.nodeId===void 0)return;const Pe=String(G.nodeId),nt=!!G.online;I(g,u(g).map(ht=>ht.nodeId===Pe?{...ht,online:nt}:ht),!0),I(J,[{id:O++,kind:"status",nodeId:Pe,online:nt,ts:Date.now()},...u(J).slice(0,E-1)],!0)}),Ki=Gl("matter:attr",G=>{const Pe=String(G.nodeId),nt=G.endpointId,ht=String(G.clusterName),zt=String(G.attrName),F=G.value;if(u(me)&&u(me).nodeId===Pe){const ye=u(me).endpoints.find(be=>be.endpointId===nt),U=ye==null?void 0:ye.clusters.find(be=>be.name===ht);U&&(U.attrs[zt]=F)}const oe=f.get(Pe);if(oe){const ye=oe.endpoints.find(be=>be.endpointId===nt),U=ye==null?void 0:ye.clusters.find(be=>be.name===ht);U&&(U.attrs[zt]=F)}I(J,[{id:O++,kind:"attr",nodeId:Pe,endpointId:nt,clusterName:ht,attrName:zt,value:F,ts:G.ts??Date.now()},...u(J).slice(0,E-1)],!0)});aw(()=>{vi(),_n(),Ki()});var rn=VZ(),vn=Ct(rn);xs(om(vn,{}),G=>Ot=G,()=>Ot);var Bi=x(vn,2),jn=C(Bi),hn=C(jn),xn=C(hn),qn=x(C(xn),2),Ln=x(xn,2);{var Kn=G=>{var Pe=iZ(),nt=C(Pe),ht=C(nt);let zt;var F=x(ht,2);let oe;var ye=x(nt,2);{var U=De=>{var Rt=eZ(),ti=Ct(Rt),qt=x(C(ti)),$t=x(ti,2),ei=x(C($t));Ei(qt,()=>u(Ft),Q=>I(Ft,Q)),Ei(ei,()=>u(Jt),Q=>I(Jt,Q)),T(De,Rt)},be=De=>{var Rt=tZ(),ti=x(C(Rt));Ei(ti,()=>u(de),qt=>I(de,qt)),T(De,Rt)};$(ye,De=>{u(Yt)==="passcode"?De(U):De(be,-1)})}var ze=x(ye,2),ke=x(C(ze)),Me=x(ze,2);{var Te=De=>{var Rt=jD(),ti=C(Rt);Z(()=>K(ti,u(We))),T(De,Rt)};$(Me,De=>{u(We)&&De(Te)})}var Pt=x(Me,2),ut=C(Pt);Z(()=>{zt=jt(ht,1,"svelte-1ua3isv",null,zt,{active:u(Yt)==="passcode"}),oe=jt(F,1,"svelte-1ua3isv",null,oe,{active:u(Yt)==="pairingCode"}),Pt.disabled=u(yt),K(ut,u(yt)?"Commissioning…":"Commission")}),se("click",ht,()=>I(Yt,"passcode")),se("click",F,()=>I(Yt,"pairingCode")),Ei(ke,()=>u(Ze),De=>I(Ze,De)),se("click",Pt,si),T(G,Pe)};$(Ln,G=>{u(wt)&&G(Kn)})}var et=x(Ln,2),Ht=C(et);mi(Ht,17,()=>u(g),G=>G.nodeId,(G,Pe)=>{var nt=oZ();let ht;var zt=C(nt),F=C(zt);let oe;var ye=x(F,2),U=C(ye);{var be=Me=>{var Te=nZ(),Pt=Ct(Te),ut=C(Pt),De=x(Pt,2),Rt=C(De);Z(()=>{K(ut,u(Pe).name),K(Rt,`#${u(Pe).nodeId??""}`)}),T(Me,Te)},ze=Me=>{var Te=sZ(),Pt=C(Te);Z(()=>K(Pt,`Node ${u(Pe).nodeId??""}`)),T(Me,Te)};$(U,Me=>{u(Pe).name?Me(be):Me(ze,-1)})}var ke=x(zt,2);Z(()=>{var Me;ht=jt(nt,1,"svelte-1ua3isv",null,ht,{selected:((Me=u(me))==null?void 0:Me.nodeId)===u(Pe).nodeId}),oe=jt(F,1,"status-dot svelte-1ua3isv",null,oe,{online:u(Pe).online})}),se("click",zt,()=>Bt(u(Pe).nodeId)),se("click",ke,()=>It(u(Pe).nodeId)),T(G,nt)});var bi=x(Ht,2);{var fi=G=>{var Pe=rZ();T(G,Pe)};$(bi,G=>{u(g).length===0&&G(fi)})}var oi=x(hn,2),yi=C(oi);{var an=G=>{var Pe=aZ();T(G,Pe)},Qi=G=>{var Pe=jD(),nt=C(Pe);Z(()=>K(nt,u(Xt))),T(G,Pe)},un=G=>{var Pe=RZ(),nt=Ct(Pe),ht=C(nt),zt=C(ht),F=x(ht,2);{var oe=ze=>{var ke=lZ(),Me=C(ke);Z(()=>K(Me,u(me).subtitle)),T(ze,ke)};$(F,ze=>{u(me).subtitle&&ze(oe)})}var ye=x(F,2),U=C(ye),be=x(nt,2);mi(be,17,()=>u(me).endpoints,ze=>ze.endpointId,(ze,ke)=>{var Me=NZ(),Te=C(Me),Pt=C(Te),ut=x(Pt),De=C(ut),Rt=x(ut,2);mi(Rt,21,()=>u(ke).clusters,An,(ei,Q)=>{var pe=cZ(),qe=C(pe);Z(()=>K(qe,u(Q).name)),T(ei,pe)});var ti=x(Te,2);{var qt=ei=>{var Q=TZ(),pe=x(C(Q));mi(pe,21,()=>u(ke).clusters,An,(qe,tt)=>{var kt=PZ(),He=Ct(kt),st=C(He),Qt=C(st),ai=x(He,2);mi(ai,17,()=>Object.entries(u(tt).attrs),An,(ii,zi)=>{var En=dt(()=>dk(u(zi),2));let Mi=()=>u(En)[0],ni=()=>u(En)[1];var Vi=Ps(),A=Ct(Vi);{var q=Y=>{const ue=dt(()=>{var Ne;return(Ne=t[u(tt).name])==null?void 0:Ne[Mi()]}),he=dt(()=>(Mi()==="acceptedCommandList"||Mi()==="generatedCommandList")&&Array.isArray(ni())),Ie=dt(()=>{var Ne;return((Ne=c[u(tt).name])==null?void 0:Ne[Mi()])??a[Mi()]});var Tt=EZ(),Je=C(Tt),Re=C(Je),Dt=C(Re),Ge=x(Re);{var W=Ne=>{var ct=dZ(),ci=C(ct);Z(ve=>K(ci,`(${ve??""})`),[()=>h(u(Ie))]),T(Ne,ct)};$(Ge,Ne=>{u(Ie)!==void 0&&Ne(W)})}var te=x(Je),Oe=C(te);{var Qe=Ne=>{var ct=uZ();mi(ct,21,()=>u(ue),An,(ci,ve)=>{var Ye=hZ(),ft=C(Ye);Z(()=>K(ft,u(ve).label)),se("click",Ye,()=>i(u(me).nodeId,u(ke).endpointId,u(tt).name,u(ve).command,u(ve).args)),T(ci,Ye)}),T(Ne,ct)};$(Oe,Ne=>{u(ue)&&Ne(Qe)})}var vt=x(te),ot=C(vt);{var gt=Ne=>{var ct=_Z();mi(ct,21,()=>s(u(tt).name,ni()),An,(ci,ve,Ye)=>{var ft=mZ(),bt=Ct(ft);{var it=en=>{var Nt=gZ();T(en,Nt)};$(bt,en=>{Ye>0&&en(it)})}var pi=x(bt,2);{var ri=en=>{var Nt=fZ(),Vt=Ct(Nt),tn=C(Vt),ji=x(Vt),Pn=C(ji);Z(()=>{K(tn,u(ve).name),K(Pn,`(${u(ve).id??""})`)}),T(en,Nt)},Bn=en=>{var Nt=pZ(),Vt=C(Nt);Z(()=>K(Vt,u(ve).id)),T(en,Nt)};$(pi,en=>{u(ve).name?en(ri):en(Bn,-1)})}T(ci,ft)}),T(Ne,ct)},le=Ne=>{var ct=wZ(),ci=x(C(ct));mi(ci,21,ni,An,(ve,Ye)=>{const ft=dt(()=>u(Ye)),bt=dt(()=>u(ft).deviceType),it=dt(()=>r[u(bt)]);var pi=bZ(),ri=C(pi),Bn=C(ri);{var en=ji=>{var Pn=vZ(),nn=Ct(Pn),bs=x(nn),go=C(bs);Z(qr=>{K(nn,`${u(it)??""} `),K(go,`(${qr??""})`)},[()=>h(u(bt))]),T(ji,Pn)},Nt=ji=>{var Pn=Fr();Z(nn=>K(Pn,nn),[()=>h(u(bt))]),T(ji,Pn)};$(Bn,ji=>{u(it)?ji(en):ji(Nt,-1)})}var Vt=x(ri),tn=C(Vt);Z(ji=>K(tn,ji),[()=>v(u(ft).revision)]),T(ve,pi)}),T(Ne,ct)},Ue=dt(()=>Mi()==="deviceTypeList"&&Array.isArray(ni())),Fe=Ne=>{const ct=dt(()=>[...new Set(ni().flatMap(bt=>Object.keys(bt)))]);var ci=xZ(),ve=C(ci),Ye=C(ve);mi(Ye,21,()=>u(ct),An,(bt,it)=>{var pi=yZ(),ri=C(pi);Z(()=>K(ri,u(it))),T(bt,pi)});var ft=x(ve);mi(ft,21,ni,An,(bt,it)=>{var pi=CZ();mi(pi,21,()=>u(ct),An,(ri,Bn)=>{var en=SZ(),Nt=C(en);Z(Vt=>K(Nt,Vt),[()=>v(u(it)[u(Bn)])]),T(ri,en)}),T(bt,pi)}),T(Ne,ci)},_e=dt(()=>y(ni())),Xe=Ne=>{var ct=kZ(),ci=C(ct);mi(ci,21,()=>Object.entries(ni()),An,(ve,Ye)=>{var ft=dt(()=>dk(u(Ye),2));let bt=()=>u(ft)[0],it=()=>u(ft)[1];var pi=LZ(),ri=C(pi),Bn=C(ri),en=x(ri),Nt=C(en);Z(Vt=>{K(Bn,bt()),K(Nt,Vt)},[()=>v(it())]),T(ve,pi)}),T(Ne,ct)},Ke=dt(()=>_(ni())),xe=Ne=>{var ct=IZ(),ci=C(ct);Z(()=>{On(ct,"href",ni()),K(ci,ni())}),T(Ne,ct)},Se=Ne=>{var ct=DZ(),ci=C(ct);Z(ve=>K(ci,ve),[()=>v(ni())]),T(Ne,ct)};$(ot,Ne=>{u(he)?Ne(gt):u(Ue)?Ne(le,1):u(_e)?Ne(Fe,2):u(Ke)?Ne(Xe,3):(Mi()==="productUrl"||Mi()==="productURL")&&typeof ni()=="string"?Ne(xe,4):Ne(Se,-1)})}Z(()=>{On(Je,"title",Mi()),K(Dt,Mi())}),T(Y,Tt)},Ce=dt(()=>!S(ni(),Mi()));$(A,Y=>{u(Ce)&&Y(q)})}T(ii,Vi)}),Z(()=>K(Qt,u(tt).name)),T(qe,kt)}),T(ei,Q)},$t=ei=>{var Q=MZ();T(ei,Q)};$(ti,ei=>{u(ke).clusters.length>0?ei(qt):ei($t,-1)})}Z(()=>{K(Pt,`${u(ke).name??`Endpoint ${u(ke).endpointId}`??""} `),K(De,`ep${u(ke).endpointId??""}`)}),T(ze,Me)}),Z(()=>{K(zt,u(me).name??`Node ${u(me).nodeId}`),K(U,`Node ID: ${u(me).nodeId??""}`)}),T(G,Pe)},Wn=G=>{var Pe=AZ();T(G,Pe)};$(yi,G=>{u(at)?G(an):u(Xt)?G(Qi,1):u(me)?G(un,2):G(Wn,-1)})}var kn=x(jn,2),In=C(kn),Ti=x(In,2),Gn=x(C(Ti),2);{var Un=G=>{var Pe=OZ(),nt=C(Pe);Z(()=>K(nt,u(J).length)),T(G,Pe)};$(Gn,G=>{!u(X)&&u(J).length>0&&G(Un)})}var Nn=x(Gn,2),Dn=C(Nn),ln=x(Ti,2);{var Le=G=>{var Pe=zZ(),nt=C(Pe);{var ht=F=>{var oe=FZ();T(F,oe)},zt=F=>{var oe=Ps(),ye=Ct(oe);mi(ye,17,()=>u(Ee),U=>U.id,(U,be)=>{const ze=dt(()=>{var qt,$t;return((qt=f.get(u(be).nodeId))==null?void 0:qt.name)??(($t=u(g).find(ei=>ei.nodeId===u(be).nodeId))==null?void 0:$t.name)??null}),ke=dt(()=>{var qt,$t;return u(be).endpointId!==void 0?(($t=(qt=f.get(u(be).nodeId))==null?void 0:qt.endpoints.find(ei=>ei.endpointId===u(be).endpointId))==null?void 0:$t.name)??null:null}),Me=dt(()=>u(be).attrName??u(be).clusterName);var Te=BZ(),Pt=C(Te),ut=C(Pt),De=x(Pt,2);{var Rt=qt=>{var $t=HZ(),ei=x(Ct($t),2),Q=C(ei),pe=x(Q);{var qe=st=>{var Qt=zy(),ai=x(Ct(Qt)),ii=C(ai);Z(()=>K(ii,`(#${u(be).nodeId??""})`)),T(st,Qt)};$(pe,st=>{u(ze)&&st(qe)})}var tt=x(ei,2);let kt;var He=C(tt);Z(()=>{K(Q,u(ze)??`#${u(be).nodeId}`),kt=jt(tt,1,"e-val svelte-1ua3isv",null,kt,{"e-online":u(be).online,"e-offline":!u(be).online}),K(He,u(be).online?"online":"offline")}),T(qt,$t)},ti=qt=>{var $t=WZ(),ei=x(Ct($t),2),Q=C(ei),pe=x(Q);{var qe=ni=>{var Vi=zy(),A=x(Ct(Vi)),q=C(A);Z(()=>K(q,`(#${u(be).nodeId??""})`)),T(ni,Vi)};$(pe,ni=>{u(ze)&&ni(qe)})}var tt=x(ei,2),kt=C(tt),He=x(kt);{var st=ni=>{var Vi=zy(),A=x(Ct(Vi)),q=C(A);Z(()=>K(q,`(ep ${u(be).endpointId??""})`)),T(ni,Vi)};$(He,ni=>{u(ke)&&ni(st)})}var Qt=x(tt,2),ai=C(Qt),ii=x(Qt,2),zi=C(ii),En=x(ii,2),Mi=C(En);Z(ni=>{K(Q,u(ze)??`#${u(be).nodeId}`),K(kt,u(ke)??`ep${u(be).endpointId}`),K(ai,u(be).clusterName),K(zi,u(Me)),K(Mi,ni)},[()=>p(u(be).value)]),T(qt,$t)};$(De,qt=>{u(be).kind==="status"?qt(Rt):qt(ti,-1)})}Z(qt=>K(ut,qt),[()=>D(u(be).ts)]),T(U,Te)}),T(F,oe)};$(nt,F=>{u(Ee).length===0?F(ht):F(zt,-1)})}T(G,Pe)};$(ln,G=>{u(X)&&G(Le)})}Z(()=>{Uo(kn,u(X)?`height: ${u(fe)}px;`:""),K(Dn,u(X)?"▾":"▸")}),se("click",qn,()=>I(wt,!u(wt))),se("mousedown",In,$e),se("click",Nn,()=>{I(X,!u(X))}),T(o,rn),Mo()}_r(["click","mousedown"]);var UZ=R("<button>›</button>"),$Z=R('<span class="chev-ph svelte-1vejtrc"></span>'),qZ=R('<span class="tv svelte-1vejtrc"> </span> <span class="tt svelte-1vejtrc"> </span>',1),KZ=R('<div class="tc svelte-1vejtrc"></div>'),GZ=R('<div class="tn svelte-1vejtrc"><div><!> <span class="seg svelte-1vejtrc"> </span> <!></div> <!></div>'),ZZ=R("<option></option>"),XZ=R('<span class="pub-ok svelte-1vejtrc">✓</span>'),YZ=R('<span class="pub-err svelte-1vejtrc"> </span>'),JZ=R('<div class="info svelte-1vejtrc">Loading…</div>'),QZ=R('<div class="info err svelte-1vejtrc"> </div>'),eX=R('<div class="info svelte-1vejtrc">No topics match.</div>'),tX=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>'),iX=R('<div class="vs svelte-1vejtrc"><div><div class="vrows-abs svelte-1vejtrc"></div></div></div>'),nX=R('<div class="info svelte-1vejtrc">No topics yet.</div>'),sX=R('<div class="tree-wrap svelte-1vejtrc"><!></div>'),oX=R('<span class="stream-badge"> </span>'),rX=R('<span class="stream-empty svelte-1vejtrc">Waiting for messages…</span>'),aX=R('<span class="s-ret svelte-1vejtrc" title="retained snapshot">&#x229B;</span>'),lX=R('<div><span class="s-ts svelte-1vejtrc"> </span> <!> <span class="s-topic svelte-1vejtrc"> </span> <span class="s-val svelte-1vejtrc"> </span></div>'),cX=R('<div class="stream-body svelte-1vejtrc"><!></div>'),dX=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),hX=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>'),uX=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),gX=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 fX(o,e){To(e,!0);const t=(Q,pe=iw)=>{const qe=dt(()=>u(f).has(pe().path)),tt=dt(()=>u(a)>=0&&pe().children.size>0),kt=dt(()=>u(a)>=0&&pe().isLeaf&&!n.has(pe().path));var He=GZ(),st=C(He);let Qt;var ai=C(st);{var ii=Y=>{var ue=UZ();let he;Z(()=>{he=jt(ue,1,"chev svelte-1vejtrc",null,he,{open:u(qe)}),On(ue,"aria-label",u(qe)?"Collapse":"Expand")}),se("click",ue,()=>p(pe().path)),T(Y,ue)},zi=Y=>{var ue=$Z();T(Y,ue)};$(ai,Y=>{u(tt)?Y(ii):Y(zi,-1)})}var En=x(ai,2),Mi=C(En),ni=x(En,2);{var Vi=Y=>{var ue=qZ(),he=Ct(ue),Ie=C(he),Tt=x(he,2),Je=C(Tt);Z((Re,Dt,Ge)=>{On(he,"title",Re),K(Ie,Dt),K(Je,Ge)},[()=>{var Re;return Bi((Re=xn(pe().path))==null?void 0:Re.val)},()=>{var Re;return Bi((Re=xn(pe().path))==null?void 0:Re.val)},()=>{var Re;return((Re=xn(pe().path))==null?void 0:Re.ts)!=null?jn(xn(pe().path).ts):""}]),T(Y,ue)},A=dt(()=>pe().isLeaf&&i.has(pe().path));$(ni,Y=>{u(A)&&Y(Vi)})}var q=x(st,2);{var Ce=Y=>{var ue=KZ();mi(ue,21,()=>[...pe().children.values()].sort((he,Ie)=>he.seg.localeCompare(Ie.seg)),he=>he.path,(he,Ie)=>{t(he,()=>u(Ie))}),T(Y,ue)};$(q,Y=>{u(tt)&&u(qe)&&Y(Ce)})}Z(()=>{Qt=jt(st,1,"tr svelte-1vejtrc",null,Qt,{stale:u(kt)}),K(Mi,pe().seg)}),se("click",st,()=>{I(at,pe().path+"/#")}),se("contextmenu",st,Y=>{Y.preventDefault(),I(Ze,{x:Y.clientX,y:Y.clientY,topic:pe().path},!0)}),T(Q,He)},i=new Map,n=new Set,s=new Set;let r=null,a=V(0);function c(){r===null&&(r=requestAnimationFrame(()=>{r=null;for(const Q of s)g(Q);s.clear(),gk(a)}))}const h=new Map;function g(Q){const pe=Q.split("/");let qe=h,tt="";for(let kt=0;kt<pe.length;kt++){const He=pe[kt];tt=kt===0?He:`${tt}/${He}`,qe.has(He)||qe.set(He,{seg:He,path:tt,children:new Map,isLeaf:!1});const st=qe.get(He);kt===pe.length-1&&(st.isLeaf=!0),qe=st.children}}let f=V(Si(new Set));function p(Q){const pe=new Set(u(f));pe.has(Q)?pe.delete(Q):pe.add(Q),I(f,pe,!0)}let v=V("");const _=24,y=5;let S=V(0),D=V(300),E=dt(()=>{if(u(a),!u(v))return[];const Q=u(v).toLowerCase().split(/\s+/).filter(Boolean),pe=[];for(const[qe,tt]of i){const kt=qe.toLowerCase();Q.every(He=>kt.includes(He))&&pe.push({topic:qe,...tt})}return pe.sort((qe,tt)=>qe.topic.localeCompare(tt.topic))}),N=dt(()=>{const Q=u(E).length,pe=Math.max(0,Math.floor(u(S)/_)-y),qe=Math.min(Q,Math.ceil((u(S)+u(D))/_)+y);return{start:pe,end:qe,totalH:Q*_,top:pe*_}});const z=1e3,O=200,J=20,X=36;let fe=0,Ee=V(Si([])),$e=V(Si([])),me=V(!0),at=V("#"),Xt=V(200);Rn(()=>{const Q=u(at).trim(),pe=vl(()=>u(Ee)),qe=!Q||Q==="#"?pe.slice(0,O):pe.filter(tt=>wt(Q,tt.topic)).slice(0,O);if(Q&&Q!=="#"){const tt=new Set(qe.map(He=>He.topic)),kt=[];for(const[He,st]of i)tt.has(He)||wt(Q,He)&&kt.push({id:-(kt.length+1),topic:He,val:st.val,ts:st.ts,retained:!0});kt.sort((He,st)=>He.topic.localeCompare(st.topic)),I($e,[...qe,...kt],!0)}else I($e,qe,!0)});function wt(Q,pe){if(Q==="#")return!0;const qe=Q.split("/"),tt=pe.split("/");for(let kt=0;kt<qe.length;kt++){if(qe[kt]==="#")return!0;if(kt>=tt.length||qe[kt]!=="+"&&qe[kt]!==tt[kt])return!1}return qe.length===tt.length}function Yt(Q){Q.preventDefault();const pe=Q.clientY,qe=u(Xt);function tt(He){I(Xt,Math.max(60,Math.min(800,qe+pe-He.clientY)),!0)}function kt(){document.removeEventListener("mousemove",tt),document.removeEventListener("mouseup",kt)}document.addEventListener("mousemove",tt),document.addEventListener("mouseup",kt)}let Ft=dt(()=>{const Q=Math.max(1,Math.floor((u(Xt)-X)/J)+1);return u($e).slice(0,Q)}),Jt=V(!0),de=V(null);async function yt(){I(Jt,!0),I(de,null);try{const Q=await rR();for(const pe of Q)i.set(pe.topic,{val:pe.val,ts:pe.ts}),g(pe.topic)}catch(Q){I(de,Q instanceof Error?Q.message:String(Q),!0)}finally{I(Jt,!1),gk(a)}}const We=Gl("mqtt",Q=>{const{topic:pe,val:qe,ts:tt}=Q;i.set(pe,{val:qe,ts:tt}),n.add(pe),s.add(pe),c();const kt={id:fe++,topic:pe,val:qe,ts:tt};I(Ee,[kt,...u(Ee).slice(0,z-1)],!0);const He=u(at).trim();(!He||He==="#"||wt(He,pe))&&I($e,[kt,...u($e).filter(st=>!(st.retained&&st.topic===pe)).slice(0,O-1)],!0)});let Ze=V(null),Mt=V(null);async function hi(Q,pe){const qe=[Q];if(pe){const tt=Q+"/";for(const kt of i.keys())kt.startsWith(tt)&&qe.push(kt)}for(const tt of qe)await gD(tt,"",!0,0)}let Bt=dt(()=>(u(a),[...i.keys()].sort())),Ot=V(""),It=V(""),si=V(!1),vi=V(0),_n=V(!1),Ki=V(null),rn=V(!1);async function vn(){if(u(Ot)){I(_n,!0),I(Ki,null),I(rn,!1);try{await gD(u(Ot),u(It),u(si),u(vi)),I(rn,!0),setTimeout(()=>{I(rn,!1)},2e3)}catch(Q){I(Ki,Q instanceof Error?Q.message:String(Q),!0)}finally{I(_n,!1)}}}function Bi(Q){return Q==null?"":typeof Q=="object"?JSON.stringify(Q):String(Q)}function jn(Q){return new Date(Q).toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1})}function hn(Q){return new Date(Q).toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1})}function xn(Q){return u(a),i.get(Q)}let qn=dt(()=>(u(a),[...h.values()].sort((Q,pe)=>Q.seg.localeCompare(pe.seg)))),Ln=dt(()=>(u(a),i.size));vr(yt),aw(()=>{We(),r!==null&&cancelAnimationFrame(r)});var Kn=gX(),et=x(C(Kn),2),Ht=C(et),bi=C(Ht),fi=x(bi,2);mi(fi,20,()=>u(Bt),Q=>Q,(Q,pe)=>{var qe=ZZ(),tt={};Z(()=>{tt!==(tt=pe)&&(qe.value=(qe.__value=pe)??"")}),T(Q,qe)});var oi=x(fi,2),yi=x(oi,2),an=C(yi),Qi=x(yi,2),un=C(Qi);un.value=un.__value=0;var Wn=x(un);Wn.value=Wn.__value=1;var kn=x(Wn);kn.value=kn.__value=2;var In=x(Qi,2),Ti=x(In,2);{var Gn=Q=>{var pe=XZ();T(Q,pe)};$(Ti,Q=>{u(rn)&&Q(Gn)})}var Un=x(Ti,2);{var Nn=Q=>{var pe=YZ(),qe=C(pe);Z(()=>K(qe,u(Ki))),T(Q,pe)};$(Un,Q=>{u(Ki)&&Q(Nn)})}var Dn=x(Ht,2),ln=C(Dn),Le=x(ln,2),G=C(Le);{var Pe=Q=>{var pe=Fr();Z(()=>K(pe,`${u(E).length??""} /`)),T(Q,pe)};$(G,Q=>{u(v)&&Q(Pe)})}var nt=x(G),ht=x(Dn,2);{var zt=Q=>{var pe=JZ();T(Q,pe)},F=Q=>{var pe=QZ(),qe=C(pe);Z(()=>K(qe,u(de))),T(Q,pe)},oe=Q=>{var pe=Ps(),qe=Ct(pe);{var tt=He=>{var st=eX();T(He,st)},kt=He=>{var st=iX(),Qt=C(st),ai=C(Qt);mi(ai,21,()=>u(E).slice(u(N).start,u(N).end),ii=>ii.topic,(ii,zi)=>{var En=tX(),Mi=C(En),ni=C(Mi),Vi=x(Mi,2),A=C(Vi),q=x(Vi,2),Ce=C(q);Z((Y,ue,he)=>{K(ni,u(zi).topic),On(Vi,"title",Y),K(A,ue),K(Ce,he)},[()=>Bi(u(zi).val),()=>Bi(u(zi).val),()=>jn(u(zi).ts)]),T(ii,En)}),Z(()=>{Uo(Qt,`height: ${u(N).totalH??""}px; position: relative;`),Uo(ai,`top: ${u(N).top??""}px;`)}),ts("scroll",st,ii=>{I(S,ii.currentTarget.scrollTop,!0)}),SW(st,"clientHeight",ii=>I(D,ii)),T(He,st)};$(qe,He=>{u(E).length===0?He(tt):He(kt,-1)})}T(Q,pe)},ye=Q=>{var pe=sX(),qe=C(pe);{var tt=He=>{var st=nX();T(He,st)},kt=He=>{var st=Ps(),Qt=Ct(st);mi(Qt,17,()=>u(qn),ai=>ai.path,(ai,ii)=>{t(ai,()=>u(ii))}),T(He,st)};$(qe,He=>{u(qn).length===0?He(tt):He(kt,-1)})}T(Q,pe)};$(ht,Q=>{u(Jt)?Q(zt):u(de)?Q(F,1):u(v)?Q(oe,2):Q(ye,-1)})}var U=x(et,2),be=C(U),ze=x(be,2),ke=C(ze),Me=x(ke,2);{var Te=Q=>{var pe=oX(),qe=C(pe);Z(()=>K(qe,u($e).length)),T(Q,pe)};$(Me,Q=>{!u(me)&&u($e).length>0&&Q(Te)})}var Pt=x(Me,2),ut=C(Pt),De=x(ze,2);{var Rt=Q=>{var pe=cX(),qe=C(pe);{var tt=He=>{var st=rX();T(He,st)},kt=He=>{var st=Ps(),Qt=Ct(st);mi(Qt,17,()=>u(Ft),ai=>ai.id,(ai,ii)=>{var zi=lX();let En;var Mi=C(zi),ni=C(Mi),Vi=x(Mi,2);{var A=he=>{var Ie=aX();T(he,Ie)};$(Vi,he=>{u(ii).retained&&he(A)})}var q=x(Vi,2),Ce=C(q),Y=x(q,2),ue=C(Y);Z((he,Ie,Tt)=>{En=jt(zi,1,"sr svelte-1vejtrc",null,En,{retained:u(ii).retained}),K(ni,he),K(Ce,u(ii).topic),On(Y,"title",Ie),K(ue,Tt)},[()=>hn(u(ii).ts),()=>Bi(u(ii).val),()=>Bi(u(ii).val)]),T(ai,zi)}),T(He,st)};$(qe,He=>{u(Ft).length===0?He(tt):He(kt,-1)})}T(Q,pe)};$(De,Q=>{u(me)&&Q(Rt)})}var ti=x(U,2);{var qt=Q=>{var pe=dX(),qe=Ct(pe),tt=x(qe,2);let kt;var He=C(tt),st=x(He,2);Z(()=>kt=Uo(tt,"",kt,{left:`${u(Ze).x??""}px`,top:`${u(Ze).y??""}px`})),se("click",qe,()=>I(Ze,null)),se("contextmenu",qe,Qt=>{Qt.preventDefault(),I(Ze,null)}),se("click",He,()=>{navigator.clipboard.writeText(u(Ze).topic),I(Ze,null)}),se("click",st,()=>{const Qt=u(Ze).topic,ai=Qt+"/",ii=[...i.keys()].some(zi=>zi.startsWith(ai));I(Mt,{topic:Qt,hasChildren:ii,recursive:!1},!0),I(Ze,null)}),T(Q,pe)};$(ti,Q=>{u(Ze)&&Q(qt)})}var $t=x(ti,2);{var ei=Q=>{var pe=uX(),qe=Ct(pe),tt=x(qe,2),kt=x(C(tt),2),He=C(kt),st=x(C(He)),Qt=C(st),ai=x(He,2);{var ii=ni=>{var Vi=hX(),A=C(Vi);Ds(A,()=>u(Mt).recursive,q=>u(Mt).recursive=q),T(ni,Vi)};$(ai,ni=>{u(Mt).hasChildren&&ni(ii)})}var zi=x(kt,2),En=C(zi),Mi=x(En,2);Z(()=>K(Qt,u(Mt).topic)),se("click",qe,()=>I(Mt,null)),se("click",En,()=>I(Mt,null)),se("click",Mi,()=>{const{topic:ni,recursive:Vi}=u(Mt);I(Mt,null),hi(ni,Vi)}),T(Q,pe)};$($t,Q=>{u(Mt)&&Q(ei)})}Z(()=>{In.disabled=u(_n)||!u(Ot),K(nt,` ${u(Ln)??""}`),Uo(U,u(me)?`height: ${u(Xt)}px;`:""),K(ut,u(me)?"▾":"▸")}),Ei(bi,()=>u(Ot),Q=>I(Ot,Q)),Ei(oi,()=>u(It),Q=>I(It,Q)),Ds(an,()=>u(si),Q=>I(si,Q)),ua(Qi,()=>u(vi),Q=>I(vi,Q)),se("click",In,vn),Ei(ln,()=>u(v),Q=>I(v,Q)),se("mousedown",be,Yt),Ei(ke,()=>u(at),Q=>I(at,Q)),se("click",Pt,()=>{I(me,!u(me))}),T(o,Kn),Mo()}_r(["click","contextmenu","mousedown"]);var pX=R('<div class="restart-banner svelte-twakcj">⚠ Package changes require a daemon restart to take effect. Use the ↺ button in the topbar.</div>'),mX=R('<div class="err svelte-twakcj"> </div>'),_X=R('<span class="pane-count pane-count--warn svelte-twakcj"> </span>'),vX=R('<p class="empty svelte-twakcj">No packages installed.</p>'),bX=R('<p class="empty svelte-twakcj">No match.</p>'),wX=R('<span class="dep-latest svelte-twakcj"> </span>'),yX=uT('<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>'),SX=uT('<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>'),CX=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>'),xX=R('<span class="result-author svelte-twakcj"> </span>'),LX=R('<span class="result-date svelte-twakcj"> </span>'),kX=R('<span class="result-desc svelte-twakcj"> </span>'),IX=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>'),DX=R('<div class="results-list svelte-twakcj"></div>'),EX=R('<pre class="npm-output svelte-twakcj"> </pre>'),PX=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>`),TX=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 MX(o,e){To(e,!0);let t=V(Si([])),i=V(""),n=V(Si({})),s=V(!1),r=V(""),a=V(Si([])),c=V(!1),h=V(!1),g=V(""),f=V(""),p=Si({});const v=dt(()=>u(i).trim()?u(t).filter(et=>et.name.toLowerCase().includes(u(i).toLowerCase())):u(t)),_=dt(()=>Object.keys(u(n)).length);vr(async()=>{await Promise.all([y(),S()])});async function y(){try{I(t,await a8(),!0),I(g,"")}catch(et){I(g,et.message,!0)}}async function S(){try{I(n,await u8(),!0)}catch{}}async function D(){I(s,!0);try{I(n,await g8(),!0)}catch{}finally{I(s,!1)}}async function E(){const et=u(r).trim();if(!et){I(a,[],!0);return}I(h,!0),I(g,"");try{I(a,await l8(et),!0)}catch(Ht){I(g,Ht.message,!0)}finally{I(h,!1)}}function N(et){if(!et)return"";try{return new Date(et).toLocaleDateString(void 0,{year:"numeric",month:"short",day:"numeric"})}catch{return""}}async function z(et,Ht){p[et]=!0,I(g,""),I(f,"");try{const bi=await c8(et,Ht);I(f,bi.stdout||bi.stderr||"Done.",!0),I(c,!0),await y()}catch(bi){I(g,bi.message,!0)}finally{p[et]=!1}}async function O(et){p[et]=!0,I(g,""),I(f,"");try{const Ht=await d8(et);I(f,Ht.stdout||Ht.stderr||"Done.",!0),I(c,!0);const bi={...u(n)};delete bi[et],I(n,bi,!0),await y()}catch(Ht){I(g,Ht.message,!0)}finally{p[et]=!1}}async function J(et){p[et]=!0,I(g,""),I(f,"");try{const Ht=await h8(et);I(f,Ht.stdout||Ht.stderr||"Done.",!0),I(c,!0);const bi={...u(n)};delete bi[et],I(n,bi,!0),await y()}catch(Ht){I(g,Ht.message,!0)}finally{p[et]=!1}}var X=TX(),fe=C(X);{var Ee=et=>{var Ht=pX();T(et,Ht)};$(fe,et=>{u(c)&&et(Ee)})}var $e=x(fe,2);{var me=et=>{var Ht=mX(),bi=C(Ht);Z(()=>K(bi,u(g))),T(et,Ht)};$($e,et=>{u(g)&&et(me)})}var at=x($e,2),Xt=C(at),wt=C(Xt),Yt=x(C(wt),2),Ft=C(Yt),Jt=x(Yt,2);{var de=et=>{var Ht=_X(),bi=C(Ht);Z(()=>K(bi,`${u(_)??""} outdated`)),T(et,Ht)};$(Jt,et=>{u(_)>0&&et(de)})}var yt=x(Jt,2),We=C(yt);let Ze;var Mt=x(wt,2),hi=C(Mt),Bt=x(Mt,2),Ot=C(Bt);{var It=et=>{var Ht=vX();T(et,Ht)},si=et=>{var Ht=bX();T(et,Ht)},vi=et=>{var Ht=Ps(),bi=Ct(Ht);mi(bi,17,()=>u(v),fi=>fi.name,(fi,oi)=>{var yi=CX();let an;var Qi=C(yi),un=C(Qi),Wn=C(un),kn=x(un,2),In=C(kn),Ti=x(kn,2);{var Gn=nt=>{var ht=wX(),zt=C(ht);Z(()=>K(zt,`→ v${u(n)[u(oi).name].latest??""}`)),T(nt,ht)};$(Ti,nt=>{u(n)[u(oi).name]&&nt(Gn)})}var Un=x(Qi,2),Nn=C(Un);let Dn;var ln=C(Nn);{var Le=nt=>{var ht=yX();T(nt,ht)},G=nt=>{var ht=SX();T(nt,ht)};$(ln,nt=>{p[u(oi).name]?nt(Le):nt(G,-1)})}var Pe=x(Nn,2);Z(()=>{an=jt(yi,1,"dep-row svelte-twakcj",null,an,{"dep-busy":!!p[u(oi).name]}),On(un,"href",u(oi).url??`https://www.npmjs.com/package/${u(oi).name}`),K(Wn,u(oi).name),K(In,u(oi).installedVersion??u(oi).version),Dn=jt(Nn,1,"icon-btn svelte-twakcj",null,Dn,{"icon-btn--update":!!u(n)[u(oi).name]}),Nn.disabled=!!p[u(oi).name],On(Nn,"title",u(n)[u(oi).name]?`Update to v${u(n)[u(oi).name].latest}`:"Update to latest"),Pe.disabled=!!p[u(oi).name]}),se("click",Nn,()=>J(u(oi).name)),se("click",Pe,()=>O(u(oi).name)),T(fi,yi)}),T(et,Ht)};$(Ot,et=>{u(t).length===0?et(It):u(v).length===0?et(si,1):et(vi,-1)})}var _n=x(Xt,2),Ki=x(C(_n),2),rn=C(Ki),vn=x(rn,2),Bi=C(vn),jn=x(Ki,2);{var hn=et=>{var Ht=DX();mi(Ht,21,()=>u(a),bi=>bi.name,(bi,fi)=>{var oi=IX(),yi=C(oi),an=C(yi),Qi=C(an),un=x(an,2),Wn=C(un),kn=x(un,2);{var In=Le=>{var G=xX(),Pe=C(G);Z(()=>K(Pe,u(fi).author)),T(Le,G)};$(kn,Le=>{u(fi).author&&Le(In)})}var Ti=x(kn,2);{var Gn=Le=>{var G=LX(),Pe=C(G);Z(nt=>{On(G,"title",u(fi).date),K(Pe,nt)},[()=>N(u(fi).date)]),T(Le,G)};$(Ti,Le=>{u(fi).date&&Le(Gn)})}var Un=x(Ti,2);{var Nn=Le=>{var G=kX(),Pe=C(G);Z(()=>K(Pe,u(fi).description)),T(Le,G)};$(Un,Le=>{u(fi).description&&Le(Nn)})}var Dn=x(yi,2),ln=C(Dn);Z(()=>{On(an,"href",u(fi).url??`https://www.npmjs.com/package/${u(fi).name}`),K(Qi,u(fi).name),K(Wn,u(fi).version),Dn.disabled=!!p[u(fi).name],K(ln,p[u(fi).name]?"Installing…":"Install")}),se("click",Dn,()=>z(u(fi).name)),T(bi,oi)}),T(et,Ht)};$(jn,et=>{u(a).length>0&&et(hn)})}var xn=x(jn,2);{var qn=et=>{var Ht=EX(),bi=C(Ht);Z(()=>K(bi,u(f))),T(et,Ht)};$(xn,et=>{u(f)&&et(qn)})}var Ln=x(xn,2);{var Kn=et=>{var Ht=PX();T(et,Ht)};$(Ln,et=>{!u(a).length&&!u(f)&&et(Kn)})}Z(()=>{K(Ft,u(t).length),yt.disabled=u(s),Ze=jt(We,0,"svelte-twakcj",null,Ze,{spinning:u(s)}),vn.disabled=u(h),K(Bi,u(h)?"Searching…":"Search")}),se("click",yt,D),Ei(hi,()=>u(i),et=>I(i,et)),se("keydown",rn,et=>et.key==="Enter"&&E()),Ei(rn,()=>u(r),et=>I(r,et)),se("click",vn,E),T(o,X),Mo()}_r(["click","keydown"]);var NX=R('<span class="update-dot svelte-1n46o8q" title="Update available"></span>'),RX=R('<dt class="svelte-1n46o8q">Latest</dt><dd style="color: #f90" class="svelte-1n46o8q"> </dd>',1),AX=R('<dt class="svelte-1n46o8q">Latest</dt><dd class="svelte-1n46o8q">up to date</dd>',1),OX=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>'),FX=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>'),HX=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),WX=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),BX=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>'),zX=R('<span class="stats-empty svelte-1n46o8q">Loading…</span>'),VX=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>'),jX=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>'),UX=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>'),$X=R('<div class="login-error svelte-1n46o8q"> </div>'),qX=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>'),KX=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>'),GX=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>'),ZX=R("<!> <!> <!> <!>",1);function XX(o,e){To(e,!0);const t=["scripts","mqtt","matter","db","logs","config","packages"];function i(){const de=location.hash.slice(1);return t.includes(de)?de:"scripts"}let n=V(Si(i())),s=V(null),r=V(!1),a=V(!1),c=V(!1),h=V(!1),g=V("none"),f=V(""),p=V(!1),v=V(""),_=V(""),y=V(!1),S=V(!1);z7(()=>{I(p,!0)});async function D(){I(_,""),I(y,!0);try{await U7(u(v)),I(v,""),I(p,!1)}catch(de){I(_,de.message??"Login failed",!0)}finally{I(y,!1)}}async function E(){if(u(g)==="proxy"&&u(f)){window.location.href=u(f);return}await $7(),I(p,!0)}let N=V(null),z=V(!1);async function O(){if(!await u(N).show("Restart the she daemon? The page will reload after a moment.",{confirm:"Restart"}))return;I(z,!0);let de;try{de=(await uf()).startedAt}catch{}try{await X7()}catch{}const yt=Date.now()+6e4;for(;Date.now()<yt;){await new Promise(We=>setTimeout(We,250));try{const We=await uf();if(de===void 0||We.startedAt!==de){location.reload();return}}catch{}}location.reload()}async function J(){I(c,!0);try{const de=await J7();u(s)&&I(s,{...u(s),latestVersion:de.latestVersion??void 0},!0)}catch{}finally{I(c,!1)}}async function X(){var We;if(!await u(N).show(`Update to v${(We=u(s))==null?void 0:We.latestVersion}? The daemon will restart after the update completes.`,{confirm:"Update"}))return;I(a,!1),I(h,!0);try{await Y7()}catch{}let de=!1;const yt=Date.now()+18e4;for(;Date.now()<yt;){await new Promise(Ze=>setTimeout(Ze,2e3));try{if(await uf(),de){location.reload();return}}catch{de=!0}}location.reload()}function fe(de){I(n,de,!0),location.hash=de}vr(async()=>{location.hash||(location.hash=u(n));const de=()=>{I(n,i(),!0)};window.addEventListener("hashchange",de);try{const Ze=await j7();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 yt(){try{I(s,await uf(),!0)}catch{}}yt();const We=setInterval(yt,5e3);return()=>{window.removeEventListener("hashchange",de),clearInterval(We)}});var Ee=ZX();ts("click",$P,()=>{u(r)&&I(r,!1),u(a)&&I(a,!1)});var $e=Ct(Ee);{var me=de=>{var yt=UX(),We=C(yt),Ze=x(C(We),2);let Mt;var hi=x(Ze,2);let Bt;var Ot=x(hi,2);let It;var si=x(Ot,2);let vi;var _n=x(si,2);let Ki;var rn=x(_n,2);let vn;var Bi=x(rn,4),jn=x(C(Bi),2),hn=C(jn),xn=C(hn);xn.nodeValue="v0.25.0 ";var qn=x(xn);{var Ln=Te=>{var Pt=NX();T(Te,Pt)};$(qn,Te=>{var Pt;(Pt=u(s))!=null&&Pt.latestVersion&&Te(Ln)})}var Kn=x(hn,2);{var et=Te=>{var Pt=FX(),ut=C(Pt),De=x(C(ut));De.textContent="v0.25.0";var Rt=x(De,2);{var ti=He=>{var st=RX(),Qt=x(Ct(st)),ai=C(Qt);Z(()=>K(ai,`v${u(s).latestVersion??""}`)),T(He,st)},qt=He=>{var st=AX();T(He,st)};$(Rt,He=>{var st;(st=u(s))!=null&&st.latestVersion?He(ti):He(qt,-1)})}var $t=x(ut,2),ei=C($t);{var Q=He=>{var st=OX(),Qt=x(C(st));Z(()=>K(Qt,` Update to v${u(s).latestVersion??""}`)),se("click",st,X),T(He,st)};$(ei,He=>{var st;(st=u(s))!=null&&st.latestVersion&&He(Q)})}var pe=x(ei,2),qe=C(pe);let tt;var kt=x(qe);Z(()=>{pe.disabled=u(c),tt=jt(qe,0,"svelte-1n46o8q",null,tt,{spinning:u(c)}),K(kt,` ${u(c)?"Checking…":"Check for updates"}`)}),se("click",Pt,He=>He.stopPropagation()),se("click",pe,J),T(Te,Pt)};$(Kn,Te=>{u(a)&&Te(et)})}var Ht=x(jn,2),bi=C(Ht),fi=x(bi,2);{var oi=Te=>{var Pt=VX(),ut=C(Pt);{var De=$t=>{var ei=BX(),Q=x(C(ei)),pe=C(Q),qe=x(Q,3),tt=C(qe),kt=x(qe,3),He=C(kt),st=x(kt,2);{var Qt=q=>{var Ce=HX(),Y=x(Ct(Ce)),ue=C(Y),he=x(Y,3),Ie=C(he);Z(()=>{K(ue,u(s).matterNodes??0),K(Ie,u(s).matterEndpoints??0)}),T(q,Ce)};$(st,q=>{u(s).matterEnabled&&q(Qt)})}var ai=x(st,2);{var ii=q=>{var Ce=WX(),Y=x(Ct(Ce)),ue=C(Y),he=x(Y,3),Ie=C(he);Z(()=>{K(ue,u(s).dbDocs??"—"),K(Ie,u(s).dbViews??"—")}),T(q,Ce)};$(ai,q=>{u(s).dbEnabled&&q(ii)})}var zi=x(ai,3),En=C(zi),Mi=x(zi,3),ni=C(Mi),Vi=x(Mi,3),A=C(Vi);Z(()=>{K(pe,u(s).scripts),K(tt,u(s).topics),K(He,u(s).mqttMsgPerSec??"—"),K(En,u(s).handlers??"—"),K(ni,u(s).memMb!=null?u(s).memMb+" MB":"—"),K(A,u(s).cpuPercent!=null?u(s).cpuPercent+" %":"—")}),T($t,ei)},Rt=$t=>{var ei=zX();T($t,ei)};$(ut,$t=>{u(s)?$t(De):$t(Rt,-1)})}var ti=x(ut,2),qt=C(ti);se("click",Pt,$t=>$t.stopPropagation()),se("click",qt,()=>{I(r,!1),O()}),T(Te,Pt)};$(fi,Te=>{u(r)&&Te(oi)})}var yi=x(Ht,2);let an;var Qi=x(yi,2);{var un=Te=>{var Pt=jX();se("click",Pt,E),T(Te,Pt)};$(Qi,Te=>{u(g)==="password"&&Te(un)})}var Wn=x(We,2),kn=C(Wn);xs(om(kn,{}),Te=>I(N,Te,!0),()=>u(N));var In=x(kn,2);let Ti;var Gn=C(In);{let Te=dt(()=>u(n)==="scripts");rG(Gn,{get active(){return u(Te)}})}var Un=x(In,2);let Nn;var Dn=C(Un);MX(Dn,{});var ln=x(Un,2);let Le;var G=C(ln);fX(G,{});var Pe=x(ln,2);let nt;var ht=C(Pe);jZ(ht,{});var zt=x(Pe,2);let F;var oe=C(zt);Q9(oe,{});var ye=x(zt,2);let U;var be=C(ye);$G(be,{});var ze=x(ye,2);let ke;var Me=C(ze);ZG(Me,{}),Z(()=>{Mt=jt(Ze,1,"svelte-1n46o8q",null,Mt,{active:u(n)==="scripts"}),Bt=jt(hi,1,"svelte-1n46o8q",null,Bt,{active:u(n)==="packages"}),It=jt(Ot,1,"svelte-1n46o8q",null,It,{active:u(n)==="mqtt"}),vi=jt(si,1,"svelte-1n46o8q",null,vi,{active:u(n)==="matter"}),Ki=jt(_n,1,"svelte-1n46o8q",null,Ki,{active:u(n)==="db"}),vn=jt(rn,1,"svelte-1n46o8q",null,vn,{active:u(n)==="logs"}),an=jt(yi,1,"nav-settings svelte-1n46o8q",null,an,{active:u(n)==="config"}),Ti=jt(In,1,"page-wrap svelte-1n46o8q",null,Ti,{hidden:u(n)!=="scripts"}),Nn=jt(Un,1,"page-wrap svelte-1n46o8q",null,Nn,{hidden:u(n)!=="packages"}),Le=jt(ln,1,"page-wrap svelte-1n46o8q",null,Le,{hidden:u(n)!=="mqtt"}),nt=jt(Pe,1,"page-wrap svelte-1n46o8q",null,nt,{hidden:u(n)!=="matter"}),F=jt(zt,1,"page-wrap svelte-1n46o8q",null,F,{hidden:u(n)!=="db"}),U=jt(ye,1,"page-wrap svelte-1n46o8q",null,U,{hidden:u(n)!=="config"}),ke=jt(ze,1,"page-wrap svelte-1n46o8q",null,ke,{hidden:u(n)!=="logs"})}),se("click",Ze,()=>fe("scripts")),se("click",hi,()=>fe("packages")),se("click",Ot,()=>fe("mqtt")),se("click",si,()=>fe("matter")),se("click",_n,()=>fe("db")),se("click",rn,()=>fe("logs")),se("click",hn,Te=>{Te.stopPropagation(),I(a,!u(a)),I(r,!1)}),se("click",bi,Te=>{Te.stopPropagation(),I(r,!u(r)),I(a,!1)}),se("click",yi,()=>fe("config")),T(de,yt)};$($e,de=>{u(S)&&!u(p)&&de(me)})}var at=x($e,2);{var Xt=de=>{var yt=qX(),We=C(yt),Ze=x(C(We),4),Mt=x(C(Ze),2),hi=x(Ze,2);{var Bt=si=>{var vi=$X(),_n=C(vi);Z(()=>K(_n,u(_))),T(si,vi)};$(hi,si=>{u(_)&&si(Bt)})}var Ot=x(hi,2),It=C(Ot);Z(()=>{Mt.disabled=u(y),Ot.disabled=u(y)||!u(v),K(It,u(y)?"Signing in…":"Sign in")}),ts("submit",We,si=>{si.preventDefault(),D()}),Ei(Mt,()=>u(v),si=>I(v,si)),T(de,yt)};$(at,de=>{u(p)&&de(Xt)})}var wt=x(at,2);{var Yt=de=>{var yt=KX();T(de,yt)};$(wt,de=>{u(z)&&de(Yt)})}var Ft=x(wt,2);{var Jt=de=>{var yt=GX();T(de,yt)};$(Ft,de=>{u(h)&&de(Jt)})}T(o,Ee),Mo()}_r(["click"]);lW(XX,{target:document.getElementById("app")});export{LT as t};