smart-home-engine 0.24.6 → 0.26.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/web/assets/{index-2XghiaRb.css → index-CND95LL-.css} +1 -1
- package/dist/web/assets/index-_pI34Lpo.js +225 -0
- package/dist/web/assets/{tsMode-6wpkRoMY.js → tsMode-X6DYzZOw.js} +1 -1
- package/dist/web/index.html +2 -2
- package/package.json +1 -1
- package/src/index.js +5 -0
- package/src/web/config-api.js +18 -1
- package/src/web/git-api.js +2 -2
- package/src/web/prompts/she-api-ref.md +2 -0
- package/src/web/scripts-api.js +39 -0
- package/src/web/server.js +3 -0
- package/dist/web/assets/index-_dyUIPCt.js +0 -225
|
@@ -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-X6DYzZOw.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
var rA=Object.defineProperty;var TL=o=>{throw TypeError(o)};var aA=(o,e,t)=>e in o?rA(o,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):o[e]=t;var Oi=(o,e,t)=>aA(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),yn=(o,e,t)=>(Vw(o,e,"access private method"),t);import{_ as qD,m as KD,l as St,A as Qs,C as ae,I as xn,D as Pp,a as es,g as GD,M as st,b as Zt,E as Wr,c as M,r as en,d as ur,e as w,f as lA,h as mn,R as Pi,S as Ut,i as Rs,j as gr,k as Hi,n as vi,o as ie,p as ye,K as ns,q as mt,s as je,t as ls,u as B,v as xi,O as wa,w as os,P as Lt,x as jw,y as Tp,z as ZD,B as Ja,F as Br,G as Vy,H as vs,U as sn,J as Vu,L as kt,N as sl,Q as cA,T as Gs,V as jy,W as dA,X as XD,$ as pt,Y as qi,Z as Fi,a0 as On,a1 as di,a2 as Do,a3 as Of,a4 as ze,a5 as Gm,a6 as hA,a7 as uA,a8 as as,a9 as gA,aa as zr,ab as eo,ac as Et,ad as YD,ae as Sn,af as fA,ag as pA,ah as Xs,ai as bg,aj as ss,ak as Ab,al as Vs,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 mA,av as Mp,aw as wg,ax as fl,ay as _A,az as yg,aA as vA,aB as p0,aC as bA,aD as wA,aE as ML,aF as Qn,aG as Qa,aH as js,aI as pi,aJ as Ga,aK as yA,aL as xa,aM as Lo,aN as us,aO as Vr,aP as m0,aQ as cs,aR as Zn,aS as w_,aT as fi,aU as JD,aV as SA,aW as _0,aX as Wb,aY as v0,aZ as b0,a_ as Qc,a$ as CA,b0 as w0,b1 as xA,b2 as y0,b3 as pl,b4 as ml,b5 as Uu,b6 as Ff,b7 as go,b8 as Np,b9 as y_,ba as Uw,bb as cn,bc as S0,bd as Rp,be as Bb,bf as LA,bg as QD,bh as Hf,bi as $u,bj as Wf,bk as Ap,bl as zb,bm as Bi,bn as Lc,bo as Op,bp as kA,bq as IA,br as C0,bs as DA,bt as S_,bu as $o,bv as x0,bw as qu,bx as _l,by as Sg,bz as Si,bA as Ku,bB as eE,bC as Fp,bD as EA,bE as ed,bF as at,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 An,bQ as Bf,bR as mh,bS as Uy,bT as iE,bU as nE,bV as sE,bW as L0,bX as ro,bY as Ji,bZ as Hp,b_ as oE,b$ as el,c0 as Vb,c1 as PA,c2 as tu,c3 as RL,c4 as Wp,c5 as rE,c6 as iu,c7 as TA,c8 as Qo,c9 as jb,ca as MA,cb as to,cc as jr,cd as Bp,ce as zf,cf as aE,cg as zo,ch as zp,ci as Ub,cj as NA,ck as RA,cl as AA,cm as Cg,cn as La,co as gs,cp as OA,cq as k0,cr as FA,cs as HA,ct as AL,cu as WA,cv as Vp,cw as ol,cx as $y,cy as Yd,cz as rl,cA as BA,cB as ya,cC as ar,cD as So,cE as OL,cF as Os,cG as jp,cH as pc,cI as ka,cJ as zA,cK as Ur,cL as Vf,cM as $b,cN as lE,cO as VA,cP as jA,cQ as I0,cR as UA,cS as jf,cT as $A,cU as zl,cV as Uf,cW as FL,cX as qA,cY as KA,cZ as Ea,c_ as GA,c$ as D0,d0 as cE,d1 as dE,d2 as hE,d3 as uE,d4 as ZA,d5 as XA,d6 as gE,d7 as fE,d8 as YA,d9 as E0,da as JA,db as QA,dc as zn,dd as eO,de as P0,df as tO,dg as nu,dh as HL,di as iO,dj as nO,dk as sO,dl as oO,dm as rO,dn as aO,dp as Xu,dq as qb,dr as qy,ds as lO,dt as cO,du as WL,dv as Ky,dw as dO,dx as BL,dy as $w,dz as hO,dA as pE,dB as uO,dC as mE,dD as Gy,dE as gO,dF as fO,dG as pO,dH as _E,dI as vE,dJ as mO,dK as C_,dL as bE,dM as Kb,dN as _O,dO as vO,dP as mc,dQ as T0,dR as bO,dS as zL,dT as VL,dU as wO,dV as su,dW as wE,dX as yO,dY as SO,dZ as CO,d_ as xO,d$ as yE,e0 as SE,e1 as CE,e2 as xE,e3 as LO,e4 as Sa,e5 as jL,e6 as kO,e7 as Up,e8 as IO,e9 as Yg,ea as LE,eb as UL,ec as $f,ed as kE,ee as x_,ef as DO,eg as IE,eh as EO,ei as DE,ej as PO,ek as TO,el as EE,em as PE,en as al,eo as Gb,ep as MO,eq as TE,er as ko,es as td,et as ME,eu as NO,ev as RO,ew as NE,ex as RE,ey as AO,ez as AE,eA as OE,eB as qf,eC as OO,eD as FO,eE as HO,eF as WO,eG as Bg,eH as $L,eI as BO,eJ as zO,eK as VO,eL as L_,eM as xs,eN as jO,eO as Zy,eP as _h,eQ as UO,eR as Ka,eS as $O,eT as qO,eU as FE,eV as KO,eW as mf,eX as GO,eY as ZO,eZ as XO,e_ as YO,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 JO,fa as QO,fb as e2,fc as t2,fd as N0,fe as BE,ff as i2,fg as I_,fh as zE,fi as VE,fj as n2,fk as s2,fl as o2,fm as r2,fn as a2,fo as l2,fp as c2,fq as d2,fr as jE,fs as h2,ft as D_,fu as UE,fv as u2,fw as $E,fx as g2,fy as qE,fz as KE,fA as f2,fB as ZL,fC as GE,fD as XL,fE as p2,fF as qw,fG as YL,fH as m2,fI as _2,fJ as v2,fK as ua,fL as _c,fM as b2,fN as JL,fO as Ym,fP as w2,fQ as Za,fR as Zb,fS as Yy,fT as y2,fU as ZE,fV as XE,fW as Fs,fX as QL,fY as vm,fZ as R0,f_ as S2,f$ as C2,g0 as x2,g1 as L2,g2 as k2,g3 as I2,g4 as D2,g5 as E2,g6 as ek,g7 as P2,g8 as T2,g9 as M2,ga as Yu,gb as _f,gc as YE,gd as N2,ge as A0,gf as Jm,gg as bm,gh as Kw,gi as R2,gj as A2,gk as JE,gl as O2,gm as O0,gn as F2,go as H2,gp as QE,gq as Xb,gr as W2,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 B2,gH as z2,gI as V2,gJ as j2,gK as lP,gL as U2,gM as $2,gN as ik,gO as Jy,gP as Zl,gQ as q2,gR as K2,gS as G2,gT as Z2,gU as X2,gV as Y2,gW as nk,gX as B0,gY as Qy,gZ as J2,g_ as eS,g$ as Q2,h0 as eF,h1 as tF,h2 as iF,h3 as z0,h4 as cP,h5 as sk,h6 as ok,h7 as nF,h8 as sF,h9 as oF,ha as rk,hb as Gw,hc as rF,hd as aF,he as lF,hf as Zw,hg as dP,hh as hP,hi as uP,hj as gP,hk as ll,hl as fP,hm as V0,hn as ak,ho as cF,hp as pP,hq as dF,hr as hF,hs as Yb,ht as Jb,hu as bh,hv as Qb,hw as $p,hx as uF,hy as ew,hz as gF,hA as fF,hB as pF,hC as mP,hD as zg,hE as mF,hF as _F,hG as vF,hH as bF,hI as qp,hJ as wF,hK as _P,hL as vP,hM as bP,hN as tS,hO as yF,hP as SF,hQ as CF,hR as xF,hS as LF,hT as iS,hU as kF,hV as IF,hW as DF,hX as EF,hY as PF,hZ as TF,h_ as MF,h$ as NF,i0 as wP,i1 as RF,i2 as AF,i3 as OF,i4 as lk,i5 as FF,i6 as HF,i7 as Wc,i8 as Wa,i9 as WF,ia as BF}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,zF=Array.prototype.indexOf,P_=Array.prototype.includes,tw=Array.from,VF=Object.defineProperty,bu=Object.getOwnPropertyDescriptor,jF=Object.getOwnPropertyDescriptors,UF=Object.prototype,$F=Array.prototype,SP=Object.getPrototypeOf,ck=Object.isExtensible;const iw=()=>{};function qF(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 KF(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 Bs=2,Ju=4,nw=8,xP=1<<24,Ar=16,Hr=32,vc=64,nS=128,dr=512,Ls=1024,Ps=2048,Ia=4096,lo=8192,hr=16384,xg=32768,sS=1<<25,Qu=65536,T_=1<<17,GF=1<<18,Lg=1<<19,ZF=1<<20,_a=1<<25,Jd=65536,M_=1<<21,wu=1<<22,Xl=1<<23,id=Symbol("$state"),XF=Symbol("legacy props"),YF=Symbol(""),Qm=Symbol("attributes"),oS=Symbol("class"),rS=Symbol("style"),Jg=Symbol("text"),e_=Symbol("form reset"),sw=new class extends Error{constructor(){super(...arguments);Oi(this,"name","StaleReactionError");Oi(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 JF(){throw new Error("https://svelte.dev/e/async_derived_orphan")}function QF(o,e,t){throw new Error("https://svelte.dev/e/each_key_duplicate")}function eH(o){throw new Error("https://svelte.dev/e/effect_in_teardown")}function tH(){throw new Error("https://svelte.dev/e/effect_in_unowned_derived")}function iH(o){throw new Error("https://svelte.dev/e/effect_orphan")}function nH(){throw new Error("https://svelte.dev/e/effect_update_depth_exceeded")}function sH(o){throw new Error("https://svelte.dev/e/props_invalid_value")}function oH(){throw new Error("https://svelte.dev/e/state_descriptors_fixed")}function rH(){throw new Error("https://svelte.dev/e/state_prototype_fixed")}function aH(){throw new Error("https://svelte.dev/e/state_unsafe_mutation")}function lH(){throw new Error("https://svelte.dev/e/svelte_boundary_reset_onerror")}const cH=1,dH=2,kP=4,hH=8,uH=16,gH=1,fH=4,pH=8,mH=16,_H=1,vH=2,Cs=Symbol("uninitialized"),IP="http://www.w3.org/1999/xhtml",bH="http://www.w3.org/2000/svg",wH="http://www.w3.org/1998/Math/MathML";function yH(){console.warn("https://svelte.dev/e/derived_inert")}function SH(){console.warn("https://svelte.dev/e/select_multiple_invalid_value")}function CH(){console.warn("https://svelte.dev/e/svelte_boundary_reset_noop")}function DP(o){return o===this.v}function xH(o,e){return o!=o?e==e:o!==e||o!==null&&typeof o=="object"||typeof o=="function"}function EP(o){return!xH(o,this.v)}let LH=!1,Ws=null;function eg(o){Ws=o}function Po(o,e=!1,t){Ws={p:Ws,i:!1,c:null,e:null,s:o,x:null,r:Qi,l:null}}function To(o){var e=Ws,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,Ws=e.p,o??{}}function PP(){return!0}let Uc=[];function TP(){var o=Uc;Uc=[],qF(o)}function Yl(o){if(Uc.length===0&&!bf){var e=Uc;queueMicrotask(()=>{e===Uc&&TP()})}Uc.push(o)}function kH(){for(;Uc.length>0;)TP()}function MP(o){var e=Qi;if(e===null)return Yi.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 IH=-7169;function ds(o,e){o.f=o.f&IH|e}function U0(o){(o.f&dr)!==0||o.deps===null?ds(o,Ls):ds(o,Ia)}function NP(o){if(o!==null)for(const e of o)(e.f&Bs)===0||(e.f&Jd)===0||(e.f^=Jd,NP(e.deps))}function RP(o,e,t){(o.f&Ps)!==0?e.add(o):(o.f&Ia)!==0&&t.add(o),NP(o.deps),ds(o,Ls)}let wm=!1;function DH(o){var e=wm;try{return wm=!1,[o(),wm]}finally{wm=e}}let Xw=null,Rh=null,ui=null,vf=null,As=null,aS=null,bf=!1,Yw=!1,ou=null,t_=null;var hk=0;let EH=1;var xu,Hl,Gc,Lu,ku,Iu,ja,Du,bo,xp,Ua,Lr,la,Eu,Zc,Vn,lS,Qg,cS,AP,OP,Zh,PH,ef;const Vv=class Vv{constructor(){Ii(this,Vn);Oi(this,"id",EH++);Ii(this,xu,!1);Oi(this,"linked",!0);Ii(this,Hl,null);Ii(this,Gc,null);Oi(this,"async_deriveds",new Map);Oi(this,"current",new Map);Oi(this,"previous",new Map);Ii(this,Lu,new Set);Ii(this,ku,new Set);Ii(this,Iu,0);Ii(this,ja,new Map);Ii(this,Du,null);Ii(this,bo,[]);Ii(this,xp,[]);Ii(this,Ua,new Set);Ii(this,Lr,new Set);Ii(this,la,new Map);Ii(this,Eu,new Set);Oi(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,la).has(e)||ee(this,la).set(e,{d:[],m:[]}),ee(this,Eu).delete(e)}unskip_effect(e,t=i=>this.schedule(i)){var i=ee(this,la).get(e);if(i){ee(this,la).delete(e);for(var n of i.d)ds(n,Ps),t(n);for(n of i.m)ds(n,Ia),t(n)}ee(this,Eu).add(e)}capture(e,t,i=!1){e.v!==Cs&&!this.previous.has(e)&&this.previous.set(e,e.v),(e.f&Xl)===0&&(this.current.set(e,[t,i]),As==null||As.set(e,t)),this.is_fork||(e.v=t)}activate(){ui=this}deactivate(){ui=null,As=null}flush(){try{Yw=!0,ui=this,yn(this,Vn,Qg).call(this)}finally{hk=0,aS=null,ou=null,t_=null,Yw=!1,ui=null,As=null,nd.clear()}}discard(){var e;for(const t of ee(this,ku))t(this);ee(this,ku).clear(),yn(this,Vn,ef).call(this),(e=ee(this,Du))==null||e.resolve()}register_created_effect(e){ee(this,xp).push(e)}increment(e,t){if(Di(this,Iu,ee(this,Iu)+1),e){let i=ee(this,ja).get(t)??0;ee(this,ja).set(t,i+1)}}decrement(e,t){if(Di(this,Iu,ee(this,Iu)-1),e){let i=ee(this,ja).get(t)??0;i===1?ee(this,ja).delete(t):ee(this,ja).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,Ua).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(ui===null){const e=ui=new Vv;!Yw&&!bf&&Yl(()=>{ee(e,xu)||e.flush()})}return ui}apply(){{As=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===Qi&&(Yi===null||(Yi.f&Bs)===0))return;if((i&(vc|Hr))!==0){if((i&Ls)===0)return;t.f^=Ls}}ee(this,bo).push(t)}};xu=new WeakMap,Hl=new WeakMap,Gc=new WeakMap,Lu=new WeakMap,ku=new WeakMap,Iu=new WeakMap,ja=new WeakMap,Du=new WeakMap,bo=new WeakMap,xp=new WeakMap,Ua=new WeakMap,Lr=new WeakMap,la=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,ja).keys()){for(var e=i,t=!1;e.parent!==null;){if(ee(this,la).has(e)){t=!0;break}e=e.parent}if(!t)return!0}return!1},Qg=function(){var c,h,g,f;Di(this,xu,!0),hk++>1e3&&(yn(this,Vn,ef).call(this),MH());for(const p of ee(this,Ua))ee(this,Lr).delete(p),ds(p,Ps),this.schedule(p);for(const p of ee(this,Lr))ds(p,Ia),this.schedule(p);const e=ee(this,bo);Di(this,bo,[]),this.apply();var t=ou=[],i=[],n=t_=[];for(const p of e)try{yn(this,Vn,cS).call(this,p,t,i)}catch(v){throw WP(p),yn(this,Vn,lS).call(this)||this.discard(),v}if(ui=null,n.length>0){var s=Vv.ensure();for(const p of n)s.schedule(p)}if(ou=null,t_=null,yn(this,Vn,lS).call(this)){yn(this,Vn,Zh).call(this,i),yn(this,Vn,Zh).call(this,t);for(const[p,v]of ee(this,la))HP(p,v);n.length>0&&yn(c=ui,Vn,Qg).call(c);return}const r=yn(this,Vn,AP).call(this);if(r){yn(this,Vn,Zh).call(this,i),yn(this,Vn,Zh).call(this,t),yn(h=r,Vn,OP).call(h,this);return}ee(this,Ua).clear(),ee(this,Lr).clear();for(const p of ee(this,Lu))p(this);ee(this,Lu).clear(),vf=this,uk(i),uk(t),vf=null,(g=ee(this,Du))==null||g.resolve();var a=ui;if(ee(this,Iu)===0&&(ee(this,bo).length===0||a!==null)&&yn(this,Vn,ef).call(this),ee(this,bo).length>0)if(a!==null){const p=a;ee(p,bo).push(...ee(this,bo).filter(v=>!ee(p,bo).includes(v)))}else a=this;a!==null&&yn(f=a,Vn,Qg).call(f)},cS=function(e,t,i){e.f^=Ls;for(var n=e.first;n!==null;){var s=n.f,r=(s&(Hr|vc))!==0,a=r&&(s&Ls)!==0,c=a||(s&lo)!==0||ee(this,la).has(n);if(!c&&n.fn!==null){r?n.f^=Ls:(s&Ju)!==0?t.push(n):Gp(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,Ua),ee(e,Lr));const t=n=>{var s=n.reactions;if(s!==null)for(const c of s){var r=c.f;if((r&Bs)!==0)t(c);else{var a=c;r&(wu|Ar)&&!this.async_deriveds.has(a)&&(ee(this,Lr).delete(a),ds(a,Ps),this.schedule(a))}}};for(const n of this.current.keys())t(n);this.oncommit(()=>e.discard()),yn(i=e,Vn,ef).call(i),ui=this,yn(this,Vn,Qg).call(this)},Zh=function(e){for(var t=0;t<e.length;t+=1)RP(e[t],ee(this,Ua),ee(this,Lr))},PH=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):yn(_=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,xp))(p.f&(hr|lo|T_))===0&&$0(p,c,r)&&((p.f&(wu|Ar))!==0?(ds(p,Ps),f.schedule(p)):ee(f,Ua).add(p));if(ee(f,bo).length>0&&!ee(f,Zc)){f.apply();for(var h of ee(f,bo))yn(g=f,Vn,cS).call(g,h,[],[]);Di(f,bo,[])}f.deactivate()}}}},ef=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 TH(o){var e=bf;bf=!0;try{for(var t;;){if(kH(),ui===null)return t;ui.flush()}}finally{bf=e}}function MH(){try{nH()}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|lo))===0&&Gp(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|lo))!==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|lo))===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&Bs)!==0?FP(n,e,t,i):(s&(wu|Ar))!==0&&(s&Ps)===0&&$0(n,e,i)&&(ds(n,Ps),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&Bs)!==0&&$0(n,e,t))return t.set(n,!0),!0}return t.set(o,!1),!1}function q0(o){ui.schedule(o)}function HP(o,e){if(!((o.f&Hr)!==0&&(o.f&Ls)!==0)){(o.f&Ps)!==0?e.d.push(o):(o.f&Ia)!==0&&e.m.push(o),ds(o,Ls);for(var t=o.first;t!==null;)HP(t,e),t=t.next}}function WP(o){ds(o,Ls);for(var e=o.first;e!==null;)WP(e),e=e.next}function NH(o){let e=0,t=eh(0),i;return()=>{X0()&&(u(t),rw(()=>(e===0&&(i=bl(()=>o(()=>wf(t)))),e+=1,()=>{Yl(()=>{e-=1,e===0&&(i==null||i(),i=void 0,wf(t))})})))}}var RH=Qu|Lg;function AH(o,e,t,i){new OH(o,e,t,i)}var tr,g0,ir,Xc,wo,nr,so,Fo,$a,Yc,Wl,Pu,Lp,kp,qa,jv,hs,FH,HH,WH,dS,i_,n_,hS,uS;class OH{constructor(e,t,i,n){Ii(this,hs);Oi(this,"parent");Oi(this,"is_pending",!1);Oi(this,"transform_error");Ii(this,tr);Ii(this,g0,null);Ii(this,ir);Ii(this,Xc);Ii(this,wo);Ii(this,nr,null);Ii(this,so,null);Ii(this,Fo,null);Ii(this,$a,null);Ii(this,Yc,0);Ii(this,Wl,0);Ii(this,Pu,!1);Ii(this,Lp,new Set);Ii(this,kp,new Set);Ii(this,qa,null);Ii(this,jv,NH(()=>(Di(this,qa,eh(ee(this,Yc))),()=>{Di(this,qa,null)})));var s;Di(this,tr,e),Di(this,ir,t),Di(this,Xc,r=>{var a=Qi;a.b=this,a.f|=nS,i(r)}),this.parent=Qi.b,this.transform_error=n??((s=this.parent)==null?void 0:s.transform_error)??(r=>r),Di(this,wo,Q0(()=>{yn(this,hs,dS).call(this)},RH))}defer_effect(e){RP(e,ee(this,Lp),ee(this,kp))}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){yn(this,hs,hS).call(this,e,t),Di(this,Yc,ee(this,Yc)+e),!(!ee(this,qa)||ee(this,Pu))&&(Di(this,Pu,!0),Yl(()=>{Di(this,Pu,!1),ee(this,qa)&&tg(ee(this,qa),ee(this,Yc))}))}get_effect_pending(){return ee(this,jv).call(this),u(ee(this,qa))}error(e){if(!ee(this,ir).onerror&&!ee(this,ir).failed)throw e;ui!=null&&ui.is_fork?(ee(this,nr)&&ui.skip_effect(ee(this,nr)),ee(this,so)&&ui.skip_effect(ee(this,so)),ee(this,Fo)&&ui.skip_effect(ee(this,Fo)),ui.oncommit(()=>{yn(this,hs,uS).call(this,e)})):yn(this,hs,uS).call(this,e)}}tr=new WeakMap,g0=new WeakMap,ir=new WeakMap,Xc=new WeakMap,wo=new WeakMap,nr=new WeakMap,so=new WeakMap,Fo=new WeakMap,$a=new WeakMap,Yc=new WeakMap,Wl=new WeakMap,Pu=new WeakMap,Lp=new WeakMap,kp=new WeakMap,qa=new WeakMap,jv=new WeakMap,hs=new WeakSet,FH=function(){try{Di(this,nr,sr(()=>ee(this,Xc).call(this,ee(this,tr))))}catch(e){this.error(e)}},HH=function(e){const t=ee(this,ir).failed;t&&Di(this,Fo,sr(()=>{t(ee(this,tr),()=>e,()=>()=>{})}))},WH=function(){const e=ee(this,ir).pending;e&&(this.is_pending=!0,Di(this,so,sr(()=>e(ee(this,tr)))),Yl(()=>{var t=Di(this,$a,document.createDocumentFragment()),i=tl();t.append(i),Di(this,nr,yn(this,hs,n_).call(this,()=>sr(()=>ee(this,Xc).call(this,i)))),ee(this,Wl)===0&&(ee(this,tr).before(t),Di(this,$a,null),od(ee(this,so),()=>{Di(this,so,null)}),yn(this,hs,i_).call(this,ui))}))},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,$a,document.createDocumentFragment());t1(ee(this,nr),e);const t=ee(this,ir).pending;Di(this,so,sr(()=>t(ee(this,tr))))}else yn(this,hs,i_).call(this,ui)}catch(t){this.error(t)}},i_=function(e){this.is_pending=!1,e.transfer_effects(ee(this,Lp),ee(this,kp))},n_=function(e){var t=Qi,i=Yi,n=Ws;Da(ee(this,wo)),fr(ee(this,wo)),eg(ee(this,wo).ctx);try{return Qd.ensure(),e()}catch(s){return MP(s),null}finally{Da(t),fr(i),eg(n)}},hS=function(e,t){var i;if(!this.has_pending_snippet()){this.parent&&yn(i=this.parent,hs,hS).call(i,e,t);return}Di(this,Wl,ee(this,Wl)+e),ee(this,Wl)===0&&(yn(this,hs,i_).call(this,t),ee(this,so)&&od(ee(this,so),()=>{Di(this,so,null)}),ee(this,$a)&&(ee(this,tr).before(ee(this,$a)),Di(this,$a,null)))},uS=function(e){ee(this,nr)&&(Io(ee(this,nr)),Di(this,nr,null)),ee(this,so)&&(Io(ee(this,so)),Di(this,so,null)),ee(this,Fo)&&(Io(ee(this,Fo)),Di(this,Fo,null));var t=ee(this,ir).onerror;let i=ee(this,ir).failed;var n=!1,s=!1;const r=()=>{if(n){CH();return}n=!0,s&&lH(),ee(this,Fo)!==null&&od(ee(this,Fo),()=>{Di(this,Fo,null)}),yn(this,hs,n_).call(this,()=>{yn(this,hs,dS).call(this)})},a=c=>{try{s=!0,t==null||t(c,r),s=!1}catch(h){Vl(h,ee(this,wo)&&ee(this,wo).parent)}i&&Di(this,Fo,yn(this,hs,n_).call(this,()=>{try{return sr(()=>{var h=Qi;h.b=this,h.f|=nS,i(ee(this,tr),()=>c,()=>r)})}catch(h){return Vl(h,ee(this,wo).parent),null}}))};Yl(()=>{var c;try{c=this.transform_error(e)}catch(h){Vl(h,ee(this,wo)&&ee(this,wo).parent);return}c!==null&&typeof c=="object"&&typeof c.then=="function"?c.then(a,h=>Vl(h,ee(this,wo)&&ee(this,wo).parent)):a(c)})};function BH(o,e,t,i){const n=Kf;var s=o.filter(p=>!p.settled);if(t.length===0&&s.length===0){i(e.map(n));return}var r=Qi,a=zH(),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=>VH(p))).then(p=>h([...e.map(n),...p])).catch(p=>Vl(p,r)).finally(g)}c?c.then(()=>{a(),f(),N_()}):f()}function zH(){var o=Qi,e=Yi,t=Ws,i=ui;return function(s=!0){Da(o),fr(e),eg(t),s&&(o.f&hr)===0&&(i==null||i.activate(),i==null||i.apply())}}function N_(o=!0){Da(null),fr(null),eg(null),o&&(ui==null||ui.deactivate())}function BP(){var o=Qi,e=o.b,t=ui,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 Kf(o){var e=Bs|Ps;return Qi!==null&&(Qi.f|=Lg),{ctx:Ws,deps:null,effects:null,equals:DP,f:e,fn:o,reactions:null,rv:0,v:Cs,wv:0,parent:Qi,ac:null}}const ym=Symbol("obsolete");function VH(o,e,t){let i=Qi;i===null&&JF();var n=void 0,s=eh(Cs),r=!Yi,a=new Set;return eW(()=>{var v,_;var c=Qi,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=ui;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 rt(o){const e=Kf(o);return nT(e),e}function K0(o){const e=Kf(o);return e.equals=EP,e}function jH(o){var e=o.effects;if(e!==null){o.effects=null;for(var t=0;t<e.length;t+=1)Io(e[t])}}function G0(o){var e,t=Qi,i=o.parent;if(!cl&&i!==null&&o.v!==Cs&&(i.f&(hr|lo))!==0)return yH(),o.v;Da(i);try{o.f&=~Jd,jH(o),e=aT(o)}finally{Da(t)}return e}function zP(o){var e=G0(o);if(!o.equals(e)&&(o.wv=oT(),(!(ui!=null&&ui.is_fork)||o.deps===null)&&(ui!==null?(ui.capture(o,e,!0),vf==null||vf.capture(o,e,!0)):o.v=e,o.deps===null))){ds(o,Ls);return}cl||(As!==null?(X0()||ui!=null&&ui.is_fork)&&As.set(o,e):U0(o))}function UH(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,Gf(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 z(o,e){const t=eh(o);return nT(t),t}function $H(o,e=!1,t=!0){const i=eh(o);return e||(i.equals=EP),i}function I(o,e,t=!1){Yi!==null&&(!Or||(Yi.f&T_)!==0)&&PP()&&(Yi.f&(Bs|Ar|wu|T_))!==0&&(Ca===null||!Ca.has(o))&&aH();let i=t?wi(e):e;return tg(o,i,t_)}function tg(o,e,t=null){if(!o.equals(e)){nd.set(o,cl?e:o.v);var i=Qd.ensure();if(i.capture(o,e),(o.f&Bs)!==0){const n=o;(o.f&Ps)!==0&&G0(n),As===null&&U0(n)}o.wv=oT(),UP(o,Ps,t),Qi!==null&&(Qi.f&Ls)!==0&&(Qi.f&(Hr|vc))===0&&(er===null?iW([o]):er.push(o)),!i.is_fork&&R_.size>0&&!jP&&qH()}return e}function qH(){jP=!1;for(const o of R_){(o.f&Ls)!==0&&ds(o,Ia);let e;try{e=Gp(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 wf(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&Ps)===0;if(c&&ds(r,e),(a&T_)!==0)R_.add(r);else if((a&Bs)!==0){var h=r;As==null||As.delete(h),(a&Jd)===0&&(a&dr&&(Qi===null||(Qi.f&M_)===0)&&(r.f|=Jd),UP(h,Ia,t))}else if(c){var g=r;(a&Ar)!==0&&Sr!==null&&Sr.add(g),t!==null?t.push(g):q0(g)}}}function wi(o){if(typeof o!="object"||o===null||id in o)return o;const e=SP(o);if(e!==UF&&e!==$F)return o;var t=new Map,i=j0(o),n=z(0),s=rd,r=a=>{if(rd===s)return a();var c=Yi,h=rd;fr(null),_k(s);var g=a();return fr(c),_k(h),g};return i&&t.set("length",z(o.length)),new Proxy(o,{defineProperty(a,c,h){(!("value"in h)||h.configurable===!1||h.enumerable===!1||h.writable===!1)&&oH();var g=t.get(c);return g===void 0?r(()=>{var f=z(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(()=>z(Cs));t.set(c,g),wf(n)}}else I(h,Cs),wf(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 _=wi(f?a[c]:Cs),y=z(_);return y}),t.set(c,g)),g!==void 0){var p=u(g);return p===Cs?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!==Cs)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!==Cs||Reflect.has(a,c);if(h!==void 0||Qi!==null&&(!g||(p=bu(a,c))!=null&&p.writable)){h===void 0&&(h=r(()=>{var v=g?wi(a[c]):Cs,_=z(v);return _}),t.set(c,h));var f=u(h);if(f===Cs)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(_,Cs):v in a&&(_=r(()=>z(Cs)),t.set(v+"",_))}if(f===void 0)(!p||(N=bu(a,c))!=null&&N.writable)&&(f=r(()=>z(void 0)),I(f,wi(h)),t.set(c,f));else{p=f.v!==Cs;var y=r(()=>wi(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)}wf(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!==Cs});for(var[h,g]of t)g.v!==Cs&&!(h in a)&&c.push(h);return c},setPrototypeOf(){rH()}})}function fk(o){try{if(o!==null&&typeof o=="object"&&id in o)return o[id]}catch{}return o}function KH(o,e){return Object.is(fk(o),fk(e))}var sd,$P,qP,KP,GP;function GH(){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[Jg]=void 0)}}function tl(o=""){return document.createTextNode(o)}function va(o){return KP.call(o)}function Kp(o){return GP.call(o)}function x(o,e){return va(o)}function yt(o,e=!1){{var t=va(o);return t instanceof Comment&&t.data===""?Kp(t):t}}function C(o,e=1,t=!1){let i=o;for(;e--;)i=Kp(i);return i}function ZH(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 XH(){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=Yi,t=Qi;fr(null),Da(null);try{return o()}finally{fr(e),Da(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),XH()}function YH(o){Qi===null&&(Yi===null&&iH(),tH()),cl&&eH()}function JH(o,e){var t=e.last;t===null?e.last=e.first=o:(t.next=o,o.prev=t,e.last=o)}function vl(o,e){var t=Qi;t!==null&&(t.f&lo)!==0&&(o|=lo);var i={ctx:Ws,deps:null,nodes:null,f:o|Ps|dr,first:null,fn:e,last:null,next:null,parent:t,b:t&&t.b,prev:null,teardown:null,wv:0,ac:null};ui==null||ui.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 Io(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&&JH(n,t),Yi!==null&&(Yi.f&Bs)!==0&&(o&vc)===0)){var s=Yi;(s.effects??(s.effects=[])).push(n)}return i}function X0(){return Yi!==null&&!Or}function Y0(o){const e=vl(nw,null);return ds(e,Ls),e.teardown=o,e}function Mn(o){YH();var e=Qi.f,t=!Yi&&(e&Hr)!==0&&Ws!==null&&!Ws.i;if(t){var i=Ws;(i.e??(i.e=[])).push(o)}else return YP(o)}function YP(o){return vl(Ju|ZF,o)}function QH(o){Qd.ensure();const e=vl(vc|Lg,o);return(t={})=>new Promise(i=>{t.outro?od(e,()=>{Io(e),i(void 0)}):(Io(e),i(void 0))})}function J0(o){return vl(Ju,o)}function eW(o){return vl(wu|Lg,o)}function rw(o,e=0){return vl(nw|e,o)}function Z(o,e=[],t=[],i=[]){BH(i,e,t,n=>{vl(nw,()=>o(...n.map(u)))})}function Q0(o,e=0){var t=vl(Ar|e,o);return t}function sr(o){return vl(Hr|Lg,o)}function JP(o){var e=o.teardown;if(e!==null){const t=cl,i=Yi;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:Io(t,e),t=i}}function tW(o){for(var e=o.first;e!==null;){var t=e.next;(e.f&Hr)===0&&Io(e),e=t}}function Io(o,e=!0){var t=!1;(e||(o.f&GF)!==0)&&o.nodes!==null&&o.nodes.end!==null&&(QP(o.nodes.start,o.nodes.end),t=!0),ds(o,sS),e1(o,e&&!t),Gf(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:Kp(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&&Io(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&lo)===0){o.f^=lo;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&lo)!==0){o.f^=lo,(o.f&Ls)===0&&(ds(o,Ps),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:Kp(t);e.append(t),t=n}}let s_=!1,cl=!1;function mk(o){cl=o}let Yi=null,Or=!1;function fr(o){Yi=o}let Qi=null;function Da(o){Qi=o}let Ca=null;function nT(o){Yi!==null&&(Ca??(Ca=new Set)).add(o)}let yo=null,Ao=0,er=null;function iW(o){er=o}let sT=1,$c=0,rd=$c;function _k(o){rd=o}function oT(){return++sT}function Gp(o){var e=o.f;if((e&Ps)!==0)return!0;if(e&Bs&&(o.f&=~Jd),(e&Ia)!==0){for(var t=o.deps,i=t.length,n=0;n<i;n++){var s=t[n];if(Gp(s)&&zP(s),s.wv>o.wv)return!0}(e&dr)!==0&&As===null&&ds(o,Ls)}return!1}function rT(o,e,t=!0){var i=o.reactions;if(i!==null&&!(Ca!==null&&Ca.has(o)))for(var n=0;n<i.length;n++){var s=i[n];(s.f&Bs)!==0?rT(s,e,!1):e===s&&(t?ds(s,Ps):(s.f&Ls)!==0&&ds(s,Ia),q0(s))}}function aT(o){var y;var e=yo,t=Ao,i=er,n=Yi,s=Ca,r=Ws,a=Or,c=rd,h=o.f;yo=null,Ao=0,er=null,Yi=(h&(Hr|vc))===0?o:null,Ca=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=ui==null?void 0:ui.is_fork;if(yo!==null){var _;if(v||Gf(o,Ao),p!==null&&Ao>0)for(p.length=Ao+yo.length,_=0;_<yo.length;_++)p[Ao+_]=yo[_];else o.deps=p=yo;if(X0()&&(o.f&dr)!==0)for(_=Ao;_<p.length;_++)((y=p[_]).reactions??(y.reactions=[])).push(o)}else!v&&p!==null&&Ao<p.length&&(Gf(o,Ao),p.length=Ao);if(PP()&&er!==null&&!Or&&p!==null&&(o.f&(Bs|Ia|Ps))===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_,yo=e,Ao=t,er=i,Yi=n,Ca=s,eg(r),Or=a,rd=c}}function nW(o,e){let t=e.reactions;if(t!==null){var i=zF.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&Bs)!==0&&(yo===null||!P_.call(yo,e))){var s=e;(s.f&dr)!==0&&(s.f^=dr,s.f&=~Jd),s.v!==Cs&&U0(s),UH(s),Gf(s,0)}}function Gf(o,e){var t=o.deps;if(t!==null)for(var i=e;i<t.length;i++)nW(o,t[i])}function ig(o){var e=o.f;if((e&hr)===0){ds(o,Ls);var t=Qi,i=s_;Qi=o,s_=!0;try{(e&(Ar|xP))!==0?tW(o):e1(o),JP(o);var n=aT(o);o.teardown=typeof n=="function"?n:null,o.wv=sT;var s;yP&&LH&&(o.f&Ps)!==0&&o.deps}finally{s_=i,Qi=t}}}async function gS(){await Promise.resolve(),TH()}function u(o){var e=o.f,t=(e&Bs)!==0;if(Yi!==null&&!Or){var i=Qi!==null&&(Qi.f&hr)!==0;if(!i&&(Ca===null||!Ca.has(o))){var n=Yi.deps;if((Yi.f&M_)!==0)o.rv<$c&&(o.rv=$c,yo===null&&n!==null&&n[Ao]===o?Ao++:yo===null?yo=[o]:yo.push(o));else{Yi.deps??(Yi.deps=[]),P_.call(Yi.deps,o)||Yi.deps.push(o);var s=o.reactions;s===null?o.reactions=[Yi]:P_.call(s,Yi)||s.push(Yi)}}}if(cl&&nd.has(o))return nd.get(o);if(t){var r=o;if(cl){var a=r.v;return((r.f&Ls)===0&&r.reactions!==null||cT(r))&&(a=G0(r)),nd.set(r,a),a}var c=(r.f&dr)===0&&!Or&&Yi!==null&&(s_||(Yi.f&dr)!==0),h=(r.f&xg)===0;Gp(r)&&(c&&(r.f|=dr),zP(r)),c&&!h&&(VP(r),lT(r))}if(As!=null&&As.has(o))return As.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&Bs)!==0&&(e.f&dr)===0&&(VP(e),lT(e))}function cT(o){if(o.v===Cs)return!0;if(o.deps===null)return!1;for(const e of o.deps)if(nd.has(e)||(e.f&Bs)!==0&&cT(e))return!0;return!1}function bl(o){var e=Or;try{return Or=!0,o()}finally{Or=e}}const sW=["touchstart","touchmove"];function oW(o){return sW.includes(o)}const qc=Symbol("events"),dT=new Set,fS=new Set;function rW(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 is(o,e,t,i,n){var s={capture:i,passive:n},r=rW(o,e,t,s);(e===document.body||e===window||e===document||e instanceof HTMLMediaElement)&&Y0(()=>{e.removeEventListener(o,r,s)})}function ne(o,e,t){(e[qc]??(e[qc]={}))[o]=t}function _r(o){for(var e=0;e<o.length;e++)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){VF(o,"currentTarget",{configurable:!0,get(){return s||t}});var g=Yi,f=Qi;fr(null),Da(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),Da(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 aW(o){return(Jw==null?void 0:Jw.createHTML(o))??o}function hT(o){var e=XP("template");return e.innerHTML=aW(o.replaceAll("<!>","<!---->")),e.content}function th(o,e){var t=Qi;t.nodes===null&&(t.nodes={start:o,end:e,a:null,t:null})}function R(o,e){var t=(e&_H)!==0,i=(e&vH)!==0,n,s=!o.startsWith("<!>");return()=>{n===void 0&&(n=hT(s?o:"<!>"+o),t||(n=va(n)));var r=i||qP?document.importNode(n,!0):n.cloneNode(!0);if(t){var a=va(r),c=r.lastChild;th(a,c)}else th(r,r);return r}}function lW(o,e,t="svg"){var i=!o.startsWith("<!>"),n=`<${t}>${i?o:"<!>"+o}</${t}>`,s;return()=>{if(!s){var r=hT(n),a=va(r);s=va(a)}var c=s.cloneNode(!0);return th(c,c),c}}function uT(o,e){return lW(o,e,"svg")}function Fr(o=""){{var e=tl(o+"");return th(e,e),e}}function Ts(){var o=document.createDocumentFragment(),e=document.createComment(""),t=tl();return o.append(e,t),th(e,t),o}function T(o,e){o!==null&&o.before(e)}function K(o,e){var t=e==null?"":typeof e=="object"?`${e}`:e;t!==(o[Jg]??(o[Jg]=o.nodeValue))&&(o[Jg]=t,o.nodeValue=`${t}`)}function cW(o,e){return dW(o,e)}const Sm=new Map;function dW(o,{target:e,anchor:t,props:i={},events:n,context:s,intro:r=!0,transformError:a}){GH();var c=void 0,h=QH(()=>{var g=t??e.appendChild(tl());AH(g,{pending:()=>{}},v=>{Po({});var _=Ws;s&&(_.c=s),n&&(i.$$events=n),c=o(v,i)||{},To()},a);var f=new Set,p=v=>{for(var _=0;_<v.length;_++){var y=v[_];if(!f.has(y)){f.add(y);var S=oW(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 hW.set(c,h),c}let hW=new WeakMap;var kr,ca,Ho,Jc,Ip,Dp,Uv;class uW{constructor(e,t=!0){Oi(this,"anchor");Ii(this,kr,new Map);Ii(this,ca,new Map);Ii(this,Ho,new Map);Ii(this,Jc,new Set);Ii(this,Ip,!0);Ii(this,Dp,e=>{if(ee(this,kr).has(e)){var t=ee(this,kr).get(e),i=ee(this,ca).get(t);if(i)A_(i),ee(this,Jc).delete(t);else{var n=ee(this,Ho).get(t);n&&(A_(n.effect),ee(this,ca).set(t,n.effect),ee(this,Ho).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,Ho).get(r);a&&(Io(a.effect),ee(this,Ho).delete(r))}for(const[s,r]of ee(this,ca)){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(tl()),ee(this,Ho).set(s,{effect:r,fragment:h})}else Io(r);ee(this,Jc).delete(s),ee(this,ca).delete(s)};ee(this,Ip)||!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,Ho))t.includes(i)||(Io(n.effect),ee(this,Ho).delete(i))});this.anchor=e,Di(this,Ip,t)}ensure(e,t){var i=ui,n=ZP();if(t&&!ee(this,ca).has(e)&&!ee(this,Ho).has(e))if(n){var s=document.createDocumentFragment(),r=tl();s.append(r),ee(this,Ho).set(e,{effect:sr(()=>t(r)),fragment:s})}else ee(this,ca).set(e,sr(()=>t(this.anchor)));if(ee(this,kr).set(i,e),n){for(const[a,c]of ee(this,ca))a===e?i.unskip_effect(c):i.skip_effect(c);for(const[a,c]of ee(this,Ho))a===e?i.unskip_effect(c.effect):i.skip_effect(c.effect);i.oncommit(ee(this,Dp)),i.ondiscard(ee(this,Uv))}else ee(this,Dp).call(this,i)}}kr=new WeakMap,ca=new WeakMap,Ho=new WeakMap,Jc=new WeakMap,Ip=new WeakMap,Dp=new WeakMap,Uv=new WeakMap;function $(o,e,t=!1){var i=new uW(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 Nn(o,e){return e}function gW(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;ZH(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|=_a;const r=document.createDocumentFragment();t1(s,r)}else Io(e[n],t)}}var bk;function _i(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(tl())}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,fW(E,p,r,e,i),g!==null&&(p.length===0?(g.f&_a)===0?A_(g):(g.f^=_a,tf(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,V=new Set,F=ui,Y=ZP(),X=0;X<N;X+=1){var ue=p[X],Ee=i(ue,X),Ue=_?null:a.get(Ee);Ue?(Ue.v&&tg(Ue.v,ue),Ue.i&&tg(Ue.i,X),Y&&F.unskip_effect(Ue.e)):(Ue=pW(a,_?r:bk??(bk=tl()),ue,Ee,X,n,e,t),_||(Ue.e.f|=_a),a.set(Ee,Ue)),V.add(Ee)}if(N===0&&s&&!g&&(_?g=sr(()=>s(r)):(g=sr(()=>s(bk??(bk=tl()))),g.f|=_a)),N>V.size&&QF(),!_)if(v.set(F,V),Y){for(const[ve,ot]of a)V.has(ve)||F.skip_effect(ot.e);F.oncommit(y),F.ondiscard(S)}else y(F);u(f)}),E={effect:D,items:a,pending:v,outrogroups:null,fallback:g};_=!1}function Vg(o){for(;o!==null&&(o.f&Hr)===0;)o=o.next;return o}function fW(o,e,t,i,n){var Ue,ve,ot,Xt,Ct,Qt,Ft,ei,de;var s=(i&hH)!==0,r=e.length,a=o.items,c=Vg(o.effect.first),h,g=null,f,p=[],v=[],_,y,S,D;if(s)for(D=0;D<r;D+=1)_=e[D],y=n(_,D),S=a.get(y).e,(S.f&_a)===0&&((ve=(Ue=S.nodes)==null?void 0:Ue.a)==null||ve.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 xt of o.outrogroups)xt.pending.delete(S),xt.done.delete(S);if((S.f&lo)!==0&&(A_(S),s&&((Xt=(ot=S.nodes)==null?void 0:ot.a)==null||Xt.unfix(),(f??(f=new Set)).delete(S))),(S.f&_a)!==0)if(S.f^=_a,S===c)tf(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),tf(S,E,t),g=S,p=[],v=[],c=Vg(g.next);continue}if(S!==c){if(h!==void 0&&h.has(S)){if(p.length<v.length){var N=v[0],V;g=N.prev;var F=p[0],Y=p[p.length-1];for(V=0;V<p.length;V+=1)tf(p[V],N,t);for(V=0;V<v.length;V+=1)h.delete(v[V]);kl(o,F.prev,Y.next),kl(o,g,F),kl(o,Y,N),c=N,g=Y,D-=1,p=[],v=[]}else h.delete(S),tf(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=Vg(c.next);if(c===null)continue}(S.f&_a)===0&&p.push(S),g=S,c=Vg(S.next)}if(o.outrogroups!==null){for(const xt of o.outrogroups)xt.pending.size===0&&(mS(o,tw(xt.done)),(Ct=o.outrogroups)==null||Ct.delete(xt));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&lo)===0&&X.push(S);for(;c!==null;)(c.f&lo)===0&&c!==o.fallback&&X.push(c),c=Vg(c.next);var ue=X.length;if(ue>0){var Ee=(i&kP)!==0&&r===0?t:null;if(s){for(D=0;D<ue;D+=1)(Ft=(Qt=X[D].nodes)==null?void 0:Qt.a)==null||Ft.measure();for(D=0;D<ue;D+=1)(de=(ei=X[D].nodes)==null?void 0:ei.a)==null||de.fix()}gW(o,X,Ee)}}s&&Yl(()=>{var xt,Oe;if(f!==void 0)for(S of f)(Oe=(xt=S.nodes)==null?void 0:xt.a)==null||Oe.apply()})}function pW(o,e,t,i,n,s,r,a){var c=(r&cH)!==0?(r&uH)===0?$H(t,!1,!1):eh(t):null,h=(r&dH)!==0?eh(n):null;return{v:c,i:h,e:sr(()=>(s(e,c??t,h??n,a),()=>{o.delete(i)}))}}function tf(o,e,t){if(o.nodes)for(var i=o.nodes.start,n=o.nodes.end,s=e&&(e.f&_a)===0?e.nodes.start:t;i!==null;){var r=Kp(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=Qi;if(a!==(a=e()??"")){if(t){h.nodes=null,c.innerHTML=a,a!==""&&th(va(c),c.lastChild);return}if(h.nodes!==null&&(QP(h.nodes.start,h.nodes.end),h.nodes=null),a!==""){var g=i?bH:n?wH:void 0,f=XP(i?"svg":n?"math":"template",g);f.innerHTML=a;var p=i||n?f:f.content;if(th(va(p),p.lastChild),i||n)for(;va(p);)r.before(va(p));else r.before(p)}}})}const wk=[...`
|
|
3
|
+
\r\f \v\uFEFF`];function mW(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 _W(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=mW(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 jo(o,e,t,i){var n=o[rS];if(n!==e){var s=_W(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 SH();for(var i of o.options)i.selected=e.includes(yf(i));return}for(i of o.options){var n=yf(i);if(KH(n,e)){i.selected=!0;return}}(!t||e!==void 0)&&(o.selectedIndex=-1)}function vW(o){var e=new MutationObserver(()=>{gT(o,o.__value)});e.observe(o,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["value"]}),Y0(()=>{e.disconnect()})}function ga(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),yf);else{var c=o.querySelector(r)??o.querySelector("option:not([disabled])");a=c&&yf(c)}t(a),o.__value=a,ui!==null&&i.add(ui)}),J0(()=>{var s=e();if(o===document.activeElement){var r=ui;if(i.has(r))return}if(gT(o,s,n),n&&s===void 0){var a=o.querySelector(":checked");a!==null&&(s=yf(a),t(s))}o.__value=s,n=!1}),vW(o)}function yf(o){return"__value"in o?o.__value:o.value}const bW=Symbol("is custom element"),wW=Symbol("is html");function ty(o,e){var t=fT(o);t.checked!==(t.checked=e??void 0)&&(o.checked=e)}function Rn(o,e,t,i){var n=fT(o);n[e]!==(n[e]=t)&&(e==="loading"&&(o[YF]=t),t==null?o.removeAttribute(e):typeof t!="string"&&yW(o).includes(e)?o[e]=t:o.setAttribute(e,t))}function fT(o){return o[Qm]??(o[Qm]={[bW]:o.nodeName.includes("-"),[wW]:o.namespaceURI===IP})}var Sk=new Map;function yW(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=jF(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),ui!==null&&i.add(ui),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))}}}),bl(e)==null&&o.value&&(t(iy(o)?ny(o.value):o.value),ui!==null&&i.add(ui)),rw(()=>{var n=e();if(o===document.activeElement){var s=ui;if(i.has(s))return}iy(o)&&n===ny(o.value)||o.type==="date"&&!n&&!o.value||n!==o.value&&(o.value=n??"")})}function Es(o,e,t=e){Z0(o,"change",i=>{var n=i?o.defaultChecked:o.checked;t(n)}),bl(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,Ep,$v,pT;const qv=class qv{constructor(e){Ii(this,$v);Ii(this,Bl,new WeakMap);Ii(this,Tu);Ii(this,Ep);Di(this,Ep,e)}observe(e,t){var i=ee(this,Bl).get(e)||new Set;return i.add(t),ee(this,Bl).set(e,i),yn(this,$v,pT).call(this).observe(e,ee(this,Ep)),()=>{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,Ep=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)}}))},Oi(qv,"entries",new WeakMap);let _S=qv;var SW=new _S({box:"border-box"});function CW(o,e,t){var i=SW.observe(o,()=>t(o[e]));J0(()=>(bl(()=>t(o[e])),i))}function sy(o,e){return o===e||(o==null?void 0:o[id])===e}function bs(o={},e,t,i){var n=Ws.r,s=Qi;return J0(()=>{var r,a;return rw(()=>{r=a,a=[],bl(()=>{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 V;var n=!0,s=(t&pH)!==0,r=(t&mH)!==0,a=i,c=!0,h=void 0,g=()=>r&&n?(h??(h=Kf(i)),u(h)):(c&&(c=!1,a=r?bl(i):i),a);let f;if(s){var p=id in o||XF in o;f=((V=bu(o,e))==null?void 0:V.set)??(p&&e in o?F=>o[e]=F:void 0)}var v,_=!1;s?[v,_]=DH(()=>o[e]):v=o[e],v===void 0&&i!==void 0&&(v=g(),f&&(sH(),f(v)));var y;if(y=()=>{var F=o[e];return F===void 0?g():(c=!0,F)},(t&fH)===0)return y;if(f){var S=o.$$legacy;return(function(F,Y){return arguments.length>0?((!Y||S||_)&&f(Y?y():F),F):y()})}var D=!1,E=((t&gH)!==0?Kf:K0)(()=>(D=!1,y()));s&&u(E);var N=Qi;return(function(F,Y){if(arguments.length>0){const X=Y?u(E):s?wi(F):F;return I(E,X),D=!0,a!==void 0&&(a=X),F}return cl&&D||(N.f&hr)!==0?E.v:u(E)})}function vr(o){Ws===null&&LP(),Mn(()=>{const e=bl(o);if(typeof e=="function")return e})}function aw(o){Ws===null&&LP(),vr(()=>()=>bl(o))}const xW="5";var $D;typeof window<"u"&&(($D=window.__svelte??(window.__svelte={})).v??($D.v=new Set)).add(xW);/*!-----------------------------------------------------------------------------
|
|
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 LW=Object.defineProperty,kW=Object.getOwnPropertyDescriptor,IW=Object.getOwnPropertyNames,DW=Object.prototype.hasOwnProperty,EW=(o,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of IW(e))!DW.call(o,n)&&n!==t&&LW(o,n,{get:()=>e[n],enumerable:!(i=kW(e,n))||i.enumerable});return o},PW=(o,e,t)=>(EW(o,e,"default"),t),Zp={};PW(Zp,KD);var TW=class{constructor(e,t,i){this._onDidChange=new Zp.Emitter,this._languageId=e,this.setDiagnosticsOptions(t),this.setModeConfiguration(i)}get onDidChange(){return this._onDidChange.event}get languageId(){return this._languageId}get modeConfiguration(){return this._modeConfiguration}get diagnosticsOptions(){return this._diagnosticsOptions}setDiagnosticsOptions(e){this._diagnosticsOptions=e||Object.create(null),this._onDidChange.fire(this)}setModeConfiguration(e){this._modeConfiguration=e||Object.create(null),this._onDidChange.fire(this)}},MW={validate:!0,allowComments:!0,schemas:[],enableSchemaRequest:!1,schemaRequest:"warning",schemaValidation:"warning",comments:"error",trailingCommas:"error"},NW={documentFormattingEdits:!0,documentRangeFormattingEdits:!0,completionItems:!0,hovers:!0,documentSymbols:!0,tokens:!0,colors:!0,foldingRanges:!0,diagnostics:!0,selectionRanges:!0},mT=new TW("json",MW,NW),RW=()=>_T().then(o=>o.getWorker());Zp.languages.json={jsonDefaults:mT,getWorker:RW};function _T(){return qD(()=>import("./jsonMode-CXWNuhmR.js"),__vite__mapDeps([0,1,2]))}Zp.languages.register({id:"json",extensions:[".json",".bowerrc",".jshintrc",".jscsrc",".eslintrc",".babelrc",".har"],aliases:["JSON","json"],mimetypes:["application/json"]});Zp.languages.onLanguage("json",()=>{_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 AW=Object.defineProperty,OW=Object.getOwnPropertyDescriptor,FW=Object.getOwnPropertyNames,HW=Object.prototype.hasOwnProperty,WW=(o,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of FW(e))!HW.call(o,n)&&n!==t&&AW(o,n,{get:()=>e[n],enumerable:!(i=OW(e,n))||i.enumerable});return o},BW=(o,e,t)=>(WW(o,e,"default"),t),zW="5.4.5",sg={};BW(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)}},VW=zW,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),jW=()=>lw().then(o=>o.getTypeScriptWorker()),UW=()=>lw().then(o=>o.getJavaScriptWorker());sg.languages.typescript={ModuleKind:vT,JsxEmit:bT,NewLineKind:wT,ScriptTarget:yT,ModuleResolutionKind:ST,typescriptVersion:VW,typescriptDefaults:LT,javascriptDefaults:kT,getTypeScriptWorker:jW,getJavaScriptWorker:UW};function lw(){return qD(()=>import("./tsMode-X6DYzZOw.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 $W extends Qs{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:st.EditorTitle,order:22,group:"navigation"}})}run(e,...t){const i=e.get(xn),n=!i.getValue("diffEditor.hideUnchangedRegions.enabled");i.updateValue("diffEditor.hideUnchangedRegions.enabled",n)}}class IT extends Qs{constructor(){super({id:"diffEditor.toggleShowMovedCodeBlocks",title:St("toggleShowMovedCodeBlocks","Toggle Show Moved Code Blocks"),precondition:ae.has("isInDiffEditor")})}run(e,...t){const i=e.get(xn),n=!i.getValue("diffEditor.experimental.showMoves");i.updateValue("diffEditor.experimental.showMoves",n)}}class DT extends Qs{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(xn),n=!i.getValue("diffEditor.useInlineViewWhenSpaceIsLimited");i.updateValue("diffEditor.useInlineViewWhenSpaceIsLimited",n)}}const Xp=St("diffEditor","Diff Editor");class qW extends Wr{constructor(){super({id:"diffEditor.switchSide",title:St("switchSide","Switch Side"),icon:Zt.arrowSwap,precondition:ae.has("isInDiffEditor"),f1:!0,category:Xp})}runEditorCommand(e,t,i){const n=kg(e);if(n instanceof Pp){if(i&&i.dryRun)return{destinationSelection:n.mapToOtherSide().destinationSelection};n.switchSide()}}}class KW extends Wr{constructor(){super({id:"diffEditor.exitCompareMove",title:St("exitCompareMove","Exit Compare Move"),icon:Zt.close,precondition:M.comparingMovedCode,f1:!1,category:Xp,keybinding:{weight:1e4,primary:9}})}runEditorCommand(e,t,...i){const n=kg(e);n instanceof Pp&&n.exitCompareMove()}}class GW extends Wr{constructor(){super({id:"diffEditor.collapseAllUnchangedRegions",title:St("collapseAllUnchangedRegions","Collapse All Unchanged Regions"),icon:Zt.fold,precondition:ae.has("isInDiffEditor"),f1:!0,category:Xp})}runEditorCommand(e,t,...i){const n=kg(e);n instanceof Pp&&n.collapseAllUnchangedRegions()}}class ZW extends Wr{constructor(){super({id:"diffEditor.showAllUnchangedRegions",title:St("showAllUnchangedRegions","Show All Unchanged Regions"),icon:Zt.unfold,precondition:ae.has("isInDiffEditor"),f1:!0,category:Xp})}runEditorCommand(e,t,...i){const n=kg(e);n instanceof Pp&&n.showAllUnchangedRegions()}}class vS extends Qs{constructor(){super({id:"diffEditor.revert",title:St("revert","Revert"),f1:!1,category:Xp})}run(e,t){const i=XW(e,t.originalUri,t.modifiedUri);i instanceof Pp&&i.revertRangeMappings(t.mapping.innerChanges??[])}}const ET=St("accessibleDiffViewer","Accessible Diff Viewer"),Kv=class Kv extends Qs{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 Zf=Kv;const Gv=class Gv extends Qs{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 XW(o,e,t){return o.get(es).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(es).listDiffEditors(),i=GD();if(i)for(const n of t){const s=n.getContainerDomNode();if(YW(s,i))return n}return null}function YW(o,e){let t=e;for(;t;){if(t===o)return!0;t=t.parentElement}return!1}en($W);en(IT);en(DT);ur.appendMenuItem(st.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(st.EditorTitle,{command:{id:new IT().desc.id,title:w("showMoves","Show Moved Code Blocks"),icon:Zt.move,toggled:lA.create("config.diffEditor.experimental.showMoves",!0),precondition:ae.has("isInDiffEditor")},order:10,group:"1_diff",when:ae.has("isInDiffEditor")});en(vS);for(const o of[{icon:Zt.arrowRight,key:M.diffEditorInlineMode.toNegated()},{icon:Zt.discard,key:M.diffEditorInlineMode}])ur.appendMenuItem(st.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(st.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"});en(qW);en(KW);en(GW);en(ZW);ur.appendMenuItem(st.EditorTitle,{command:{id:Zf.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",Zf.id);en(Zf);mn.registerCommandAlias("editor.action.diffReview.prev",O_.id);en(O_);var JW=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},QW=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 Rs().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=JW([QW(1,Hi)],bc);class e3 extends ye{constructor(){super({id:"editor.action.setSelectionAnchor",label:w("setSelectionAnchor","Set Selection Anchor"),alias:"Set Selection Anchor",precondition:void 0,kbOpts:{kbExpr:M.editorTextFocus,primary:ns(2089,2080),weight:100}})}async run(e,t){var i;(i=bc.get(t))==null||i.setSelectionAnchor()}}class t3 extends ye{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 i3 extends ye{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:ns(2089,2089),weight:100}})}async run(e,t){var i;(i=bc.get(t))==null||i.selectFromAnchorToCursor()}}class n3 extends ye{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()}}vi(bc.ID,bc,4);ie(e3);ie(t3);ie(i3);ie(n3);const s3=mt("editorOverviewRuler.bracketMatchForeground","#A0A0A0",w("overviewRulerBracketMatchForeground","Overview ruler marker color for matching brackets."));class o3 extends ye{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 r3 extends ye{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 a3 extends ye{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 l3{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(Lt.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 l3(v,_,y)}}this._lastBracketsData=a,this._lastVersionId=i}};Nl.ID="editor.contrib.bracketMatchingController",Nl._DECORATION_OPTIONS_WITH_OVERVIEW_RULER=xi.register({description:"bracket-match-overview",stickiness:1,className:"bracket-match",overviewRuler:{color:os(s3),position:wa.Center}}),Nl._DECORATION_OPTIONS_WITHOUT_OVERVIEW_RULER=xi.register({description:"bracket-match-no-overview",stickiness:1,className:"bracket-match"});let ih=Nl;vi(ih.ID,ih,1);ie(r3);ie(o3);ie(a3);ur.appendMenuItem(st.MenubarGoMenu,{group:"5_infile_nav",command:{id:"editor.action.jumpToBracket",title:w({key:"miGoToBracket",comment:["&& denotes a mnemonic"]},"Go to &&Bracket")},order:2});class c3{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 ye{constructor(e,t){super(t),this.left=e}run(e,t){if(!t.hasModel())return;const i=[],n=t.getSelections();for(const s of n)i.push(new c3(s,this.left));t.pushUndoStop(),t.executeCommands(this.id,i),t.pushUndoStop()}}class d3 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 h3 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})}}ie(d3);ie(h3);class u3 extends ye{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 Tp(y,_+v))}n.length>0&&(t.pushUndoStop(),t.executeCommands(this.id,n),t.pushUndoStop())}}ie(u3);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 g3(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 Ja.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("#"))}),sa=class sa{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+sa.sep)}intersects(e){return this.contains(e)||e.contains(this)}append(...e){return new sa((this.value?[this.value,...e]:e).join(sa.sep))}};sa.sep=".",sa.None=new sa("@@none@@"),sa.Empty=new sa("");let Cn=sa;const Ck={EDITORS:"CodeEditors",FILES:"CodeFiles"};class f3{}const p3={DragAndDropContribution:"workbench.contributions.dragAndDrop"};Br.add(p3.DragAndDropContribution,new f3);const Mf=class Mf{constructor(){}static getInstance(){return Mf.INSTANCE}hasData(e){return e&&e===this.proto}getData(e){if(this.hasData(e))return this.data}};Mf.INSTANCE=new Mf;let wS=Mf;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,m3(n))}}return e}function m3(o){const e=o.path?sn.parse(o.path):void 0;return g3(o.name,e,async()=>new Uint8Array(await o.arrayBuffer()))}const _3=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(vs.uriList,i);else if(e||!t.has(vs.uriList)){const n=[];for(const s of o.items){const r=s.getAsFile();if(r){const a=r.path;try{a?n.push(sn.file(a).toString()):n.push(sn.parse(r.name,!0).toString())}catch{}}}n.length&&t.replace(vs.uriList,i1(hw.create(n)))}for(const n of _3)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},Xf=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 Nf=class Nf extends s1{constructor(){super(...arguments),this.kind=Nf.kind,this.dropMimeTypes=[vs.text],this.pasteMimeTypes=[vs.text]}async getEdit(e,t){const i=e.get(vs.text);if(!i||e.has(vs.uriList))return;const n=await i.asString();return{handledMimeType:vs.text,title:w("text.label","Insert Plain Text"),insertText:n,kind:this.kind}}};Nf.id="text",Nf.kind=new Cn("text.plain");let nh=Nf;class OT extends s1{constructor(){super(...arguments),this.kind=new Cn("uri.absolute"),this.dropMimeTypes=[vs.uriList],this.pasteMimeTypes=[vs.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===Gs.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:vs.uriList,insertText:s,title:r,kind:this.kind}}}let H_=class extends s1{constructor(e){super(),this._workspaceContextService=e,this.kind=new Cn("uri.relative"),this.dropMimeTypes=[vs.uriList],this.pasteMimeTypes=[vs.uriList]}async getEdit(e,t){const i=await FT(e);if(!i.length||t.isCancellationRequested)return;const n=sl(i.map(({uri:s})=>{const r=this._workspaceContextService.getWorkspaceFolder(s);return r?cA(r.uri,s):void 0}));if(n.length)return{handledMimeType:vs.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([Xf(0,Vu)],H_);class v3{constructor(){this.kind=new Cn("html"),this.pasteMimeTypes=["text/html"],this._yieldTo=[{mimeType:vs.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(vs.uriList);if(!e)return[];const t=await e.asString(),i=[];for(const n of hw.parse(t))try{i.push({uri:sn.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([Xf(0,kt),Xf(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 v3))}};SS=n1([Xf(0,kt),Xf(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 ao&&this._children[this._children.length-1]instanceof ao?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 Yp)return e;e=e.parent}}toString(){return this.children.reduce((e,t)=>e+t.toString(),"")}len(){return 0}}let ao=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 Vo 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 Vo(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 ao&&(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 Yf 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 ao(t)],!0):!1}clone(){const e=new Yf(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 Yp extends Ig{get placeholderInfo(){if(!this._placeholders){const e=[];let t;this.walk(function(i){return i instanceof Vo&&(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 Vo&&t.push(i),i=i.parent;return t}resolveVariables(e){return this.walk(t=>(t instanceof Yf&&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 Yp;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 Yp;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 Vo&&(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 Vo(c.index);f.transform=c.transform;for(const p of g){const v=p.clone();f.appendChild(v),v instanceof Vo&&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 Vo(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 ao(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 Vo(Number(t)):new Yf(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 Vo(Number(t));if(this._accept(1))for(;;){if(this._accept(4))return e.appendChild(s),!0;if(!this._parse(s))return e.appendChild(new ao("${"+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 ao(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 Yf(t);if(this._accept(1))for(;;){if(this._accept(4))return e.appendChild(s),!0;if(!this._parse(s))return e.appendChild(new ao("${"+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 ao(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 ao(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 dA(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 b3=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},w3=function(o,e){return function(t,i){e(t,i,o)}};const y3=xi.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(Fi(this.domNode,On.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 Do),this._currentWidget=this._register(new Do),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=Of(()=>{const a=B.fromPositions(e);this._currentDecorations.set([{range:a,options:y3}]).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_=b3([w3(2,di)],W_);var S3=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Lk=function(o,e){return function(t,i){e(t,i,o)}},o_,Ql;let co=(Ql=class{static get(e){return e.getContribution(o_.ID)}constructor(e,t,i){this._openerService=i,this._messageWidget=new Do,this._messageListeners=new ze,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)?hA(e,{actionHandler:{callback:n=>{this.closeMessage(),uA(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&&gA(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(Fi(this._messageWidget.value.getDomNode(),On.MOUSE_ENTER,()=>this._mouseOverMessage=!0,!0)),this._messageListeners.add(Fi(this._messageWidget.value.getDomNode(),On.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);co=o_=S3([Lk(1,Hi),Lk(2,zr)],co);const C3=eo.bindToContribution(co.get);Et(new C3({id:"leaveEditorMessage",precondition:co.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)}};vi(co.ID,co,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=sl(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(Sn(()=>this.visibleContext.reset())),this.editor.addContentWidget(this),this.editor.layoutContentWidget(this),this._register(Sn((()=>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 fA(this.domNode,{supportIcons:!0})),this.button.label="$(insert)",this._register(Fi(this.domNode,On.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=Xs(this.button.element);return{x:e.left+e.width,y:e.top+e.height}},getActions:()=>this.edits.allEdits.map((e,t)=>pA({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,Hi),yu(9,ss)],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 Do),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,di),yu(5,Ab),yu(6,Vs)],z_);var x3=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(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 dl=(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(Fi(c,"copy",h=>this.handleCopy(h))),this._register(Fi(c,"cut",h=>this.handleCopy(h))),this._register(Fi(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 V=sl(await Promise.all(g.map(async F=>{try{return await F.prepareDocumentPaste(t,s,f,N)}catch(Y){console.error(Y);return}})));V.reverse();for(const F of V)for(const[Y,X]of F)f.replace(Y,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=co.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)??[],vs.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=co.get(this._editor))==null||i.showMessage(w("pasteAsError","No paste edits for '{0}' found",t instanceof Cn?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 ze,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,V)=>new Promise((F,Y)=>{(async()=>{var X,ue;try{const Ee=(ue=(X=N.provider).resolveDocumentPasteEdit)==null?void 0:ue.call(X,N,V),Ue=new Fb,ve=Ee&&await this._pasteProgressManager.showWhile(t[0].getEndPosition(),w("resolveProcess","Resolving paste edit. Click to cancel"),Promise.race([Ue.p,Ee]),{cancel:()=>(Ue.cancel(),Y(new Hb))},0);return ve&&(N.additionalEdit=ve.additionalEdit),F(N)}catch(Ee){return Y(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 ze,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 Cn?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 Cn?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]=mA.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(vs.uriList)){const s=await this._clipboardService.readResources();if(i.isCancellationRequested)return;s.length&&e.append(vs.uriList,i1(hw.create(s)))}}async getPasteEdits(e,t,i,n,s,r){const a=new ze,c=await Mp(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=sl(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(vs.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 Cn?e.providedPasteEditKinds?e.providedPasteEditKinds.some(i=>t.contains(i)):!0:e.id===t.providerId}},Oc=ud,ud.ID="editor.contrib.copyPasteActionController",ud);dl=Oc=x3([Ah(1,di),Ah(2,Ab),Ah(3,wg),Ah(4,kt),Ah(5,fl),Ah(6,_A)],dl);const oh="9_cutcopypaste",L3=yg||document.queryCommandSupported("cut"),UT=yg||document.queryCommandSupported("copy"),k3=typeof navigator.clipboard>"u"||vA?document.queryCommandSupported("paste"):!0;function a1(o){return o.register(),o}const I3=L3?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:st.MenubarEditMenu,group:"2_ccp",title:w({key:"miCut",comment:["&& denotes a mnemonic"]},"Cu&&t"),order:1},{menuId:st.EditorContext,group:oh,title:w("actions.clipboard.cutLabel","Cut"),when:M.writable,order:1},{menuId:st.CommandPalette,group:"",title:w("actions.clipboard.cutLabel","Cut"),order:1},{menuId:st.SimpleEditorContext,group:oh,title:w("actions.clipboard.cutLabel","Cut"),when:M.writable,order:1}]})):void 0,D3=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:st.MenubarEditMenu,group:"2_ccp",title:w({key:"miCopy",comment:["&& denotes a mnemonic"]},"&&Copy"),order:2},{menuId:st.EditorContext,group:oh,title:w("actions.clipboard.copyLabel","Copy"),order:2},{menuId:st.CommandPalette,group:"",title:w("actions.clipboard.copyLabel","Copy"),order:1},{menuId:st.SimpleEditorContext,group:oh,title:w("actions.clipboard.copyLabel","Copy"),order:2}]})):void 0;ur.appendMenuItem(st.MenubarEditMenu,{submenu:st.MenubarCopy,title:St("copy as","Copy As"),group:"2_ccp",order:3});ur.appendMenuItem(st.EditorContext,{submenu:st.EditorContextCopy,title:St("copy as","Copy As"),group:oh,order:3});ur.appendMenuItem(st.EditorContext,{submenu:st.EditorContextShare,title:St("share","Share"),group:"11_share",order:-1,when:ae.and(ae.notEquals("resourceScheme","output"),M.editorTextFocus)});ur.appendMenuItem(st.ExplorerContext,{submenu:st.ExplorerContextShare,title:St("share","Share"),group:"11_share",order:-1});const ay=k3?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:st.MenubarEditMenu,group:"2_ccp",title:w({key:"miPaste",comment:["&& denotes a mnemonic"]},"&&Paste"),order:4},{menuId:st.EditorContext,group:oh,title:w("actions.clipboard.pasteLabel","Paste"),when:M.writable,order:4},{menuId:st.CommandPalette,group:"",title:w("actions.clipboard.pasteLabel","Paste"),order:1},{menuId:st.SimpleEditorContext,group:oh,title:w("actions.clipboard.pasteLabel","Paste"),when:M.writable,order:4}]})):void 0;class E3 extends ye{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(es).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(I3,"cut");$T(D3,"copy");ay&&(ay.addImplementation(1e4,"code-editor",(o,e)=>{var s;const t=o.get(es),i=o.get(wg),n=t.getFocusedCodeEditor();return n&&n.hasTextFocus()?n.getContainerDomNode().ownerDocument.execCommand("paste")?((s=dl.get(n))==null?void 0:s.finishedPaste())??Promise.resolve():bA?(async()=>{const a=await i.readText();if(a!==""){const c=wA.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&&ie(E3);const fn=new class{constructor(){this.QuickFix=new Cn("quickfix"),this.Refactor=new Cn("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 Cn("notebook"),this.Source=new Cn("source"),this.SourceOrganizeImports=this.Source.append("organizeImports"),this.SourceFixAll=this.Source.append("fixAll"),this.SurroundWith=this.Refactor.append("surround")}};var fo;(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"})(fo||(fo={}));function P3(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 T3(o,e){const t=e.kind?new Cn(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 fa{static fromUser(e,t){return!e||typeof e!="object"?new fa(t.kind,t.apply,!1):new fa(fa.getKindFromUser(e,t.kind),fa.getApplyFromUser(e,t.apply),fa.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 Cn(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 M3{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){Qn(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 Sf 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:Lo(e.diagnostics)?Lo(t.diagnostics)?Sf.codeActionsPreferredComparator(e,t):-1:Lo(t.diagnostics)?1:Sf.codeActionsPreferredComparator(e,t)}constructor(e,t,i){super(),this.documentation=t,this._register(i),this.allActions=[...e].sort(Sf.codeActionsComparator),this.validActions=this.allActions.filter(({action:n})=>!n.disabled)}get hasAutoFix(){return this.validActions.some(({action:e})=>!!e.kind&&fn.QuickFix.contains(new Cn(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 yA(e,s),g=i.type===2,f=N3(o,e,g?a:r),p=new ze,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(V=>V&&T3(r,V)),N=A3(S,E,r.include);return{actions:E.map(V=>new M3(V,S)),documentation:N}}catch(D){if(xc(D))throw D;return Qn(D),Ek}}),_=o.onDidChange(()=>{const S=o.all(e);xa(S,f)||h.cancel()});try{const S=await Promise.all(v),D=S.map(N=>N.actions).flat(),E=[...sl(S.map(N=>N.documentation)),...R3(o,e,i,D)];return new Sf(D,E,p)}finally{_.dispose(),h.dispose()}}function N3(o,e,t){return o.all(e).filter(i=>i.providedCodeActionKinds?i.providedCodeActionKinds.some(n=>P3(t,new Cn(n))):!0)}function*R3(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 A3(o,e,t){if(!o.documentation)return;const i=o.documentation.map(n=>({kind:new Cn(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 Cn(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 O3(o,e,t,i,n=pi.None){var h;const s=o.get(Ab),r=o.get(us),a=o.get(Vr),c=o.get(Vs);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=F3(g);c.error(typeof f=="string"?f:w("applyCodeActionFailed","An unknown error occurred while applying the code action"))}}function F3(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 sn))throw Qa();const{codeActionProvider:s}=o.get(kt),r=o.get(js).getModel(e);if(!r)throw Qa();const a=Ut.isISelection(t)?Ut.liftSelection(t):B.isIRange(t)?r.validateRange(t):void 0;if(!a)throw Qa();const c=typeof i=="string"?new Cn(i):void 0,h=await ru(s,r,a,{type:1,triggerAction:fo.Default,filter:{includeSourceActions:!0,include:c}},Ga.None,pi.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(pi.None));try{return await Promise.all(g),h.validActions.map(p=>p.action)}finally{setTimeout(()=>h.dispose(),100)}});var H3=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},W3=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,...fa.fromUser(i,{kind:Cn.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 Cn(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=H3([W3(0,ss)],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:Cn.Empty,title:w("codeAction.widget.id.more","More Actions...")}),B3=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 z3(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=B3.map(s=>({group:s,actions:[]}));for(const s of o){const r=s.action.kind?new Cn(s.action.kind):Cn.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 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},j3=function(o,e){return function(t,i){e(t,i,o)}},Xh;const Pk=Zn("gutter-lightbulb",Zt.lightBulb,w("gutterLightbulbWidget","Icon which spawns code actions menu from the gutter when there is no space in the editor.")),Tk=Zn("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=Zn("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=Zn("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=Zn("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 Xa;let Jf=(Xa=class extends je{constructor(e,t){super(),this._editor=e,this._keybindingService=t,this._onClick=this._register(new fi),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(SA(this._domNode,i=>{if(this.state.type!==1)return;this._editor.focus(),i.preventDefault();const{top:n,height:s}=Xs(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(Fi(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}=Xs(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,_=F=>F>2&&this._editor.getTopForLineNumber(F)===this._editor.getTopForLineNumber(F-1),y=this._editor.getLineDecorations(a);let S=!1;if(y)for(const F of y){const Y=F.options.glyphMarginClassName;if(Y&&!this.lightbulbClasses.some(X=>Y.includes(X))){S=!0;break}}let D=a,E=1;if(!v){const F=Y=>{const X=r.getLineContent(Y);return/^\s*$|^\s+/.test(X)||X.length<=E};if(a>1&&!_(a-1)){const Y=r.getLineCount(),X=a===Y,ue=a>1&&F(a-1),Ee=!X&&F(a+1),Ue=F(a),ve=!Ee&&!ue;if(!Ee&&!ue&&!S)return this.gutterState=new Cr.Showing(e,t,i,{position:{lineNumber:D,column:E},preference:Xh._posPref}),this.renderGutterLightbub(),this.hide();ue||X||ue&&!Ue?D-=1:(Ee||ve&&Ue)&&(D+=1)}else if(a===1&&(a===r.getLineCount()||!F(a+1)&&!F(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,V=e.validActions[0].action.kind;if(N.length!==1||!V){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=xi.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=Xa,Xa.GUTTER_DECORATION=xi.register({description:"codicon-gutter-lightbulb-decoration",glyphMarginClassName:qi.asClassName(Zt.lightBulb),glyphMargin:{position:w_.Left},stickiness:1}),Xa.ID="editor.contrib.lightbulbWidget",Xa._posPref=[0],Xa);Jf=Xh=V3([j3(1,ss)],Jf);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 U3{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),CA(!!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,ss)],MS);class $3 extends UIEvent{constructor(){super("acceptSelectedAction")}}class Ak extends UIEvent{constructor(){super("previewSelectedAction")}}function q3(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 U3],{keyboardSupport:!1,typeNavigationEnabled:!0,keyboardNavigationLabelProvider:{getKeyboardNavigationLabel:q3},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(xA),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 $3;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,ss)],NS);function tM(o){return o.replace(/\r\n|\r|\n/g," ")}var K3=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(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=pl("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 Do)}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 ze,r=document.createElement("div"),a=e.appendChild(r);a.classList.add("context-view-block"),s.add(Fi(a,On.MOUSE_DOWN,_=>_.stopPropagation()));const c=document.createElement("div"),h=e.appendChild(c);h.classList.add("context-view-pointerBlock"),s.add(Fi(h,On.POINTER_MOVE,()=>h.remove())),s.add(Fi(h,On.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 Ff(i);return n.push(t,{icon:!1,label:!0}),n}_onWidgetClosed(e){var t;(t=this._list.value)==null||t.hide(e)}};ah=K3([ly(0,Wb),ly(1,Hi),ly(2,di)],ah);ml(wh,ah,1);const Jp=1100;en(class extends Qs{constructor(){super({id:"hideCodeActionWidget",title:St("hideCodeActionWidget.title","Hide action widget"),precondition:rh.Visible,keybinding:{weight:Jp,primary:9,secondary:[1033]}})}run(o){o.get(wh).hide(!0)}});en(class extends Qs{constructor(){super({id:"selectPrevCodeAction",title:St("selectPrevCodeAction.title","Select previous action"),precondition:rh.Visible,keybinding:{weight:Jp,primary:16,secondary:[2064],mac:{primary:16,secondary:[2064,302]}}})}run(o){const e=o.get(wh);e instanceof ah&&e.focusPrevious()}});en(class extends Qs{constructor(){super({id:"selectNextCodeAction",title:St("selectNextCodeAction.title","Select next action"),precondition:rh.Visible,keybinding:{weight:Jp,primary:18,secondary:[2066],mac:{primary:18,secondary:[2066,300]}}})}run(o){const e=o.get(wh);e instanceof ah&&e.focusNext()}});en(class extends Qs{constructor(){super({id:QT,title:St("acceptSelected.title","Accept selected action"),precondition:rh.Visible,keybinding:{weight:Jp,primary:3,secondary:[2137]}})}run(o){const e=o.get(wh);e instanceof ah&&e.acceptSelected()}});en(class extends Qs{constructor(){super({id:eM,title:St("previewSelected.title","Preview selected action"),precondition:rh.Visible,keybinding:{weight:Jp,primary:2051}})}run(o){const e=o.get(wh);e instanceof ah&&e.acceptSelected(!0)}});const iM=new Pi("supportedCodeAction",""),Ok="_typescript.applyFixAllCodeAction";class G3 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 Np),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:fo.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 Z3 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 Do),this._state=Bc.Empty,this._onDidChangeState=this._register(new fi),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 G3(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===fo.QuickFix||(f=(g=i.trigger.filter)==null?void 0:g.include)!=null&&f.contains(fn.QuickFix))){const V=await ru(this._registry,e,i.selection,i.trigger,Ga.None,h),F=[...V.allActions];if(h.isCancellationRequested)return nM;const Y=(p=V.validActions)==null?void 0:p.some(ue=>ue.action.kind?fn.QuickFix.contains(new Cn(ue.action.kind)):!1),X=this._markerService.read({resource:e.uri});if(Y){for(const ue of V.validActions)(_=(v=ue.action.command)==null?void 0:v.arguments)!=null&&_.some(Ee=>typeof Ee=="string"&&Ee.includes(Ok))&&(ue.action.diagnostics=[...X.filter(Ee=>Ee.relatedInformation)]);return{validActions:V.validActions,allActions:F,documentation:V.documentation,hasAutoFix:V.hasAutoFix,hasAIFix:V.hasAIFix,allAIFixes:V.allAIFixes,dispose:()=>{V.dispose()}}}else if(!Y&&X.length>0){const ue=i.selection.getPosition();let Ee=ue,Ue=Number.MAX_VALUE;const ve=[...V.validActions];for(const Xt of X){const Ct=Xt.endColumn,Qt=Xt.endLineNumber,Ft=Xt.startLineNumber;if(Qt===ue.lineNumber||Ft===ue.lineNumber){Ee=new Lt(Qt,Ct);const ei={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),xt=await ru(this._registry,e,de,ei,Ga.None,h);if(xt.validActions.length!==0){for(const Oe of xt.validActions)(N=(E=Oe.action.command)==null?void 0:E.arguments)!=null&&N.some(Xe=>typeof Xe=="string"&&Xe.includes(Ok))&&(Oe.action.diagnostics=[...X.filter(Xe=>Xe.relatedInformation)]);V.allActions.length===0&&F.push(...xt.allActions),Math.abs(ue.column-Ct)<Ue?ve.unshift(...xt.validActions):ve.push(...xt.validActions)}Ue=Math.abs(ue.column-Ct)}}const ot=ve.filter((Xt,Ct,Qt)=>Qt.findIndex(Ft=>Ft.action.title===Xt.action.title)===Ct);return ot.sort((Xt,Ct)=>Xt.action.isPreferred&&!Ct.action.isPreferred?-1:!Xt.action.isPreferred&&Ct.action.isPreferred||Xt.action.isAI&&!Ct.action.isAI?1:!Xt.action.isAI&&Ct.action.isAI?-1:0),{validActions:ot,allActions:F,documentation:V.documentation,hasAutoFix:V.hasAutoFix,hasAIFix:V.hasAIFix,allAIFixes:V.allAIFixes,dispose:()=>{V.dispose()}}}}if(i.trigger.type===1){const V=new go,F=await ru(this._registry,e,i.selection,i.trigger,Ga.None,h);return this._telemetryService&&this._telemetryService.publicLog2("codeAction.invokedDurations",{codeActions:F.validActions.length,duration:V.elapsed()}),F}return ru(this._registry,e,i.selection,i.trigger,Ga.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:fo.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 X3=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Qr=function(o,e){return function(t,i){e(t,i,o)}},Yh;const Y3="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 Do),this._showDisabled=!1,this._disposed=!1,this._editor=e,this._model=this._register(new Z3(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(Jf.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=co.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(O3,e,n,{preview:i,editor:this._editor})}finally{t&&this._trigger({type:2,triggerAction:fo.QuickFix,filter:{}})}}hideLightBulbWidget(){var e,t;(e=this._lightBulbWidget.rawValue)==null||e.hide(),(t=this._lightBulbWidget.rawValue)==null||t.gutterHide()}async update(e){var n,s,r,a,c;if(e.type!==1){this.hideLightBulbWidget();return}let t;try{t=await e.actions}catch(h){cn(h);return}if(this._disposed)return;const i=this._editor.getSelection();if((i==null?void 0:i.startLineNumber)===e.position.lineNumber)if((n=this._lightBulbWidget.value)==null||n.update(t,e.trigger,e.position),e.trigger.type===1){if((s=e.trigger.filter)!=null&&s.include){const g=this.tryGetValidActionToApply(e.trigger,t);if(g){try{this.hideLightBulbWidget(),await this._applyCodeAction(g,!1,!1,Kc.FromCodeActions)}finally{t.dispose()}return}if(e.trigger.context){const f=this.getInvalidActionThatWouldHaveBeenApplied(e.trigger,t);if(f&&f.action.disabled){(r=co.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=co.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=Lt.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 Cn(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,z3(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=Xs(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=xi.register({description:"quickfix-highlight",className:Y3}),ec);og=Yh=X3([Qr(1,S0),Qr(2,Hi),Qr(3,di),Qr(4,kt),Qr(5,Rp),Qr(6,us),Qr(7,xn),Qr(8,wh),Qr(9,di),Qr(10,Vr)],og);Bb((o,e)=>{((n,s)=>{s&&e.addRule(`.monaco-editor ${n} { background-color: ${s}; }`)})(".quickfix-edit-highlight",o.getColor(LA));const i=o.getColor(QD);i&&e.addRule(`.monaco-editor .quickfix-edit-highlight { border: 1px ${Hf(o.type)?"dotted":"solid"} ${i}; box-sizing: border-box; }`)});function Qp(o){return ae.regex(iM.keys()[0],new RegExp("(\\s|^)"+Wf(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=fo.Default){if(o.hasModel()){const s=og.get(o);s==null||s.manualTriggerAtCurrentPosition(e,n,t,i)}}class J3 extends ye{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,fo.QuickFix)}}class Q3 extends eo{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=fa.fromUser(i,{kind:Cn.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 eB extends ye{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,Qp(fn.Refactor))},metadata:{description:"Refactor...",args:[{name:"args",schema:c1}]}})}run(e,t,i){const n=fa.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:Cn.None,onlyIncludePreferredActions:n.preferred},n.apply,fo.Refactor)}}class tB extends ye{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,Qp(fn.Source))},metadata:{description:"Source Action...",args:[{name:"args",schema:c1}]}})}run(e,t,i){const n=fa.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:Cn.None,includeSourceActions:!0,onlyIncludePreferredActions:n.preferred},n.apply,fo.SourceAction)}}class iB extends ye{constructor(){super({id:IS,label:w("organizeImports.label","Organize Imports"),alias:"Organize Imports",precondition:ae.and(M.writable,Qp(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",fo.OrganizeImports)}}class nB extends ye{constructor(){super({id:DS,label:w("fixAll.label","Fix All"),alias:"Fix All",precondition:ae.and(M.writable,Qp(fn.SourceFixAll))})}run(e,t){return yh(t,w("fixAll.noneMessage","No fix all action available"),{include:fn.SourceFixAll,includeSourceActions:!0},"ifSingle",fo.FixAll)}}class sB extends ye{constructor(){super({id:GT,label:w("autoFix.label","Auto Fix..."),alias:"Auto Fix...",precondition:ae.and(M.writable,Qp(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",fo.AutoFix)}}vi(og.ID,og,3);vi(Jf.ID,Jf,4);ie(J3);ie(eB);ie(tB);ie(iB);ie(sB);ie(nB);Et(new Q3);Br.as(Ap.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(Ap.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(Ap.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 ze}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){Qn(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;Bi(sn.isUri(t)),Bi(typeof i=="number"||!i);const{codeLensProvider:n}=o.get(kt),s=o.get(js).getModel(t);if(!s)throw Qa();const r=[],a=new ze;return sM(n,s,pi.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,pi.None)).then(f=>r.push(f||g.symbol)));return Promise.all(h)}).then(()=>r).finally(()=>{setTimeout(()=>a.dispose(),100)})});var oB=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},rB=function(o,e){return function(t,i){e(t,i,o)}};const oM=pl("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 Op(20,.75);const t="codelens/cache";kA(IA,()=>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=oB([rB(0,Lc)],AS);ml(oM,AS,1);class aB{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 Rf=class Rf{constructor(e,t){this.allowEditorOverflow=!1,this.suppressMouseDown=!0,this._commands=new Map,this._isEmpty=!0,this._editor=e,this._id=`codelens.widget-${Rf._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=DA(r.command.title.trim());if(r.command.id){const c=`c${Rf._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}};Rf._idPool=0;let OS=Rf;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=xi.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 aB(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 lB=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},jg=function(o,e){return function(t,i){e(t,i,o)}},Mu;let Qf=(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 ze,this._localToDispose=new ze,this._lenses=[],this._oldCodeLensModels=new ze,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&&Of(()=>{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()},cn)},this._provideCodeLensDebounce.get(e));this._localToDispose.add(i),this._localToDispose.add(Sn(()=>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(Sn(()=>{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},Qn):(f[_]=v.symbol,Promise.resolve(void 0)));return Promise.all(p).then(()=>{!a.isCancellationRequested&&!i[g].isDisposed()&&i[g].updateCommands(f)})});return Promise.all(c)});this._resolveCodeLensesPromise=s,this._resolveCodeLensesPromise.then(()=>{const a=this._resolveCodeLensesDebounce.update(e,Date.now()-n);this._resolveCodeLensesScheduler.delay=a,this._currentCodeLensModel&&this._codeLensCache.put(e,this._currentCodeLensModel),this._oldCodeLensModels.clear(),s===this._resolveCodeLensesPromise&&(this._resolveCodeLensesPromise=void 0)},a=>{cn(a),s===this._resolveCodeLensesPromise&&(this._resolveCodeLensesPromise=void 0)})}async getModel(){var e;return await this._getCodeLensModelPromise,await this._resolveCodeLensesPromise,(e=this._currentCodeLensModel)!=null&&e.isDisposed?void 0:this._currentCodeLensModel}},Mu.ID="css.editor.codeLens",Mu);Qf=lB([jg(1,kt),jg(2,$o),jg(3,us),jg(4,Vs),jg(5,oM)],Qf);vi(Qf.ID,Qf,1);ie(class extends ye{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(fl),n=e.get(us),s=e.get(Vs),r=t.getSelection().positionLineNumber,a=t.getContribution(Qf.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 ep=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 Si(new Ku(Math.round(255*s.red),Math.round(255*s.green),Math.round(255*s.blue),r)),c=r?Si.Format.CSS.formatRGB(a):Si.Format.CSS.formatRGBA(a),h=r?Si.Format.CSS.formatHSL(a):Si.Format.CSS.formatHSLA(a),g=r?Si.Format.CSS.formatHex(a):Si.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}};ep=rM([FS(0,_l)],ep);let HS=class extends je{constructor(e,t){super(),this._register(e.colorProvider.register("*",new ep(t)))}};HS=rM([FS(0,kt),FS(1,_l)],HS);Sg(HS);async function aM(o,e,t,i=!0){return d1(new cB,o,e,t,i)}function lM(o,e,t,i){return Promise.resolve(t.provideColorPresentations(o,e,i))}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({colorInfo:r,provider:e});return Array.isArray(s)}}class dB{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 hB{constructor(e){this.colorInfo=e}async compute(e,t,i,n){const s=await e.provideColorPresentations(t,this.colorInfo,pi.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 ep)r=g;else try{await o.compute(g,t,i,a)&&(s=!0)}catch(f){Qn(f)}}return s?a:r&&n?(await o.compute(r,t,i,a),a):[]}function cM(o,e){const{colorProvider:t}=o.get(kt),i=o.get(js).getModel(e);if(!i)throw Qa();const n=o.get(xn).getValue("editor.defaultColorDecorators",{resource:e});return{model:i,colorProviderRegistry:t,isDefaultColorDecoratorsEnabled:n}}mn.registerCommand("_executeDocumentColorProvider",function(o,...e){const[t]=e;if(!(t instanceof sn))throw Qa();const{model:i,colorProviderRegistry:n,isDefaultColorDecoratorsEnabled:s}=cM(o,t);return d1(new dB,n,i,pi.None,s)});mn.registerCommand("_executeColorPresentationProvider",function(o,...e){const[t,i]=e,{uri:n,range:s}=i;if(!(n instanceof sn)||!Array.isArray(t)||t.length!==4||!B.isIRange(s))throw Qa();const{model:r,colorProviderRegistry:a,isDefaultColorDecoratorsEnabled:c}=cM(o,n),[h,g,f,p]=t;return d1(new hB({range:s,color:{red:h,green:g,blue:f,alpha:p}}),a,r,pi.None,c)});var uB=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},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 ze),this._decorationsIds=[],this._colorDatas=new Map,this._colorDecoratorIds=this._editor.createDecorationsCollection(),this._ruleFactory=new eE(this._editor),this._decoratorLimitReporter=new gB,this._colorDecorationClassRefs=this._register(new ze),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 Np,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 go(!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){cn(e)}}stop(){this._timeoutTimer&&(this._timeoutTimer.cancel(),this._timeoutTimer=null),this._computePromise&&(this._computePromise.cancel(),this._computePromise=null),this._localToDispose.clear()}updateDecorations(e){const t=e.map(i=>({range:{startLineNumber:i.colorInfo.range.startLineNumber,startColumn:i.colorInfo.range.startColumn,endLineNumber:i.colorInfo.range.endLineNumber,endColumn:i.colorInfo.range.endColumn},options:xi.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=uB([dy(1,xn),dy(2,kt),dy(3,$o)],rg);class gB{constructor(){this._onDidChange=new fi,this._computed=0,this._limited=!1}update(e,t){(e!==this._computed||t!==this._limited)&&(this._computed=e,this._limited=t,this._onDidChange.fire())}}vi(rg.ID,rg,1);class fB{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 fi,this.onColorFlushed=this._onColorFlushed.event,this._onDidChangeColor=new fi,this.onDidChangeColor=this._onDidChangeColor.event,this._onDidChangePresentation=new fi,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 xo=pt;class pB extends je{constructor(e,t,i,n=!1){super(),this.model=t,this.showingStandaloneColorPicker=n,this._closeButton=null,this._domNode=xo(".colorpicker-header"),at(e,this._domNode),this._pickedColorNode=at(this._domNode,xo(".picked-color")),at(this._pickedColorNode,xo("span.codicon.codicon-color-mode")),this._pickedColorPresentation=at(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=at(this._domNode,xo(".original-color")),this._originalColorNode.style.backgroundColor=Si.Format.CSS.format(this.model.originalColor)||"",this.backgroundColor=i.getColorTheme().getColor(NL)||Si.white,this._register(i.onDidColorThemeChange(r=>{this.backgroundColor=r.getColor(NL)||Si.white})),this._register(Fi(this._pickedColorNode,On.CLICK,()=>this.model.selectNextColorPresentation())),this._register(Fi(this._originalColorNode,On.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=Si.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 mB(this._domNode)))}get closeButton(){return this._closeButton}get pickedColorNode(){return this._pickedColorNode}get originalColorNode(){return this._originalColorNode}onDidChangeColor(e){this._pickedColorNode.style.backgroundColor=Si.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 mB extends je{constructor(e){super(),this._onClicked=this._register(new fi),this.onClicked=this._onClicked.event,this._button=document.createElement("div"),this._button.classList.add("close-button"),at(e,this._button);const t=document.createElement("div");t.classList.add("close-button-inner-div"),at(this._button,t),at(t,xo(".button"+qi.asCSSSelector(Zn("color-picker-close",Zt.close,w("closeIcon","Icon to close the color picker"))))).classList.add("close-icon"),this._register(Fi(this._button,On.CLICK,()=>{this._onClicked.fire()}))}}class _B extends je{constructor(e,t,i,n=!1){super(),this.model=t,this.pixelRatio=i,this._insertButton=null,this._domNode=xo(".colorpicker-body"),at(e,this._domNode),this._saturationBox=new vB(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 bB(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 wB(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 yB(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 Si(new Zm(i.h,e,t,i.a))}onDidOpacityChange(e){const t=this.model.color.hsva;this.model.color=new Si(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 Si(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 vB extends je{constructor(e,t,i){super(),this.model=t,this.pixelRatio=i,this._onDidChange=new fi,this.onDidChange=this._onDidChange.event,this._onColorFlushed=new fi,this.onColorFlushed=this._onColorFlushed.event,this._domNode=xo(".saturation-wrap"),at(e,this._domNode),this._canvas=document.createElement("canvas"),this._canvas.className="saturation-box",at(this._domNode,this._canvas),this.selection=xo(".saturation-selection"),at(this._domNode,this.selection),this.layout(),this._register(Fi(this._domNode,On.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=Xs(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=Fi(e.target.ownerDocument,On.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 Si(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=Si.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 fi,this.onDidChange=this._onDidChange.event,this._onColorFlushed=new fi,this.onColorFlushed=this._onColorFlushed.event,i?(this.domNode=at(e,xo(".standalone-strip")),this.overlay=at(this.domNode,xo(".standalone-overlay"))):(this.domNode=at(e,xo(".strip")),this.overlay=at(this.domNode,xo(".overlay"))),this.slider=at(this.domNode,xo(".slider")),this.slider.style.top="0px",this._register(Fi(this.domNode,On.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=Xs(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=Fi(e.target.ownerDocument,On.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 bB 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 Si(new Ku(t,i,n,1)),r=new Si(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 wB 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 yB extends je{constructor(e){super(),this._onClicked=this._register(new fi),this.onClicked=this._onClicked.event,this._button=at(e,document.createElement("button")),this._button.classList.add("insert-button"),this._button.textContent="Insert",this._register(Fi(this._button,On.CLICK,()=>{this._onClicked.fire()}))}get button(){return this._button}}class SB extends Fp{constructor(e,t,i,n,s=!1){super(),this.model=t,this.pixelRatio=i,this._register(EA.getInstance(ed(e)).onDidChange(()=>this.layout())),this._domNode=xo(".colorpicker-widget"),e.appendChild(this._domNode),this.header=this._register(new pB(this._domNode,this.model,n,s)),this.body=this._register(new _B(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 CB{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 tp=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}};tp=uM([gM(1,mr)],tp);class xB{constructor(e,t,i,n){this.owner=e,this.range=t,this.model=i,this.provider=n}}let ip=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(),pi.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}};ip=uM([gM(1,mr)],ip);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 Si(h),f=await lM(e,t,i,pi.None),p=new fB(g,[],0);return p.colorPresentations=f||[],p.guessColorPresentation(g,n),o instanceof tp?new CB(o,B.lift(t.range),p,i):new xB(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 ze,r=i[0],a=e.getModel(),c=r.model,h=s.add(new SB(n.fragment,c,e.getOption(144),t,o instanceof ip));let g=!1,f=new B(r.range.startLineNumber,r.range.startColumn,r.range.endLineNumber,r.range.endColumn);if(o instanceof ip){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,pi.None);e.colorPresentations=s||[]}const _M="editor.action.showHover",LB="editor.action.showDefinitionPreviewHover",kB="editor.action.scrollUpHover",IB="editor.action.scrollDownHover",DB="editor.action.scrollLeftHover",EB="editor.action.scrollRightHover",PB="editor.action.pageUpHover",TB="editor.action.pageDownHover",MB="editor.action.goToTopHover",NB="editor.action.goToBottomHover",uw="editor.action.increaseHoverVerbosityLevel",RB=w({key:"increaseHoverVerbosityLevel",comment:["Label for action that will increase the hover verbosity level."]},"Increase Hover Verbosity Level"),gw="editor.action.decreaseHoverVerbosityLevel",AB=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=ro(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(62).showToolbar==="always"),this.sessionPosition=void 0,this.position=Ji(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 Lt(s.lineNumber,Math.min(r,((h=this.sessionPosition)==null?void 0:h.column)??Number.MAX_SAFE_INTEGER));return this.sessionPosition=a,a}),this._register(Hp((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(Sn(()=>e.removeContentWidget(f))),g.add(An(p=>{this.position.read(p)&&r.lastTriggerKind.read(p)!==el.Explicit&&r.triggerExplicitly()})),f}),c=Vb(this,(h,g)=>!!this.position.read(h)||!!g);s.add(An(h=>{c.read(h)&&a.read(h)}))}))}};BS=h1([or(2,di)],BS);const OB=Zn("inline-suggestion-hints-next",Zt.chevronRight,w("parameterHintsNextIcon","Icon for show next parameter hint.")),FB=Zn("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(FB)),this.availableSuggestionCountAction=new Gu("inlineSuggestionHints.availableSuggestionCount","",void 0,!1),this.nextAction=this.createCommandAction(wM,w("next","Next"),qi.asClassName(OB)),this.inlineCompletionsActionsMenus=this._register(this._menuService.createMenu(st.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,st.InlineSuggestionToolbar,{menuOptions:{renderShortTitle:!0},toolbarOptions:{primaryGroup:p=>p.startsWith("primary")},actionViewItemProvider:(p,v)=>{if(p instanceof Zu)return c.createInstance(WB,p,void 0);if(p===this.availableSuggestionCountAction){const _=new HB(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(An(p=>{this._position.read(p),this.editor.layoutContentWidget(this)})),this._register(An(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(An(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 Bf),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,di),or(8,ss),or(9,Hi),or(10,mh)],ag);class HB 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 WB=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){xa(this.prependedPrimaryActions,e,(t,i)=>t===i)||(this.prependedPrimaryActions=e,this.updateToolbar())}setAdditionalSecondaryActions(e){xa(this.additionalActions,e,(t,i)=>t===i)||(this.additionalActions=e,this.updateToolbar())}};zS=h1([or(3,mh),or(4,Hi),or(5,bg),or(6,ss),or(7,us),or(8,Vr)],zS);function fw(o,e,t){const i=Xs(o);return!(e<i.left||e>i.left+i.width||t<i.top||t>i.top+i.height)}let BB=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 fi),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=PA(e=>this._computer.computeAsync(e)),(async()=>{try{for await(const e of this._asyncIterable)e&&(this._result.push(e),this._fireResult());this._asyncIterableDone=!0,(this._state===3||this._state===4)&&this._setState(0)}catch(e){cn(e)}})()):this._asyncIterableDone=!0}_triggerSyncComputation(){this._computer.computeSync&&(this._result=this._result.concat(this._computer.computeSync())),this._setState(this._asyncIterableDone?0:3)}_triggerLoadingMessage(){this._state===3&&this._setState(4)}_fireResult(){if(this._state===1||this._state===2)return;const e=this._state===0,t=this._state===4;this._onResult.fire(new BB(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 fi,this.onDidWillResize=this._onDidWillResize.event,this._onDidResize=new fi,this.onDidResize=this._onDidResize.event,this._sashListener=new ze,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 zB=30,VB=24;class jB 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?Lt.lift(this._contentPosition.position):void 0}_availableVerticalSpaceAbove(e){const t=this._editor.getDomNode(),i=this._editor.getScrolledVisiblePosition(e);return!t||!i?void 0:Xs(t).top+i.top-zB}_availableVerticalSpaceBelow(e){const t=this._editor.getDomNode(),i=this._editor.getScrolledVisiblePosition(e);if(!t||!i)return;const n=Xs(t),s=Wp(t.ownerDocument.body),r=n.top+i.top+i.height;return s.height-r-VB}_findPositionPreference(e,t){const i=Math.min(this._availableVerticalSpaceBelow(t)??1/0,e),n=Math.min(this._availableVerticalSpaceAbove(t)??1/0,e),s=Math.min(Math.max(n,i),e),r=Math.min(e,s);let a;return this._editor.getOption(60).above?a=r<=n?1:2:a=r<=i?2:1,a===1?this._resizableNode.enableSashes(!0,!0,!1,!1):this._resizableNode.enableSashes(!1,!0,!0,!1),a}_resize(e){this._resizableNode.layout(e.height,e.width)}}var UB=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Cm=function(o,e){return function(t,i){e(t,i,o)}},ia;const Bk=30,$B=6;var nc;let VS=(nc=class extends jB{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 fi),this.onDidResize=this._onDidResize.event,this._minimumSize=c,this._hoverVisibleKey=M.hoverVisible.bindTo(t),this._hoverFocusedKey=M.hoverFocused.bindTo(t),at(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 ia.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 ia._applyDimensions(i,e,t)}_setContainerDomNodeDimensions(e,t){const i=this._hover.containerDomNode;return ia._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){ia._applyMaxDimensions(this._hover.contentsDomNode,e,t),ia._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){ia._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=$B;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?Wp(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=Xs(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,ia._lastDimensions.height),t=Math.max(this._editor.getLayoutInfo().width*.66,500,ia._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&&TA(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})}},ia=nc,nc.ID="editor.contrib.resizableContentHoverWidget",nc._lastDimensions=new gn(0,0),nc);VS=ia=UB([Cm(1,Hi),Cm(2,xn),Cm(3,jb),Cm(4,ss)],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 sl(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 qB(this,this.anchor,t,this.isComplete)}}class qB extends SM{constructor(e,t,i,n){super(t,i,n),this.original=e}filter(e){return this.original.filter(e)}}var KB=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},GB=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=at(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(MA.render(this.actionsElement,e,i));return this.actions.push(n),n}append(e){const t=at(this.actionsElement,e);return this._hasContent=!0,t}};j_=KB([GB(0,ss)],j_);class ZB{constructor(e,t,i){this.provider=e,this.hover=t,this.ordinal=i}}async function XB(o,e,t,i,n){const s=await Promise.resolve(o.provideHover(t,i,n)).catch(Qn);if(!(!s||!YB(s)))return new ZB(o,s,e)}function g1(o,e,t,i,n=!1){const r=o.ordered(e,n).map((a,c)=>XB(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()}to("_executeHoverProvider",(o,e,t)=>{const i=o.get(kt);return CM(i.hoverProvider,e,t,pi.None)});to("_executeHoverProvider_recursive",(o,e,t)=>{const i=o.get(kt);return CM(i.hoverProvider,e,t,pi.None,!0)});function YB(o){const e=typeof o.range<"u",t=typeof o.contents<"u"&&o.contents&&o.contents.length>0;return e&&t}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},Tc=function(o,e){return function(t,i){e(t,i,o)}};const au=pt,QB=Zn("hover-increase-verbosity",Zt.add,w("increaseHoverVerbosity","Icon for increaseing hover verbosity.")),ez=Zn("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 zo.Increase:return this.hover.canIncreaseVerbosity??!1;case zo.Decrease:return this.hover.canDecreaseVerbosity??!1}}}let np=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 Rs().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||zf(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=>!zf(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 tz(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))}};np=JB([Tc(1,jr),Tc(2,zr),Tc(3,xn),Tc(4,kt),Tc(5,ss),Tc(6,Bp),Tc(7,us)],np);class xm{constructor(e,t,i){this.hoverPart=e,this.hoverElement=t,this.disposables=i}dispose(){this.disposables.dispose()}}class tz{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 ze,this.renderedHoverParts=this._renderHoverParts(e,t,this._onFinishedRendering),this._disposables.add(Sn(()=>{this.renderedHoverParts.forEach(p=>{p.dispose()}),this._ongoingHoverOperations.forEach(p=>{p.tokenSource.dispose(!0)})}))}_renderHoverParts(e,t,i){return e.sort(zp(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 ze;if(r.add(i),!s)return new xm(e,n,r);const a=s.supportsVerbosityAction(zo.Increase),c=s.supportsVerbosityAction(zo.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,zo.Increase,a)),r.add(this._renderHoverExpansionAction(h,zo.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 ze,s=t===zo.Increase,r=at(e,au(qi.asCSSSelector(s?QB:ez)));r.tabIndex=0;const a=new NA("mouse",!1,{target:e,position:{hoverPosition:0}},this._configurationService,this._hoverService);if(n.add(this._hoverService.setupManagedHover(a,r,nz(this._keybindingService,t))),!i)return r.classList.add("disabled"),n;r.classList.add("enabled");const c=()=>this._commandService.executeCommand(t===zo.Increase?uw:gw);return n.add(new RA(r,c)),n.add(new AA(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===zo.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){Qn(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 iz(o,e,t,i,n){e.sort(zp(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 ze,r=au("div.hover-row"),a=au("div.hover-row-contents");r.appendChild(a);const c=e.contents;for(const g of c){if(zf(g))continue;const f=au("div.markdown-hover"),p=at(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 nz(o,e){switch(e){case zo.Increase:{const t=o.lookupKeybinding(uw);return t?w("increaseVerbosityWithKb","Increase Hover Verbosity ({0})",t.getLabel()):w("increaseVerbosity","Increase Hover Verbosity")}case zo.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"?La?new Lm(57,"metaKey",6,"altKey"):new Lm(5,"ctrlKey",6,"altKey"):La?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 fi),this.onMouseMoveOrRelevantKeyDown=this._onMouseMoveOrRelevantKeyDown.event,this._onExecute=this._register(new fi),this.onExecute=this._onExecute.event,this._onCancel=this._register(new fi),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){Qn(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){Qn(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 ze,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)=>Lt.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 sz(o){return sn.from({scheme:Gs.command,path:o.id,query:o.arguments&&encodeURIComponent(JSON.stringify(o.arguments))}).toString()}var oz=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Fa=function(o,e){return function(t,i){e(t,i,o)}};let pr=class extends OA{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=oz([Fa(4,di),Fa(5,es),Fa(6,us),Fa(7,Hi),Fa(8,mr),Fa(9,Vs),Fa(10,jb),Fa(11,gs),Fa(12,kt)],pr);const $k=new Si(new Ku(0,122,204)),rz={showArrow:!0,showFrame:!0,className:"",frameColor:$k,arrowColor:$k,keepEditorSelection:!1},az="vs.editor.contrib.zoneWidget";class lz{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 cz{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),WA(`.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 HA(".arrow-decoration-");let US=Xv;class dz{constructor(e,t={}){this._arrow=null,this._overlayWidget=null,this._resizeSash=null,this._viewZone=null,this._disposables=new ze,this.container=null,this._isShowing=!1,this.editor=e,this._positionMarkerId=this.editor.createDecorationsCollection(),this.options=FA(t),k0(this.options,rz,!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:xi.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 lz(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 cz(az+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=pl("IPeekViewService");ml(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 Ys;(function(o){o.inPeekEditor=new Pi("inReferenceSearchEditor",!0,w("inReferenceSearchEditor","Whether the current code editor is embedded inside peek")),o.notInPeekEditor=o.inPeekEditor.toNegated()})(Ys||(Ys={}));var Nu;let $_=(Nu=class{constructor(e,t){e instanceof pr&&Ys.inPeekEditor.bindTo(t)}dispose(){}},Nu.ID="editor.contrib.referenceController",Nu);$_=IM([DM(1,Hi)],$_);vi($_.ID,$_,0);function hz(o){const e=o.get(es).getFocusedCodeEditor();return e instanceof pr?e.getParentEditor():e}const uz={headerBackgroundColor:Si.white,primaryHeadingColor:Si.fromHex("#333333"),secondaryHeadingColor:Si.fromHex("#6c6c6cb3")};let q_=class extends dz{constructor(e,t,i){super(e,t),this.instantiationService=i,this._onDidClose=new fi,this.onDidClose=this._onDidClose.event,k0(this.options,uz,!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"),rl(this._titleElement,"click",s=>this._onTitleClick(s))),at(this._headElement,this._titleElement),this._fillTitleIcon(this._titleElement),this._primaryHeading=pt("span.filename"),this._secondaryHeading=pt("span.dirname"),this._metaHeading=pt("span.meta"),at(this._titleElement,this._primaryHeading,this._secondaryHeading,this._metaHeading);const i=pt(".peekview-actions");at(this._headElement,i);const n=this._getActionBarOptions();this._actionbarWidget=new Ff(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:BA.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:ya(this._secondaryHeading))}setMetaTitle(e){this._metaHeading&&(e?(this._metaHeading.innerText=e,ar(this._metaHeading)):So(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,di)],q_);const gz=mt("peekViewTitle.background",{dark:"#252526",light:"#F3F3F3",hcDark:Si.black,hcLight:Si.white},w("peekViewTitleBackground","Background color of the peek view title area.")),PM=mt("peekViewTitleLabel.foreground",{dark:Si.white,light:Si.black,hcDark:Si.white,hcLight:Vp},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.")),fz=mt("peekView.border",{dark:$y,light:$y,hcDark:ol,hcLight:ol},w("peekViewBorder","Color of the peek view borders and arrow.")),pz=mt("peekViewResult.background",{dark:"#252526",light:"#F3F3F3",hcDark:Si.black,hcLight:Si.white},w("peekViewResultsBackground","Background color of the peek view result list."));mt("peekViewResult.lineForeground",{dark:"#bbbbbb",light:"#646465",hcDark:Si.white,hcLight:Vp},w("peekViewResultsMatchForeground","Foreground color for line nodes in the peek view result list."));mt("peekViewResult.fileForeground",{dark:Si.white,light:"#1E1E1E",hcDark:Si.white,hcLight:Vp},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:Si.white,light:"#6C6C6C",hcDark:Si.white,hcLight:Vp},w("peekViewResultsSelectionForeground","Foreground color of the selected entry in the peek view result list."));const MM=mt("peekViewEditor.background",{dark:"#001F33",light:"#F2F8FC",hcDark:Si.black,hcLight:Si.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=zA.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,ka(this.uri),this.range.startLineNumber,this.range.startColumn):w("aria.oneReference","in {0} on line {1} at column {2}",ka(this.uri),this.range.startLineNumber,this.range.startColumn)}}class mz{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 sp{constructor(e,t){this.parent=e,this.uri=t,this.children=[],this._previews=new pc}dispose(){Os(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}",ka(this.uri),this.uri.fsPath):w("aria.fileReferences.N","{0} symbols in {1}, full path {2}",e,ka(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 mz(i))}catch(i){cn(i)}return this}}class ho{constructor(e,t){this.groups=[],this.references=[],this._onDidChangeReferenceRange=new fi,this.onDidChangeReferenceRange=this._onDidChangeReferenceRange.event,this._links=e,this._title=t;const[i]=e;e.sort(ho._compareReferences);let n;for(const s of e)if((!n||!OL.isEqual(n.uri,s.uri,!0))&&(n=new sp(this,s.uri),this.groups.push(n)),n.children.length===0||ho._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(){Os(this.groups),this._onDidChangeReferenceRange.dispose(),this.groups.length=0}clone(){return new ho(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:jp(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 ho||e instanceof sp}getChildren(e){if(e instanceof ho)return e.groups;if(e instanceof sp)return e.resolve(this._resolverService).then(t=>t.children);throw new Error("bad tree")}};qS=mw([_w(0,Ur)],qS);class _z{getHeight(){return 23}getTemplateId(e){return e instanceof sp?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 ka(e.uri)}};KS=mw([_w(0,ss)],KS);class vz{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 VA(at(i,pt(".count")),{},jA),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,Vf)],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,di)],K_);class bz extends je{constructor(e){super(),this.label=this._register(new UA(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(`${ka(e.uri)}:${e.range.startLineNumber+1}:${e.range.startColumn+1}`);else{const{value:s,highlight:r}=i;t&&!jf.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 bz(e)}renderElement(e,t,i){i.set(e.element,e.filterData)}disposeTemplate(e){e.dispose()}};Yv.id="OneReferenceRenderer";let G_=Yv;class wz{getWidgetAriaLabel(){return w("treeAriaLabel","References")}getAriaLabel(e){return e.ariaMessage}}var yz=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},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 ze,this._callOnModelChange=new ze,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=xi.register({description:"reference-decoration",stickiness:1,className:"reference-decoration"});let ZS=Jv;class Sz{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 Cz extends KA{}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 ze,this._callOnDispose=new ze,this._onDidSelectReference=new fi,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(),Os(this._preview),Os(this._previewNotAvailableMessage),Os(this._tree),Os(this._previewModelReference),this._splitView.dispose(),super.dispose()}_applyTheme(e){const t=e.getColor(fz)||Si.transparent;this.style({arrowColor:t,frameColor:t,headerBackgroundColor:e.getColor(gz)||Si.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=at(e,pt("div.messages")),So(this._messageContainer),this._splitView=new $A(e,{orientation:1}),this._previewContainer=at(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),So(this._previewContainer),this._previewNotAvailableMessage=this._instantiationService.createInstance(zl,w("missingPreviewMessage","no preview available"),Uf,zl.DEFAULT_CREATION_OPTIONS,null),this._treeContainer=at(e,pt("div.ref-tree.inline"));const i={keyboardSupport:this._defaultTreeKeyboardSupport,accessibilityProvider:new wz,keyboardNavigationLabelProvider:this._instantiationService.createInstance(KS),identityProvider:new vz,openOnSingleClick:!0,selectionNavigation:!0,overrideStyles:{listBackground:pz}};this._defaultTreeKeyboardSupport&&this._callOnDispose.add(rl(this._treeContainer,"keydown",s=>{s.equals(9)&&(this._keybindingService.dispatchEvent(s,s.target),s.stopPropagation())},!0)),this._tree=this._instantiationService.createInstance(Cz,"ReferencesWidget",this._treeContainer,new _z,[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")})),So(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)):(So(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 sp&&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!==Gs.inMemory?this.setTitle(qA(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}Os(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=yz([Oh(3,mr),Oh(4,Ur),Oh(5,di),Oh(6,EM),Oh(7,Vf),Oh(8,ss)],XS);var xz=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(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 ze,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=Sz.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 Lt(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,cn(s)})}openReference(e,t,i){t||this.closeWidget();const{uri:n,range:s}=e;this._editorService.openCodeEditor({resource:n,options:{selection:s,selectionSource:"code.jump",pinned:i}},this._editor,t)}},c_=pd,pd.ID="editor.contrib.referencesController",pd);ch=c_=xz([Fh(2,Hi),Fh(3,es),Fh(4,Vs),Fh(5,di),Fh(6,Lc),Fh(7,xn)],ch);function xh(o,e){const t=hz(o);if(!t)return;const i=ch.get(t);i&&e(i)}Ea.registerCommandAndKeybindingRule({id:"togglePeekWidgetFocus",weight:100,primary:ns(2089,60),when:ae.or(Ch,Ys.inPeekEditor),handler(o){xh(o,e=>{e.changeFocusBetweenPreviewAndReferences()})}});Ea.registerCommandAndKeybindingRule({id:"goToNextReference",weight:90,primary:62,secondary:[70],when:ae.or(Ch,Ys.inPeekEditor),handler(o){xh(o,e=>{e.goToNextOrPreviousReference(!0)})}});Ea.registerCommandAndKeybindingRule({id:"goToPreviousReference",weight:90,primary:1086,secondary:[1094],when:ae.or(Ch,Ys.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()));Ea.registerKeybindingRule({id:"closeReferenceSearch",weight:-1,primary:9,secondary:[1033],when:ae.and(Ys.inPeekEditor,ae.not("config.editor.stablePeek"))});Ea.registerKeybindingRule({id:"closeReferenceSearch",weight:250,primary:9,secondary:[1033],when:ae.and(Ch,ae.not("config.editor.stablePeek"),ae.or(M.editorTextFocus,GA.negate()))});Ea.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]))}});Ea.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},nf=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=pl("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([nf(0,Hi),nf(1,es),nf(2,Vs),nf(3,ss)],YS);ml(vw,YS,1);Et(new class extends eo{constructor(){super({id:"editor.gotoNextSymbolFromResult",precondition:p1,kbOpts:{weight:100,primary:70}})}runEditorCommand(o,e){return o.get(vw).revealNext(e)}});Ea.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 ze,this._onDidChange=new fi,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(),Os(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([nf(0,es)],JS);function QS(o,e){return e.uri.scheme===o.uri.scheme?!0:!ZA(e.uri,Gs.walkThroughSnippet,Gs.vscodeChatCodeBlock,Gs.vscodeChatCodeCompareBlock)}async function em(o,e,t,i,n){const r=t.ordered(o,i).map(c=>Promise.resolve(n(c,o,e)).then(void 0,h=>{Qn(h)})),a=await Promise.all(r);return sl(a.flat()).filter(c=>QS(o,c))}function tm(o,e,t,i,n){return em(e,t,o,i,(s,r,a)=>s.provideDefinition(r,a,n))}function m1(o,e,t,i,n){return em(e,t,o,i,(s,r,a)=>s.provideDeclaration(r,a,n))}function _1(o,e,t,i,n){return em(e,t,o,i,(s,r,a)=>s.provideImplementation(r,a,n))}function v1(o,e,t,i,n){return em(e,t,o,i,(s,r,a)=>s.provideTypeDefinition(r,a,n))}function im(o,e,t,i,n,s){return em(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 Pa(o){const e=await o(),t=new ho(e,""),i=t.references.map(n=>n.link);return t.dispose(),i}to("_executeDefinitionProvider",(o,e,t)=>{const i=o.get(kt),n=tm(i.definitionProvider,e,t,!1,pi.None);return Pa(()=>n)});to("_executeDefinitionProvider_recursive",(o,e,t)=>{const i=o.get(kt),n=tm(i.definitionProvider,e,t,!0,pi.None);return Pa(()=>n)});to("_executeTypeDefinitionProvider",(o,e,t)=>{const i=o.get(kt),n=v1(i.typeDefinitionProvider,e,t,!1,pi.None);return Pa(()=>n)});to("_executeTypeDefinitionProvider_recursive",(o,e,t)=>{const i=o.get(kt),n=v1(i.typeDefinitionProvider,e,t,!0,pi.None);return Pa(()=>n)});to("_executeDeclarationProvider",(o,e,t)=>{const i=o.get(kt),n=m1(i.declarationProvider,e,t,!1,pi.None);return Pa(()=>n)});to("_executeDeclarationProvider_recursive",(o,e,t)=>{const i=o.get(kt),n=m1(i.declarationProvider,e,t,!0,pi.None);return Pa(()=>n)});to("_executeReferenceProvider",(o,e,t)=>{const i=o.get(kt),n=im(i.referenceProvider,e,t,!1,!1,pi.None);return Pa(()=>n)});to("_executeReferenceProvider_recursive",(o,e,t)=>{const i=o.get(kt),n=im(i.referenceProvider,e,t,!1,!0,pi.None);return Pa(()=>n)});to("_executeImplementationProvider",(o,e,t)=>{const i=o.get(kt),n=_1(i.implementationProvider,e,t,!1,pi.None);return Pa(()=>n)});to("_executeImplementationProvider_recursive",(o,e,t)=>{const i=o.get(kt),n=_1(i.implementationProvider,e,t,!0,pi.None);return Pa(()=>n)});ur.appendMenuItem(st.EditorContext,{submenu:st.EditorContextPeek,title:w("peek.submenu","Peek"),group:"navigation",order:100});class lg{static is(e){return!e||typeof e!="object"?!1:!!(e instanceof lg||Lt.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 Ja.wrap(t.menu))(i.id===st.EditorContext||i.id===st.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(Vs),r=e.get(es),a=e.get(Rp),c=e.get(vw),h=e.get(kt),g=e.get(di),f=t.getModel(),p=t.getPosition(),v=lg.is(i)?i:new lg(f,p),_=new ju(t,5),y=Mp(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 V=this._getAlternativeCommand(t);!Yo._activeAlternativeCommands.has(V)&&Yo._allSymbolNavigationCommands.has(V)&&(D=Yo._allSymbolNavigationCommands.get(V))}const E=S.references.length;if(E===0){if(!this.configuration.muteMessage){const V=f.getWordAtPosition(p);(N=co.get(t))==null||N.showMessage(this._getNoResultFoundMessage(V),p)}}else if(E===1&&D)Yo._activeAlternativeCommands.add(this.desc.id),g.invokeFunction(V=>D.runEditorCommand(V,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(XA(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 hl=Yo;class nm extends hl{async _getLocationModel(e,t,i,n){return new ho(await tm(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;en((sc=class extends nm{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:st.EditorContext,group:"navigation",order:1.1},{id:st.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:2}]}),mn.registerCommandAlias("editor.action.goToDeclaration",sc.id)}},sc.id="editor.action.revealDefinition",sc));var oc;en((oc=class extends nm{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:ns(2089,70),weight:100},{when:ae.and(M.editorTextFocus,gE),primary:ns(2089,2118),weight:100}]}),mn.registerCommandAlias("editor.action.openDeclarationToTheSide",oc.id)}},oc.id="editor.action.revealDefinitionAside",oc));var rc;en((rc=class extends nm{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:rc.id,title:St("actions.previewDecl.label","Peek Definition"),precondition:ae.and(M.hasDefinitionProvider,Ys.notInPeekEditor,M.isInEmbeddedEditor.toNegated()),keybinding:{when:M.editorTextFocus,primary:582,linux:{primary:3140},weight:100},menu:{id:st.EditorContextPeek,group:"peek",order:2}}),mn.registerCommandAlias("editor.action.previewDeclaration",rc.id)}},rc.id="editor.action.peekDefinition",rc));class RM extends hl{async _getLocationModel(e,t,i,n){return new ho(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;en((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:st.EditorContext,group:"navigation",order:1.3},{id:st.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));en(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,Ys.notInPeekEditor,M.isInEmbeddedEditor.toNegated()),menu:{id:st.EditorContextPeek,group:"peek",order:3}})}});class AM extends hl{async _getLocationModel(e,t,i,n){return new ho(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;en((_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:st.EditorContext,group:"navigation",order:1.4},{id:st.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:3}]})}},_d.ID="editor.action.goToTypeDefinition",_d));var vd;en((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,Ys.notInPeekEditor,M.isInEmbeddedEditor.toNegated()),menu:{id:st.EditorContextPeek,group:"peek",order:4}})}},vd.ID="editor.action.peekTypeDefinition",vd));class OM extends hl{async _getLocationModel(e,t,i,n){return new ho(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;en((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:st.EditorContext,group:"navigation",order:1.45},{id:st.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:4}]})}},bd.ID="editor.action.goToImplementation",bd));var wd;en((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,Ys.notInPeekEditor,M.isInEmbeddedEditor.toNegated()),keybinding:{when:M.editorTextFocus,primary:3142,weight:100},menu:{id:st.EditorContextPeek,group:"peek",order:5}})}},wd.ID="editor.action.peekImplementation",wd));class FM extends hl{_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}}en(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,Ys.notInPeekEditor,M.isInEmbeddedEditor.toNegated()),keybinding:{when:M.editorTextFocus,primary:1094,weight:100},menu:[{id:st.EditorContext,group:"navigation",order:1.45},{id:st.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:5}]})}async _getLocationModel(e,t,i,n){return new ho(await im(e.referenceProvider,t,i,!0,!1,n),w("ref.title","References"))}});en(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,Ys.notInPeekEditor,M.isInEmbeddedEditor.toNegated()),menu:{id:st.EditorContextPeek,group:"peek",order:6}})}async _getLocationModel(e,t,i,n){return new ho(await im(e.referenceProvider,t,i,!1,!1,n),w("ref.title","References"))}});class Lz extends hl{constructor(e,t,i){super(e,{id:"editor.action.goToLocation",title:St("label.generic","Go to Any Symbol"),precondition:ae.and(Ys.notInPeekEditor,M.isInEmbeddedEditor.toNegated())}),this._references=t,this._gotoMultipleBehaviour=i}async _getLocationModel(e,t,i,n){return new ho(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:sn},{name:"position",description:"The position at which to start",constraint:Lt.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)=>{Bi(sn.isUri(e)),Bi(Lt.isIPosition(t)),Bi(Array.isArray(i)),Bi(typeof n>"u"||typeof n=="string"),Bi(typeof r>"u"||typeof r=="boolean");const a=o.get(es),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 Lz{_getNoResultFoundMessage(f){return s||super._getNoResultFoundMessage(f)}}({muteMessage:!s,openInPeek:!!r,openToSide:!1},i,n);h.get(di).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:sn},{name:"position",description:"The position at which to start",constraint:Lt.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)=>{Bi(sn.isUri(e)),Bi(Lt.isIPosition(t));const i=o.get(kt),n=o.get(es);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=>im(i.referenceProvider,s.getModel(),Lt.lift(t),!1,!1,h).then(g=>new ho(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 kz(o,e,t,i){const n=o.get(Ur),s=o.get(bg),r=o.get(us),a=o.get(di),c=o.get(Vs);if(await i.item.resolve(pi.None),!i.part.location)return;const h=i.part.location,g=[],f=new Set(ur.getMenuItems(st.EditorContext).map(v=>YA(v)?v.command.id:dw()));for(const v of hl.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 Bf),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=Xs(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(Hi),h=Ys.inPeekEditor.getValue(c),g=!a&&t.getOption(89)&&!h;return new nm({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 Iz=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(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 Op(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=pl("IInlayHintsCache");ml(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 Dz{constructor(e,t){this.part=e,this.hasTriggerModifier=t}}var Ya;let op=(Ya=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 ze,this._sessionDisposables=new ze,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(JA.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(Sn(()=>{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){cn(h)}finally{n.dispose(),c.dispose()}},this._debounceInfo.get(t));this._sessionDisposables.add(r),this._sessionDisposables.add(Sn(()=>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 ze,t=e.add(new pw(this._editor)),i=new ze;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(Sn(()=>c.dispose(!0))),r.item.resolve(c.token),this._activeInlayHintPart=r.part.command||r.part.location?new Dz(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(Sn(()=>{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):QA.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(pi.None),Lo(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(!eO(e.event.target))return;const t=this._getInlayHintLabelPart(e);t&&await this._instaService.invokeFunction(kz,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,V)=>{const F={content:E,inlineClassNameAffectsLetterSpacing:!0,inlineClassName:D.className,cursorStops:N,attachedData:V};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?F: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],V=E===0,F=E===D.length-1,Y={fontSize:`${r}px`,fontFamily:`var(${g}), ${x0.fontFamily}`,verticalAlign:h?"baseline":"middle",unicodeBidi:"isolate"};Lo(S.hint.textEdits)&&(Y.cursor="default"),this._fillInColors(Y,S.hint),(N.command||N.location)&&((_=this._activeInlayHintPart)==null?void 0:_.part.item)===S&&this._activeInlayHintPart.part.index===E&&(Y.textDecoration="underline",this._activeInlayHintPart.hasTriggerModifier&&(Y.color=os(tO),Y.cursor="pointer")),c&&(V&&F?(Y.padding=`1px ${Math.max(1,r/4)|0}px`,Y.borderRadius=`${r/4|0}px`):V?(Y.padding=`1px 0 1px ${Math.max(1,r/4)|0}px`,Y.borderRadius=`${r/4|0}px 0 0 ${r/4|0}px`):F?(Y.padding=`1px ${Math.max(1,r/4)|0}px 1px 0`,Y.borderRadius=`0 ${r/4|0}px ${r/4|0}px 0`):Y.padding="1px 0 1px 0");let X=N.label;f.totalLen+=X.length;let ue=!1;const Ee=f.totalLen-Jh._MAX_LABEL_LEN;if(Ee>0&&(X=X.slice(0,-Ee)+"…",ue=!0),n(S,this._ruleFactory.createClassNameRef(Y),Ez(X),F&&!S.hint.paddingRight?nu.Right:nu.None,new eC(S,E)),ue)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(iO),e.color=os(nO)):t.kind===HL.Type?(e.backgroundColor=os(sO),e.color=os(oO)):(e.backgroundColor=os(rO),e.color=os(aO))}_getLayoutInfo(){const e=this._editor.getOption(142),t=e.padding,i=this._editor.getOption(52),n=this._editor.getOption(49);let s=e.fontSize;(!s||s<5||s>i)&&(s=i);const r=e.fontFamily||n;return{fontSize:s,fontFamily:r,padding:t,isUniform:!t&&r===n&&s===i}}_removeAllDecorations(){this._editor.removeDecorations(Array.from(this._decorationsMetadata.keys()));for(const e of this._decorationsMetadata.values())e.classNameRef.dispose();this._decorationsMetadata.clear()}},Jh=Ya,Ya.ID="editor.contrib.InlayHints",Ya._MAX_DECORATORS=1500,Ya._MAX_LABEL_LEN=43,Ya);op=Jh=Iz([Hh(1,kt),Hh(2,$o),Hh(3,WM),Hh(4,us),Hh(5,Vs),Hh(6,di)],op);function Ez(o){return o.replace(/[ \t]/g," ")}mn.registerCommand("_executeInlayHintProvider",async(o,...e)=>{const[t,i]=e;Bi(sn.isUri(t)),Bi(B.isIRange(i));const{inlayHintsProvider:n}=o.get(kt),s=await o.get(Ur).createModelReference(t);try{const r=await U_.create(n,s.object.textEditorModel,[B.lift(i)],pi.None),a=r.items.map(c=>c.hint);return setTimeout(()=>r.dispose(),0),a}finally{s.dispose()}});var Pz=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},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 np{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(!op.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 Rs().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)),Lo(s.item.hint.textEdits)&&n.emitOne(new lr(this,e.range,[new Rs().appendText(w("hint.dbl","Double-click to insert"))],!1,10001));let a;if(typeof s.part.tooltip=="string"?a=new Rs().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"?La?w("links.navigate.kb.meta.mac","cmd + click"):w("links.navigate.kb.meta","ctrl + click"):La?w("links.navigate.kb.alt.mac","option + click"):w("links.navigate.kb.alt","alt + click");s.part.location&&s.part.command?h=new Rs().appendText(w("hint.defAndCommand","Go to Definition ({0}), right click for more",f)):s.part.location?h=new Rs().appendText(w("hint.def","Go to Definition ({0})",f)):s.part.command&&(h=new Rs(`[${w("hint.cmd","Execute Command")}](${sz(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 Lt(n.startLineNumber,n.startColumn),t).filter(a=>!zf(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_=Pz([Il(1,jr),Il(2,zr),Il(3,ss),Il(4,Bp),Il(5,xn),Il(6,Ur),Il(7,kt),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 Lt(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 Lt(s,r);return{showAtPosition:c,showAtSecondaryPosition:h}}}class Tz{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}]),Sn(()=>{n.clear()})}_renderParts(e,t,i,n){const s=new j_(n),r={fragment:this._fragment,statusBar:s,...i},a=new ze;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})),Sn(()=>{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 Tz(e,t)}_registerListenersOnRenderedParts(){const e=new ze;return this._renderedParts.forEach((t,i)=>{const n=t.hoverElement;n.tabIndex=0,e.add(Fi(n,On.FOCUS_IN,s=>{s.stopPropagation(),this._focusedHoverPartIndex=i})),e.add(Fi(n,On.FOCUS_OUT,s=>{s.stopPropagation(),this._focusedHoverPartIndex=-1}))}),e}_updateMarkdownAndColorParticipantInfo(e){const t=e.find(i=>i instanceof np&&!(i instanceof X_));t&&(this._markdownHoverParticipant=t),this._colorHoverParticipant=e.find(i=>i instanceof tp)}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=xi.register({description:"content-hover-highlight",className:"hoverHighlight"});let tC=Qv;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},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 fi),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(rl(e,"keydown",t=>{t.equals(9)&&this.hide()})),this._register(rl(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=Mz([Kk(1,di),Kk(2,ss)],iC);var Nz=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Gk=function(o,e){return function(t,i){e(t,i,o)}},nC,yd;let Ms=(yd=class extends je{constructor(e,t,i){super(),this._editor=e,this._instantiationService=t,this._keybindingService=i,this._onHoverContentsChanged=this._register(new fi),this.shouldKeepOpenOnEditorMouseMoveOrLeave=!1,this._listenersStore=new ze,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);Ms=nC=Nz([Gk(1,di),Gk(2,ss)],Ms);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(Ms.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;vi(Y_.ID,Y_,2);Sh.register(tp);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,Hi),lu(2,di)],dh);vi(dh.ID,dh,1);const Zk=8,Rz=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 fi),this.onResult=this._onResult.event,this._standaloneColorPickerVisible.set(!0),this._standaloneColorPickerParticipant=n.createInstance(ip,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 Az(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 ep(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-Rz-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,di),lu(4,ss),lu(5,kt),lu(6,_l)],rC);class Az{constructor(e,t){this.value=e,this.foundInEditor=t}}class Oz 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:st.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 Fz extends ye{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 Hz extends ye{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()}}ie(Fz);ie(Hz);en(Oz);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 Lt(e.startLineNumber,e.startColumn),t+(n?" ":""))),s.push(zn.insert(new Lt(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 Ba{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=Ba._gatherPreflightCommentStrings(i,n,s,c);return h===null?{supported:!1}:Ba._analyzeLines(e,t,i,h,n,r,a,c)}_executeLineComments(e,t,i,n){let s;i.shouldRemoveComments?s=Ba._createRemoveLineCommentsOperations(i.lines,n.startLineNumber):(Ba._normalizeInsertionPoint(e,i.lines,n.startLineNumber,this._indentSize),s=this._createAddLineCommentsOperations(i.lines,n.startLineNumber));const r=new Lt(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=Ba._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 Lt(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=Ba.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=Ba.nextVisibleColumn(f,n,g.charCodeAt(r)===9,1);f>s?t[c].commentStrOffset=r-1:t[c].commentStrOffset=r}}}class w1 extends ye{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 Ba(i,g.selection,r.indentSize,this._type,a.insertSpace,a.ignoreEmptyLines,g.ignoreFirstLine));t.pushUndoStop(),t.executeCommands(this.id,s),t.pushUndoStop()}}class Wz 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:st.MenubarEditMenu,group:"5_insert",title:w({key:"miToggleLineComment",comment:["&& denotes a mnemonic"]},"&&Toggle Line Comment"),order:1}})}}class Bz 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:ns(2089,2081),weight:100}})}}class zz 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:ns(2089,2099),weight:100}})}}class Vz extends ye{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:st.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()}}ie(Wz);ie(Bz);ie(zz);ie(Vz);var jz=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(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 ze,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&&lO(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 cO){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 Bf)}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=Xs(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()||dO(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 Bf),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=jz([Mc(1,bg),Mc(2,Wb),Mc(3,Hi),Mc(4,ss),Mc(5,mh),Mc(6,xn),Mc(7,Vu)],cg);class Uz extends ye{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()}}vi(cg.ID,cg,2);ie(Uz);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 $z extends ye{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 qz extends ye{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()}}vi(dg.ID,dg,0);ie($z);ie(qz);class Kz{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 La?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 Lt(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 Kz(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=La?6:5,Rl._DECORATION_OPTIONS=xi.register({description:"dnd-target",className:"dnd-target"});let J_=Rl;vi(J_.ID,J_,2);vi(dl.ID,dl,0);Sg(SS);Et(new class extends eo{constructor(){super({id:jT,precondition:r1,kbOpts:{weight:100,primary:2137}})}runEditorCommand(o,e){var t;return(t=dl.get(e))==null?void 0:t.changePasteType()}});Et(new class extends eo{constructor(){super({id:"editor.hidePasteWidget",precondition:r1,kbOpts:{weight:100,primary:9}})}runEditorCommand(o,e){var t;(t=dl.get(e))==null||t.clearWidgets()}});var Ld;ie((Ld=class extends ye{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=dl.get(t))==null?void 0:s.pasteAs(n?new Cn(n):void 0)}},Ld.argsSchema={type:"object",properties:{kind:{type:"string",description:w("pasteAs.kind","The kind of the paste edit to try applying. If not provided or there are multiple edits for this kind, the editor will show a picker.")}}},Ld));ie(class extends ye{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=dl.get(e))==null?void 0:t.pasteAs({providerId:nh.id})}});class Gz{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=pl("treeViewsDndService");ml(zM,Gz,1);var Zz=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},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 ze,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 ze,a=await Mp(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=sl(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 Cn(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=Zz([km(1,di),km(2,xn),km(3,kt),km(4,zM)],hg);vi(hg.ID,hg,2);Sg(yS);Et(new class extends eo{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 eo{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(Ap.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 Ds=class Ds{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===Ds._FIND_MATCH_DECORATION||n===Ds._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,Ds._FIND_MATCH_DECORATION),this._highlightedDecorationId=null),t!==null&&(this._highlightedDecorationId=t,n.changeDecorationOptions(this._highlightedDecorationId,Ds._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,Ds._RANGE_HIGHLIGHT_DECORATION)}}),i}set(e,t){this._editor.changeDecorations(i=>{let n=Ds._FIND_MATCH_DECORATION;const s=[];if(e.length>1e3){n=Ds._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:Ds._FIND_MATCH_ONLY_OVERVIEW_DECORATION}),f=y.startLineNumber,p=y.endLineNumber)}s.push({range:new B(f,1,p,1),options:Ds._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,Ds._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}};Ds._CURRENT_FIND_MATCH_DECORATION=xi.register({description:"current-find-match",stickiness:1,zIndex:13,className:"currentFindMatch",inlineClassName:"currentFindMatchInline",showIfCollapsed:!0,overviewRuler:{color:os($w),position:wa.Center},minimap:{color:os(BL),position:1}}),Ds._FIND_MATCH_DECORATION=xi.register({description:"find-match",stickiness:1,zIndex:10,className:"findMatch",inlineClassName:"findMatchInline",showIfCollapsed:!0,overviewRuler:{color:os($w),position:wa.Center},minimap:{color:os(BL),position:1}}),Ds._FIND_MATCH_NO_OVERVIEW_DECORATION=xi.register({description:"find-match-no-overview",stickiness:1,className:"findMatch",showIfCollapsed:!0}),Ds._FIND_MATCH_ONLY_OVERVIEW_DECORATION=xi.register({description:"find-match-only-overview",stickiness:1,overviewRuler:{color:os($w),position:wa.Center}}),Ds._RANGE_HIGHLIGHT_DECORATION=xi.register({description:"find-range-highlight",stickiness:1,className:"rangeHighlight",isWholeLine:!0}),Ds._FIND_SCOPE_DECORATION=xi.register({description:"find-scope",className:"findScope",isWholeLine:!0});let cC=Ds;class Xz{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():hO(o[0][0])&&e.length>0?e[0].toUpperCase()+e.substr(1):o[0][0].toUpperCase()!==o[0][0]&&e.length>0?e[0].toLowerCase()+e.substr(1):e}else return e}function 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 Yz{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 Yz(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 Jz{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 Qz(o){if(!o||o.length===0)return new ug(null);const e=[],t=new Jz(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 wl=new Pi("findWidgetVisible",!1);wl.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}},ln={StartFindAction:"actions.find",StartFindWithSelection:"actions.findWithSelection",StartFindWithArgs:"editor.actions.findWithArgs",NextMatchFindAction:"editor.action.nextMatchFindAction",PreviousMatchFindAction:"editor.action.previousMatchFindAction",GoToMatchFindAction:"editor.action.goToMatchFindAction",NextSelectionMatchFindAction:"editor.action.nextSelectionMatchFindAction",PreviousSelectionMatchFindAction:"editor.action.previousSelectionMatchFindAction",StartFindReplaceAction:"editor.action.startFindReplaceAction",CloseFindWidgetCommand:"closeFindWidget",ToggleCaseSensitiveCommand:"toggleFindCaseSensitive",ToggleWholeWordCommand:"toggleFindWholeWord",ToggleRegexCommand:"toggleFindRegex",ToggleSearchScopeCommand:"toggleFindInSelection",TogglePreserveCaseCommand:"togglePreserveCase",ReplaceOneAction:"editor.action.replaceOne",ReplaceAllAction:"editor.action.replaceAll",SelectAllMatchesAction:"editor.action.selectAllMatches"},$l=19999,eV=240;class Cf{constructor(e,t){this._toDispose=new ze,this._editor=e,this._state=t,this._isDisposed=!1,this._startSearchingTimer=new Np,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,Os(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)},eV)):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 Lt(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=Cf._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 Lt(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 Lt(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=Cf._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 Lt(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?Qz(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 Tp(t,n);this._executeEditorCommand("replace",s),this._decorations.setStartPosition(new Lt(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=>Cf._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 uO(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 Xz(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 Fp{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 gO({appendTitle:this._keybindingLabelFor(ln.ToggleCaseSensitiveCommand),isChecked:this._state.matchCase,hoverDelegate:s,...n})),this._domNode.appendChild(this.caseSensitive.domNode),this._register(this.caseSensitive.onChange(()=>{this._state.change({matchCase:this.caseSensitive.checked},!1)})),this.wholeWords=this._register(new fO({appendTitle:this._keybindingLabelFor(ln.ToggleWholeWordCommand),isChecked:this._state.wholeWord,hoverDelegate:s,...n})),this._domNode.appendChild(this.wholeWords.domNode),this._register(this.wholeWords.onChange(()=>{this._state.change({wholeWord:this.wholeWords.checked},!1)})),this.regex=this._register(new pO({appendTitle:this._keybindingLabelFor(ln.ToggleRegexCommand),isChecked:this._state.isRegex,hoverDelegate:s,...n})),this._domNode.appendChild(this.regex.domNode),this._register(this.regex.onChange(()=>{this._state.change({isRegex:this.regex.checked},!1)})),this._editor.addOverlayWidget(this),this._register(this._state.onFindReplaceStateChange(r=>{let a=!1;r.isRegex&&(this.regex.checked=this._state.isRegex,a=!0),r.wholeWord&&(this.wholeWords.checked=this._state.wholeWord,a=!0),r.matchCase&&(this.caseSensitive.checked=this._state.matchCase,a=!0),!this._state.isRevealed&&a&&this._revealTemporarily()})),this._register(Fi(this._domNode,On.MOUSE_LEAVE,r=>this._onMouseLeave())),this._register(Fi(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 tV 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 fi),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 iV=w("defaultLabel","input"),nV=w("label.preserveCaseToggle","Preserve Case");class sV extends bE{constructor(e){super({icon:Zt.preserveCase,title:nV+e.appendTitle,isChecked:e.isChecked,hoverDelegate:e.hoverDelegate??Kb("element"),inputActiveOptionBorder:e.inputActiveOptionBorder,inputActiveOptionForeground:e.inputActiveOptionForeground,inputActiveOptionBackground:e.inputActiveOptionBackground})}}class oV extends Fp{constructor(e,t,i,n){super(),this._showOptionButtons=i,this.fixFocusOnOptionClickEnabled=!0,this.cachedOptionsWidth=0,this._onDidOptionChange=this._register(new fi),this.onDidOptionChange=this._onDidOptionChange.event,this._onKeyDown=this._register(new fi),this.onKeyDown=this._onKeyDown.event,this._onMouseDown=this._register(new fi),this._onInput=this._register(new fi),this._onKeyUp=this._register(new fi),this._onPreserveCaseKeyDown=this._register(new fi),this.onPreserveCaseKeyDown=this._onPreserveCaseKeyDown.event,this.contextViewProvider=t,this.placeholder=n.placeholder||"",this.validation=n.validation,this.label=n.label||iV;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 mO(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 sV({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 il;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 ze,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),il=e},a=()=>{i.set(!1),il===e&&(il=void 0)};return vO(e.element)&&r(),t.add(e.onDidFocus(()=>r())),t.add(e.onDidBlur(()=>a())),t.add(Sn(()=>{Nm.splice(Nm.indexOf(e),1),a()})),{historyNavigationForwardsEnablement:n,historyNavigationBackwardsEnablement:s,dispose(){t.dispose()}}}let hC=class extends _O{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,Hi)],hC);let uC=class extends oV{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,Hi)],uC);Ea.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=>{il==null||il.showPreviousValue()}});Ea.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=>{il==null||il.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=Zn("find-collapsed",Zt.chevronRight,w("findCollapsedIcon","Icon to indicate that the editor find widget is collapsed.")),iI=Zn("find-expanded",Zt.chevronDown,w("findExpandedIcon","Icon to indicate that the editor find widget is expanded.")),rV=Zn("find-selection",Zt.selection,w("findSelectionIcon","Icon for 'Find in Selection' in the editor find widget.")),aV=Zn("find-replace",Zt.replace,w("findReplaceIcon","Icon for 'Replace' in the editor find widget.")),lV=Zn("find-replace-all",Zt.replaceAll,w("findReplaceAllIcon","Icon for 'Replace All' in the editor find widget.")),cV=Zn("find-previous-match",Zt.arrowUp,w("findPreviousMatchIcon","Icon for 'Find Previous' in the editor find widget.")),dV=Zn("find-next-match",Zt.arrowDown,w("findNextMatchIcon","Icon for 'Find Next' in the editor find widget.")),hV=w("label.findDialog","Find / Replace"),uV=w("label.find","Find"),gV=w("placeholder.find","Find"),fV=w("label.previousMatchButton","Previous Match"),pV=w("label.nextMatchButton","Next Match"),mV=w("label.toggleSelectionFind","Find in Selection"),_V=w("label.closeButton","Close"),vV=w("label.replace","Replace"),bV=w("placeholder.replace","Replace"),wV=w("label.replaceButton","Replace"),yV=w("label.replaceAllButton","Replace All"),SV=w("label.toggleReplaceButton","Toggle Replace"),CV=w("title.matchesCountLimit","Only the first {0} results are highlighted, but all find operations work on the entire text.",$l),xV=w("label.matchesLocation","{0} of {1}"),nI=w("label.noResults","No results"),ea=419,LV=275,kV=LV-54;let Ug=69;const IV=33,sI="ctrlEnterReplaceAll.windows.donotask",oI=La?256:2048;class py{constructor(e){this.afterLineNumber=e,this.heightInPx=IV,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 Fp{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(Sn(()=>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,cn)}_updateHistory(){this._state.searchString&&this._findInput.inputBox.addToHistory(),this._state.replaceString&&this._replaceInput.inputBox.addToHistory()}_updateMatchesCount(){var t;this._matchesCount.style.minWidth=Ug+"px",this._state.matchesCount>=$l?this._matchesCount.title=CV: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(xV,n,i)}else e=nI;this._matchesCount.appendChild(document.createTextNode(e)),gr(this._getAriaLabel(e,this._state.currentMatch,this._state.searchString)),Ug=Math.max(Ug,this._matchesCount.clientWidth)}_getAriaLabel(e,t,i){if(e===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=Xs(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=bO(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)>ea){this._domNode.style.maxWidth=`${i-28-n-15}px`,this._replaceInput.width=Qo(this._findInput.domNode);return}if(ea+28+n>=i&&(r=!0),ea+28+n-Ug>=i&&(a=!0),ea+28+n-Ug>=i+50&&(s=!0),this._domNode.classList.toggle("collapsed-find-widget",s),this._domNode.classList.toggle("narrow-find-widget",a),this._domNode.classList.toggle("reduced-find-widget",r),!a&&!s&&(this._domNode.style.maxWidth=`${i-28-n-15}px`),this._findInput.layout({collapsedFindWidget:s,narrowFindWidget:a,reducedFindWidget:r}),this._resized){const c=this._findInput.inputBox.element.clientWidth;c>0&&(this._replaceInput.width=c)}else this._isReplaceVisible&&(this._replaceInput.width=Qo(this._findInput.domNode))}_getHeight(){let e=0;return e+=4,e+=this._findInput.inputBox.height+2,this._isReplaceVisible&&(e+=4,e+=this._replaceInput.inputBox.height+2),e+=4,e}_tryUpdateHeight(){const e=this._getHeight();return this._cachedHeight!==null&&this._cachedHeight===e?!1:(this._cachedHeight=e,this._domNode.style.height=`${e}px`,!0)}focusFindInput(){this._findInput.select(),this._findInput.focus()}focusReplaceInput(){this._replaceInput.select(),this._replaceInput.focus()}highlightFindOptions(){this._findInput.highlightFindOptions()}_updateSearchScope(){if(this._codeEditor.hasModel()&&this._toggleSelectionFind.checked){const e=this._codeEditor.getSelections();e.map(t=>{t.endColumn===1&&t.endLineNumber>t.startLineNumber&&(t=t.setEndPosition(t.endLineNumber-1,this._codeEditor.getModel().getLineMaxColumn(t.endLineNumber-1)));const i=this._state.currentMatch;return t.startLineNumber!==t.endLineNumber&&!B.equalsRange(t,i)?t:null}).filter(t=>!!t),e.length&&this._state.change({searchScope:e},!0)}}_onFindInputMouseDown(e){e.middleButton&&e.stopPropagation()}_onFindInputKeyDown(e){if(e.equals(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:kV,label:uV,placeholder:gV,appendCaseSensitiveLabel:this._keybindingLabelFor(ln.ToggleCaseSensitiveCommand),appendWholeWordsLabel:this._keybindingLabelFor(ln.ToggleWholeWordCommand),appendRegexLabel:this._keybindingLabelFor(ln.ToggleRegexCommand),validation:g=>{if(g.length===0||!this._findInput.getRegex())return null;try{return new RegExp(g,"gu"),null}catch(f){return{content:f.message}}},flexibleHeight:!0,flexibleWidth:!0,flexibleMaxHeight:118,showCommonFindToggles:!0,showHistoryHint:()=>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()})),wO&&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:fV+this._keybindingLabelFor(ln.PreviousMatchFindAction),icon:cV,hoverDelegate:i,onTrigger:()=>{su(this._codeEditor.getAction(ln.PreviousMatchFindAction)).run().then(void 0,cn)}},this._hoverService)),this._nextBtn=this._register(new Bh({label:pV+this._keybindingLabelFor(ln.NextMatchFindAction),icon:dV,hoverDelegate:i,onTrigger:()=>{su(this._codeEditor.getAction(ln.NextMatchFindAction)).run().then(void 0,cn)}},this._hoverService));const n=document.createElement("div");n.className="find-part",n.appendChild(this._findInput.domNode);const s=document.createElement("div");s.className="find-actions",n.appendChild(s),s.appendChild(this._matchesCount),s.appendChild(this._prevBtn.domNode),s.appendChild(this._nextBtn.domNode),this._toggleSelectionFind=this._register(new bE({icon:rV,title:mV+this._keybindingLabelFor(ln.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:_V+this._keybindingLabelFor(ln.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:vV,placeholder:bV,appendPreserveCaseLabel:this._keybindingLabelFor(ln.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:wV+this._keybindingLabelFor(ln.ReplaceOneAction),icon:aV,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:yV+this._keybindingLabelFor(ln.ReplaceAllAction),icon:lV,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:SV,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=hV,this._domNode.role="dialog",this._domNode.style.width=`${ea}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=ea;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<ea)return;const p=parseFloat(yO(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<ea)return;let f=ea;if(!this._resized||g===ea){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 Fp{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 ${Hf(o.type)?"dotted":"solid"} ${t}; box-sizing: border-box; }`);const i=o.getColor(SO);i&&e.addRule(`.monaco-editor .findScope { border: 1px ${Hf(o.type)?"dashed":"solid"} ${i}; }`);const n=o.getColor(ol);n&&e.addRule(`.monaco-editor .find-widget { border: 1px solid ${n}; }`);const s=o.getColor(CO);s&&e.addRule(`.monaco-editor .findMatchInline { color: ${s}; }`);const r=o.getColor(xO);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},Wo=function(o,e){return function(t,i){e(t,i,o)}},fC;const DV=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)<DV)return o.getModel().getValueInRange(i)}return null}var Id;let Js=(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=wl.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 tV),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=Wf(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=Wf(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 Cf(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);Js=fC=XM([Wo(1,Hi),Wo(2,Lc),Wo(3,wg),Wo(4,Vs),Wo(5,Bp)],Js);let mC=class extends Js{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([Wo(1,Wb),Wo(2,Hi),Wo(3,ss),Wo(4,mr),Wo(5,Vs),Wo(6,Lc),Wo(7,wg),Wo(8,Bp)],mC);const EV=yE(new SE({id:ln.StartFindAction,label:w("startFindAction","Find"),alias:"Find",precondition:ae.or(M.focus,ae.has("editorIsOpen")),kbOpts:{kbExpr:null,primary:2084,weight:100},menuOpts:{menuId:st.MenubarEditMenu,group:"3_find",title:w({key:"miFind",comment:["&& denotes a mnemonic"]},"&&Find"),order:1}}));EV.addImplementation(0,(o,e,t)=>{const i=Js.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 PV={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 TV extends ye{constructor(){super({id:ln.StartFindWithArgs,label:w("startFindWithArgsAction","Find With Arguments"),alias:"Find With Arguments",precondition:void 0,kbOpts:{kbExpr:null,primary:0,weight:100},metadata:PV})}async run(e,t,i){const n=Js.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 MV extends ye{constructor(){super({id:ln.StartFindWithSelection,label:w("startFindWithSelectionAction","Find With Selection"),alias:"Find With Selection",precondition:void 0,kbOpts:{kbExpr:null,primary:0,mac:{primary:2083},weight:100}})}async run(e,t){const i=Js.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 ye{async run(e,t){const i=Js.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 NV extends YM{constructor(){super({id:ln.NextMatchFindAction,label:w("findNextMatchAction","Find Next"),alias:"Find Next",precondition:void 0,kbOpts:[{kbExpr:M.focus,primary:61,mac:{primary:2085,secondary:[61]},weight:100},{kbExpr:ae.and(M.focus,bw),primary:3,weight:100}]})}_run(e){return e.moveToNextMatch()?(e.editor.pushUndoStop(),!0):!1}}class RV extends YM{constructor(){super({id:ln.PreviousMatchFindAction,label:w("findPreviousMatchAction","Find Previous"),alias:"Find Previous",precondition:void 0,kbOpts:[{kbExpr:M.focus,primary:1085,mac:{primary:3109,secondary:[1085]},weight:100},{kbExpr:ae.and(M.focus,bw),primary:1027,weight:100}]})}_run(e){return e.moveToPrevMatch()}}class AV extends ye{constructor(){super({id:ln.GoToMatchFindAction,label:w("findMatchAction.goToMatch","Go to Match..."),alias:"Go to Match...",precondition:wl}),this._highlightDecorations=[]}run(e,t,i){const n=Js.get(t);if(!n)return;const s=n.getState().matchesCount;if(s<1){e.get(Vs).notify({severity:E0.Warning,message:w("findMatchAction.noResults","No matches. Try searching for something else.")});return}const r=e.get(fl),a=new ze,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:wa.Full}}}])})}}class JM extends ye{async run(e,t){const i=Js.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 OV extends JM{constructor(){super({id:ln.NextSelectionMatchFindAction,label:w("nextSelectionMatchFindAction","Find Next Selection"),alias:"Find Next Selection",precondition:void 0,kbOpts:{kbExpr:M.focus,primary:2109,weight:100}})}_run(e){return e.moveToNextMatch()}}class FV extends JM{constructor(){super({id:ln.PreviousSelectionMatchFindAction,label:w("previousSelectionMatchFindAction","Find Previous Selection"),alias:"Find Previous Selection",precondition:void 0,kbOpts:{kbExpr:M.focus,primary:3133,weight:100}})}_run(e){return e.moveToPrevMatch()}}const HV=yE(new SE({id:ln.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:st.MenubarEditMenu,group:"3_find",title:w({key:"miReplace",comment:["&& denotes a mnemonic"]},"&&Replace"),order:2}}));HV.addImplementation(0,(o,e,t)=>{if(!e.hasModel()||e.getOption(92))return!1;const i=Js.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})});vi(Js.ID,mC,0);ie(TV);ie(MV);ie(NV);ie(RV);ie(AV);ie(OV);ie(FV);const $r=eo.bindToContribution(Js.get);Et(new $r({id:ln.CloseFindWidgetCommand,precondition:wl,handler:o=>o.closeFindWidget(),kbOpts:{weight:105,kbExpr:ae.and(M.focus,ae.not("isComposing")),primary:9,secondary:[1033]}}));Et(new $r({id:ln.ToggleCaseSensitiveCommand,precondition:void 0,handler:o=>o.toggleCaseSensitive(),kbOpts:{weight:105,kbExpr:M.focus,primary:Im.primary,mac:Im.mac,win:Im.win,linux:Im.linux}}));Et(new $r({id:ln.ToggleWholeWordCommand,precondition:void 0,handler:o=>o.toggleWholeWords(),kbOpts:{weight:105,kbExpr:M.focus,primary:Dm.primary,mac:Dm.mac,win:Dm.win,linux:Dm.linux}}));Et(new $r({id:ln.ToggleRegexCommand,precondition:void 0,handler:o=>o.toggleRegex(),kbOpts:{weight:105,kbExpr:M.focus,primary:Em.primary,mac:Em.mac,win:Em.win,linux:Em.linux}}));Et(new $r({id:ln.ToggleSearchScopeCommand,precondition:void 0,handler:o=>o.toggleSearchScope(),kbOpts:{weight:105,kbExpr:M.focus,primary:Pm.primary,mac:Pm.mac,win:Pm.win,linux:Pm.linux}}));Et(new $r({id:ln.TogglePreserveCaseCommand,precondition:void 0,handler:o=>o.togglePreserveCase(),kbOpts:{weight:105,kbExpr:M.focus,primary:Tm.primary,mac:Tm.mac,win:Tm.win,linux:Tm.linux}}));Et(new $r({id:ln.ReplaceOneAction,precondition:wl,handler:o=>o.replace(),kbOpts:{weight:105,kbExpr:M.focus,primary:3094}}));Et(new $r({id:ln.ReplaceOneAction,precondition:wl,handler:o=>o.replace(),kbOpts:{weight:105,kbExpr:ae.and(M.focus,S1),primary:3}}));Et(new $r({id:ln.ReplaceAllAction,precondition:wl,handler:o=>o.replaceAll(),kbOpts:{weight:105,kbExpr:M.focus,primary:2563}}));Et(new $r({id:ln.ReplaceAllAction,precondition:wl,handler:o=>o.replaceAll(),kbOpts:{weight:105,kbExpr:ae.and(M.focus,S1),primary:void 0,mac:{primary:2051}}}));Et(new $r({id:ln.SelectAllMatchesAction,precondition:wl,handler:o=>o.selectAllMatches(),kbOpts:{weight:105,kbExpr:M.focus,primary:515}}));const WV={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 Co{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 BV(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]=`[${WV[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 Co(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 BV{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 zV{get regions(){return this._regions}get textModel(){return this._textModel}constructor(e,t){this._updateEventEmitter=new fi,this.onDidChange=this._updateEventEmitter.event,this._textModel=e,this._decorationProvider=t,this._regions=new Co(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(Co.fromFoldRanges(t))}update(e,t){const i=this._currentFoldedOrManualRanges(t),n=Co.sanitizeAndMerge(e,i,this._textModel.getLineCount(),t);this.updatePost(Co.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=Co.sanitizeAndMerge(this._regions,t,i);this.updatePost(Co.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 VV(o,e,t){const i=[];for(const n of t){const s=o.getAllRegionsAtLine(n,r=>r.isCollapsed!==e);s.length>0&&i.push(s[0])}o.toggleCollapseState(i)}function jV(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 UV(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 $V(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 qV(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 KV{get onDidChange(){return this._updateEventEmitter.event}get hiddenRanges(){return this._hiddenRanges}constructor(e){this._updateEventEmitter=new fi,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||LO(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||!GV(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 GV(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 ZV=5e3,XV="indent";class D1{constructor(e,t,i){this.editorModel=e,this.languageConfigurationService=t,this.foldingRangesLimit=i,this.id=XV}dispose(){}compute(e){const t=this.languageConfigurationService.getLanguageConfiguration(this.editorModel.getLanguageId()).foldingRules,i=t&&!!t.offSide,n=t&&t.markers;return Promise.resolve(QV(this.editorModel,i,n,this.foldingRangesLimit))}}let YV=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 Co(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 Co(r,a)}}};const JV={limit:ZV,update:()=>{}};function QV(o,e,t,i=JV){const n=o.getOptions().tabSize,s=new YV(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 e4=mt("editor.foldBackground",{light:Sa(jL,.3),dark:Sa(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",kO,w("editorGutter.foldingControlForeground","Color of the folding control in the editor gutter."));const Q_=Zn("folding-expanded",Zt.chevronDown,w("foldingExpandedIcon","Icon for expanded ranges in the editor glyph margin.")),ev=Zn("folding-collapsed",Zt.chevronRight,w("foldingCollapsedIcon","Icon for collapsed ranges in the editor glyph margin.")),hI=Zn("folding-manual-collapsed",ev,w("foldingManualCollapedIcon","Icon for manually collapsed ranges in the editor glyph margin.")),uI=Zn("folding-manual-expanded",Q_,w("foldingManualExpandedIcon","Icon for manually expanded ranges in the editor glyph margin.")),_y={color:os(e4),position:1},zh=w("linesCollapsed","Click to expand the range."),Rm=w("linesExpanded","Click to collapse the range."),Jn=class Jn{constructor(e){this.editor=e,this.showFoldingControls="mouseover",this.showFoldingHighlights=!0}getDecorationOption(e,t,i){return t?Jn.HIDDEN_RANGE_DECORATION:this.showFoldingControls==="never"?e?this.showFoldingHighlights?Jn.NO_CONTROLS_COLLAPSED_HIGHLIGHTED_RANGE_DECORATION:Jn.NO_CONTROLS_COLLAPSED_RANGE_DECORATION:Jn.NO_CONTROLS_EXPANDED_RANGE_DECORATION:e?i?this.showFoldingHighlights?Jn.MANUALLY_COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION:Jn.MANUALLY_COLLAPSED_VISUAL_DECORATION:this.showFoldingHighlights?Jn.COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION:Jn.COLLAPSED_VISUAL_DECORATION:this.showFoldingControls==="mouseover"?i?Jn.MANUALLY_EXPANDED_AUTO_HIDE_VISUAL_DECORATION:Jn.EXPANDED_AUTO_HIDE_VISUAL_DECORATION:i?Jn.MANUALLY_EXPANDED_VISUAL_DECORATION:Jn.EXPANDED_VISUAL_DECORATION}changeDecorations(e){return this.editor.changeDecorations(e)}removeDecorations(e){this.editor.removeDecorations(e)}};Jn.COLLAPSED_VISUAL_DECORATION=xi.register({description:"folding-collapsed-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:!0,linesDecorationsTooltip:zh,firstLineDecorationClassName:qi.asClassName(ev)}),Jn.COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION=xi.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)}),Jn.MANUALLY_COLLAPSED_VISUAL_DECORATION=xi.register({description:"folding-manually-collapsed-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:!0,linesDecorationsTooltip:zh,firstLineDecorationClassName:qi.asClassName(hI)}),Jn.MANUALLY_COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION=xi.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)}),Jn.NO_CONTROLS_COLLAPSED_RANGE_DECORATION=xi.register({description:"folding-no-controls-range-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:!0,linesDecorationsTooltip:zh}),Jn.NO_CONTROLS_COLLAPSED_HIGHLIGHTED_RANGE_DECORATION=xi.register({description:"folding-no-controls-range-decoration",stickiness:0,afterContentClassName:"inline-folded",className:"folded-background",minimap:_y,isWholeLine:!0,linesDecorationsTooltip:zh}),Jn.EXPANDED_VISUAL_DECORATION=xi.register({description:"folding-expanded-visual-decoration",stickiness:1,isWholeLine:!0,firstLineDecorationClassName:"alwaysShowFoldIcons "+qi.asClassName(Q_),linesDecorationsTooltip:Rm}),Jn.EXPANDED_AUTO_HIDE_VISUAL_DECORATION=xi.register({description:"folding-expanded-auto-hide-visual-decoration",stickiness:1,isWholeLine:!0,firstLineDecorationClassName:qi.asClassName(Q_),linesDecorationsTooltip:Rm}),Jn.MANUALLY_EXPANDED_VISUAL_DECORATION=xi.register({description:"folding-manually-expanded-visual-decoration",stickiness:0,isWholeLine:!0,firstLineDecorationClassName:"alwaysShowFoldIcons "+qi.asClassName(uI),linesDecorationsTooltip:Rm}),Jn.MANUALLY_EXPANDED_AUTO_HIDE_VISUAL_DECORATION=xi.register({description:"folding-manually-expanded-auto-hide-visual-decoration",stickiness:0,isWholeLine:!0,firstLineDecorationClassName:qi.asClassName(uI),linesDecorationsTooltip:Rm}),Jn.NO_CONTROLS_EXPANDED_RANGE_DECORATION=xi.register({description:"folding-no-controls-range-decoration",stickiness:0,isWholeLine:!0}),Jn.HIDDEN_RANGE_DECORATION=xi.register({description:"folding-hidden-range-decoration",stickiness:1});let _C=Jn;const t4={},i4="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=i4,this.disposables=new ze,s&&this.disposables.add(s);for(const r of t)typeof r.onDidChange=="function"&&this.disposables.add(r.onDidChange(i))}compute(e){return n4(this.providers,this.editorModel,e).then(t=>{var i;return t?o4(t,this.foldingRangesLimit):((i=this.fallbackRangeProvider)==null?void 0:i.compute(e))??null})}dispose(){this.disposables.dispose()}}function n4(o,e,t){let i=null;const n=o.map((s,r)=>Promise.resolve(s.provideFoldingRanges(e,t4,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})}},Qn));return Promise.all(n).then(s=>i)}class s4{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 Co(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 Co(n,s,r)}}}function o4(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 s4(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 r4=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},$g=function(o,e){return function(t,i){e(t,i,o)}},Fc;const ws=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 ze),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=ws.bindTo(this.contextKeyService),this.foldingEnabled.set(this._isEnabled),this._register(this.editor.onDidChangeModel(()=>this.onModelChanged())),this._register(this.editor.onDidChangeConfiguration(c=>{if(c.hasChanged(43)&&(this._isEnabled=this.editor.getOptions().get(43),this.foldingEnabled.set(this._isEnabled),this.onModelChanged()),c.hasChanged(47)&&this.onModelChanged(),c.hasChanged(111)||c.hasChanged(45)){const h=this.editor.getOptions();this.foldingDecorationProvider.showFoldingControls=h.get(111),this.foldingDecorationProvider.showFoldingHighlights=h.get(45),this.triggerFoldingModelChanged()}c.hasChanged(44)&&(this._useFoldingProviders=this.editor.getOptions().get(44)!=="indentation",this.onFoldingStrategyChanged()),c.hasChanged(48)&&(this._unfoldOnClickAfterEndOfLine=this.editor.getOptions().get(48)),c.hasChanged(46)&&(this._foldingImportsByDefault=this.editor.getOptions().get(46))})),this.onModelChanged()}saveViewState(){const e=this.editor.getModel();if(!e||!this._isEnabled||e.isTooLargeForTokenization())return{};if(this.foldingModel){const t=this.foldingModel.getMemento(),i=this.rangeProvider?this.rangeProvider.id:void 0;return{collapsedRegions:t,lineCount:e.getLineCount(),provider:i,foldedImports:this._currentModelHasFoldedImports}}}restoreViewState(e){const t=this.editor.getModel();if(!(!t||!this._isEnabled||t.isTooLargeForTokenization()||!this.hiddenRangeModel)&&e&&(this._currentModelHasFoldedImports=!!e.foldedImports,e.collapsedRegions&&e.collapsedRegions.length>0&&this.foldingModel)){this._restoringViewState=!0;try{this.foldingModel.applyMemento(e.collapsedRegions)}finally{this._restoringViewState=!1}}}onModelChanged(){this.localToDispose.clear();const e=this.editor.getModel();!this._isEnabled||!e||e.isTooLargeForTokenization()||(this._currentModelHasFoldedImports=!1,this.foldingModel=new zV(e,this.foldingDecorationProvider),this.localToDispose.add(this.foldingModel),this.hiddenRangeModel=new KV(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 go,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(Up.Imports.value,!0);h&&(r=qu.capture(this.editor),this._currentModelHasFoldedImports=h)}const a=this.editor.getSelections();e.update(s,a4(a)),r==null||r.restore(this.editor);const c=this.updateDebounceInfo.update(e.textModel,t.elapsed());this.updateScheduler&&(this.updateScheduler.defaultDelay=c)}return e})}).then(void 0,e=>(cn(e),null)))}onHiddenRangesChanges(e){if(this.hiddenRangeModel&&e.length&&!this._restoringViewState){const t=this.editor.getSelections();t&&this.hiddenRangeModel.adjustSelections(t)&&this.editor.setSelections(t)}this.editor.setHiddenAreas(e,this)}onCursorPositionChanged(){this.hiddenRangeModel&&this.hiddenRangeModel.hasRanges()&&this.cursorChangedScheduler.schedule()}revealCursor(){const e=this.getFoldingModel();e&&e.then(t=>{if(t){const i=this.editor.getSelections();if(i&&i.length>0){const n=[];for(const s of i){const r=s.selectionStartLineNumber;this.hiddenRangeModel&&this.hiddenRangeModel.isHidden(r)&&n.push(...t.getAllRegionsAtLine(r,a=>a.isCollapsed&&r>a.startLineNumber))}n.length&&(t.toggleCollapseState(n),this.reveal(i[0].getPosition()))}}}).then(void 0,cn)}onEditorMouseDown(e){if(this.mouseDownInfo=null,!this.hiddenRangeModel||!e.target||!e.target.range||!e.event.leftButton&&!e.event.middleButton)return;const t=e.target.range;let i=!1;switch(e.target.type){case 4:{const n=e.target.detail,s=e.target.element.offsetLeft;if(n.offsetX-s<4)return;i=!0;break}case 7:{if(this._unfoldOnClickAfterEndOfLine&&this.hiddenRangeModel.hasRanges()&&!e.target.detail.isAfterLines)break;return}case 6:{if(this.hiddenRangeModel.hasRanges()){const n=this.editor.getModel();if(n&&t.startColumn===n.getLineMaxColumn(t.startLineNumber))break}return}default:return}this.mouseDownInfo={lineNumber:t.startLineNumber,iconClicked:i}}onEditorMouseUp(e){const t=this.foldingModel;if(!t||!this.mouseDownInfo||!e.target)return;const i=this.mouseDownInfo.lineNumber,n=this.mouseDownInfo.iconClicked,s=e.target.range;if(!s||s.startLineNumber!==i)return;if(n){if(e.target.type!==4)return}else{const a=this.editor.getModel();if(!a||s.startColumn!==a.getLineMaxColumn(i))return}const r=t.getRegionAtLine(i);if(r&&r.startLineNumber===i){const a=r.isCollapsed;if(n||a){const c=e.event.altKey;let h=[];if(c){const g=p=>!p.containedBy(r)&&!r.containedBy(p),f=t.getRegionsInside(null,g);for(const p of f)p.isCollapsed&&h.push(p);h.length===0&&(h=f)}else{const g=e.event.middleButton||e.event.shiftKey;if(g)for(const f of t.getRegionsInside(r))f.isCollapsed===a&&h.push(f);(a||!g||h.length===0)&&h.push(r)}t.toggleCollapseState(h),this.reveal({lineNumber:i,column:1})}}}reveal(e){this.editor.revealPositionInCenterIfOutsideViewport(e,0)}},Fc=Dd,Dd.ID="editor.contrib.folding",Dd);yc=Fc=r4([$g(1,Hi),$g(2,gs),$g(3,Vs),$g(4,$o),$g(5,kt)],yc);class tN{constructor(e){this.editor=e,this._onDidChange=new fi,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 ks extends ye{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 a4(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(!Yg(o)){if(!LE(o))return!1;const e=o;if(!Yg(e.levels)&&!UL(e.levels)||!Yg(e.direction)&&!YD(e.direction)||!Yg(e.selectionLines)&&(!Array.isArray(e.selectionLines)||!e.selectionLines.every(UL)))return!1}return!0}class l4 extends ks{constructor(){super({id:"editor.unfold",label:w("unfoldAction.label","Unfold"),alias:"Unfold",precondition:ws,kbOpts:{kbExpr:M.editorTextFocus,primary:3166,mac:{primary:2654},weight:100},metadata:{description:"Unfold the content in the editor",args:[{name:"Unfold editor argument",description:`Property-value pairs that can be passed through this argument:
|
|
23
|
+
* 'levels': Number of levels to unfold. If not set, defaults to 1.
|
|
24
|
+
* 'direction': If 'up', unfold given number of levels up otherwise unfolds down.
|
|
25
|
+
* 'selectionLines': Array of the start lines (0-based) of the editor selections to apply the unfold action to. If not set, the active selection(s) will be used.
|
|
26
|
+
`,constraint: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 c4 extends ks{constructor(){super({id:"editor.unfoldRecursively",label:w("unFoldRecursivelyAction.label","Unfold Recursively"),alias:"Unfold Recursively",precondition:ws,kbOpts:{kbExpr:M.editorTextFocus,primary:ns(2089,2142),weight:100}})}invoke(e,t,i,n){Eg(t,!1,Number.MAX_VALUE,this.getSelectedLines(i))}}class d4 extends ks{constructor(){super({id:"editor.fold",label:w("foldAction.label","Fold"),alias:"Fold",precondition:ws,kbOpts:{kbExpr:M.editorTextFocus,primary:3164,mac:{primary:2652},weight:100},metadata:{description:"Fold the content in the editor",args:[{name:"Fold editor argument",description:`Property-value pairs that can be passed through this argument:
|
|
27
|
+
* 'levels': Number of levels to fold.
|
|
28
|
+
* 'direction': If 'up', folds given number of levels up otherwise folds down.
|
|
29
|
+
* 'selectionLines': Array of the start lines (0-based) of the editor selections to apply the fold action to. If not set, the active selection(s) will be used.
|
|
30
|
+
If no levels or direction is set, folds the region at the locations or if already collapsed, the first uncollapsed parent instead.
|
|
31
|
+
`,constraint: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"?VV(t,!0,s):a==="up"?QM(t,!0,r||1,s):Eg(t,!0,r||1,s)}}class h4 extends ks{constructor(){super({id:"editor.toggleFold",label:w("toggleFoldAction.label","Toggle Fold"),alias:"Toggle Fold",precondition:ws,kbOpts:{kbExpr:M.editorTextFocus,primary:ns(2089,2090),weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);L1(t,1,n)}}class u4 extends ks{constructor(){super({id:"editor.foldRecursively",label:w("foldRecursivelyAction.label","Fold Recursively"),alias:"Fold Recursively",precondition:ws,kbOpts:{kbExpr:M.editorTextFocus,primary:ns(2089,2140),weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);Eg(t,!0,Number.MAX_VALUE,n)}}class g4 extends ks{constructor(){super({id:"editor.toggleFoldRecursively",label:w("toggleFoldRecursivelyAction.label","Toggle Fold Recursively"),alias:"Toggle Fold Recursively",precondition:ws,kbOpts:{kbExpr:M.editorTextFocus,primary:ns(2089,3114),weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);L1(t,Number.MAX_VALUE,n)}}class f4 extends ks{constructor(){super({id:"editor.foldAllBlockComments",label:w("foldAllBlockComments.label","Fold All Block Comments"),alias:"Fold All Block Comments",precondition:ws,kbOpts:{kbExpr:M.editorTextFocus,primary:ns(2089,2138),weight:100}})}invoke(e,t,i,n,s){if(t.regions.hasTypes())I1(t,Up.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*"+Wf(a.blockCommentStartToken));k1(t,c,!0)}}}}class p4 extends ks{constructor(){super({id:"editor.foldAllMarkerRegions",label:w("foldAllMarkerRegions.label","Fold All Regions"),alias:"Fold All Regions",precondition:ws,kbOpts:{kbExpr:M.editorTextFocus,primary:ns(2089,2077),weight:100}})}invoke(e,t,i,n,s){if(t.regions.hasTypes())I1(t,Up.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 m4 extends ks{constructor(){super({id:"editor.unfoldAllMarkerRegions",label:w("unfoldAllMarkerRegions.label","Unfold All Regions"),alias:"Unfold All Regions",precondition:ws,kbOpts:{kbExpr:M.editorTextFocus,primary:ns(2089,2078),weight:100}})}invoke(e,t,i,n,s){if(t.regions.hasTypes())I1(t,Up.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 _4 extends ks{constructor(){super({id:"editor.foldAllExcept",label:w("foldAllExcept.label","Fold All Except Selected"),alias:"Fold All Except Selected",precondition:ws,kbOpts:{kbExpr:M.editorTextFocus,primary:ns(2089,2136),weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);eN(t,!0,n)}}class v4 extends ks{constructor(){super({id:"editor.unfoldAllExcept",label:w("unfoldAllExcept.label","Unfold All Except Selected"),alias:"Unfold All Except Selected",precondition:ws,kbOpts:{kbExpr:M.editorTextFocus,primary:ns(2089,2134),weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);eN(t,!1,n)}}class b4 extends ks{constructor(){super({id:"editor.foldAll",label:w("foldAllAction.label","Fold All"),alias:"Fold All",precondition:ws,kbOpts:{kbExpr:M.editorTextFocus,primary:ns(2089,2069),weight:100}})}invoke(e,t,i){Eg(t,!0)}}class w4 extends ks{constructor(){super({id:"editor.unfoldAll",label:w("unfoldAllAction.label","Unfold All"),alias:"Unfold All",precondition:ws,kbOpts:{kbExpr:M.editorTextFocus,primary:ns(2089,2088),weight:100}})}invoke(e,t,i){Eg(t,!1)}}const pu=class pu extends ks{getFoldingLevel(){return parseInt(this.id.substr(pu.ID_PREFIX.length))}invoke(e,t,i){jV(t,this.getFoldingLevel(),!0,this.getSelectedLines(i))}};pu.ID_PREFIX="editor.foldLevel",pu.ID=e=>pu.ID_PREFIX+e;let tv=pu;class y4 extends ks{constructor(){super({id:"editor.gotoParentFold",label:w("gotoParentFold.label","Go to Parent Fold"),alias:"Go to Parent Fold",precondition:ws,kbOpts:{kbExpr:M.editorTextFocus,weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);if(n.length>0){const s=UV(n[0],t);s!==null&&i.setSelection({startLineNumber:s,startColumn:1,endLineNumber:s,endColumn:1})}}}class S4 extends ks{constructor(){super({id:"editor.gotoPreviousFold",label:w("gotoPreviousFold.label","Go to Previous Folding Range"),alias:"Go to Previous Folding Range",precondition:ws,kbOpts:{kbExpr:M.editorTextFocus,weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);if(n.length>0){const s=$V(n[0],t);s!==null&&i.setSelection({startLineNumber:s,startColumn:1,endLineNumber:s,endColumn:1})}}}class C4 extends ks{constructor(){super({id:"editor.gotoNextFold",label:w("gotoNextFold.label","Go to Next Folding Range"),alias:"Go to Next Folding Range",precondition:ws,kbOpts:{kbExpr:M.editorTextFocus,weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);if(n.length>0){const s=qV(n[0],t);s!==null&&i.setSelection({startLineNumber:s,startColumn:1,endLineNumber:s,endColumn:1})}}}class x4 extends ks{constructor(){super({id:"editor.createFoldingRangeFromSelection",label:w("createManualFoldRange.label","Create Folding Range from Selection"),alias:"Create Folding Range from Selection",precondition:ws,kbOpts:{kbExpr:M.editorTextFocus,primary:ns(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=Co.sanitizeAndMerge(t.regions,n,(r=i.getModel())==null?void 0:r.getLineCount());t.updatePost(Co.fromFoldRanges(a))}}}}class L4 extends ks{constructor(){super({id:"editor.removeManualFoldingRanges",label:w("removeManualFoldingRanges.label","Remove Manual Folding Ranges"),alias:"Remove Manual Folding Ranges",precondition:ws,kbOpts:{kbExpr:M.editorTextFocus,primary:ns(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()}}}vi(yc.ID,yc,0);ie(l4);ie(c4);ie(d4);ie(u4);ie(g4);ie(b4);ie(w4);ie(f4);ie(p4);ie(m4);ie(_4);ie(v4);ie(h4);ie(y4);ie(S4);ie(C4);ie(x4);ie(L4);for(let o=1;o<=7;o++)IO(new tv({id:tv.ID(o),label:w("foldLevelAction.label","Fold Level {0}",o),alias:`Fold Level ${o}`,precondition:ws,kbOpts:{kbExpr:M.editorTextFocus,primary:ns(2089,2048|21+o),weight:100}}));mn.registerCommand("_executeFoldingRangeProvider",async function(o,...e){const[t]=e;if(!(t instanceof sn))throw Qa();const i=o.get(kt),n=o.get(js).getModel(t);if(!n)throw Qa();const s=o.get(xn);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(pi.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:_?Up.fromValue(_):void 0})}return p}finally{g.dispose()}});class k4 extends ye{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){$f.setZoomLevel($f.getZoomLevel()+1)}}class I4 extends ye{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){$f.setZoomLevel($f.getZoomLevel()-1)}}class D4 extends ye{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){$f.setZoomLevel(0)}}ie(k4);ie(I4);ie(D4);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},xf=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 ze,this._sessionDisposables=new ze,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}});DO(this._workerService,this._languageFeaturesService,t,i,e,t.getFormattingOptions(),n.token).then(r=>{n.token.isCancellationRequested||Lo(r)&&(this._accessibilitySignalService.playSignal(IE.format,{userGesture:!1}),EO.execute(this._editor,r,!0))}).finally(()=>{s.dispose()})}},Ru.ID="editor.contrib.autoFormat",Ru);iv=nN([xf(1,kt),xf(2,_l),xf(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 ze,this._callOnModel=new ze,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,Ga.None,pi.None,!1).catch(cn))}},Au.ID="editor.contrib.formatOnPaste",Au);nv=nN([xf(1,kt),xf(2,di)],nv);class E4 extends ye{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(di);await e.get(Rp).showWhile(i.invokeFunction(PO,t,1,Ga.None,pi.None,!0),250)}}}class P4 extends ye{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:ns(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(di),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(Rp).showWhile(i.invokeFunction(DE,t,s,1,Ga.None,pi.None,!0),250)}}vi(iv.ID,iv,2);vi(nv.ID,nv,2);ie(E4);ie(P4);mn.registerCommand("editor.action.format",async o=>{const e=o.get(es).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 T4=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},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 Va extends cu{static create(e,t,i){const n=new ps(i),s=new Va(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||[])Va._makeOutlineElement(_,p);return p},v=>(Qn(v),p)).then(v=>{cu.empty(v)?v.remove():s._groups.set(f,v)})}),c=e.onDidChange(()=>{const h=e.ordered(t);xa(h,r)||n.cancel()});return Promise.all(a).then(()=>n.token.isCancellationRequested&&!i.isCancellationRequested?Va.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)Va._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=Ja.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(...Ja.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 Va._flattenDocumentSymbols(t,e,""),t.sort((i,n)=>Lt.compare(B.getStartPosition(i.range),B.getStartPosition(n.range))||Lt.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&&Va._flattenDocumentSymbols(e,n.children,n.name)}}const sm=pl("IOutlineModelService");let bC=class{constructor(e,t,i){this._languageFeaturesService=e,this._disposables=new ze,this._cache=new Op(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()||!xa(s.provider,n)){const a=new ps;s={versionId:e.getVersionId(),provider:n,promiseCnt:0,source:a,promise:Va.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=T4([vy(0,kt),vy(1,$o),vy(2,js)],bC);ml(sm,bC,1);mn.registerCommand("_executeDocumentSymbolProvider",async function(o,...e){const[t]=e;Bi(sn.isUri(t));const i=o.get(sm),s=await o.get(Ur).createModelReference(t);try{return(await i.getOrCreate(s.object.textEditorModel,pi.None)).getTopLevelSymbols()}finally{s.dispose()}});const oa=class oa extends je{constructor(e,t){super(),this.contextKeyService=e,this.model=t,this.inlineCompletionVisible=oa.inlineSuggestionVisible.bindTo(this.contextKeyService),this.inlineCompletionSuggestsIndentation=oa.inlineSuggestionHasIndentation.bindTo(this.contextKeyService),this.inlineCompletionSuggestsIndentationLessThanTabSize=oa.inlineSuggestionHasIndentationLessThanTabSize.bindTo(this.contextKeyService),this.suppressSuggestions=oa.suppressSuggestions.bindTo(this.contextKeyService),this._register(An(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(An(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=TO.visibleColumnFromColumn(g,v+1,_)<_}}this.inlineCompletionSuggestsIndentation.set(s),this.inlineCompletionSuggestsIndentationLessThanTabSize.set(r)}))}};oa.inlineSuggestionVisible=new Pi("inlineSuggestionVisible",!1,w("inlineSuggestionVisible","Whether an inline suggestion is visible")),oa.inlineSuggestionHasIndentation=new Pi("inlineSuggestionHasIndentation",!1,w("inlineSuggestionHasIndentation","Whether the inline suggestion starts with whitespace")),oa.inlineSuggestionHasIndentationLessThanTabSize=new Pi("inlineSuggestionHasIndentationLessThanTabSize",!0,w("inlineSuggestionHasIndentationLessThanTabSize","Whether the inline suggestion starts with whitespace that is less than what would be inserted by tab")),oa.suppressSuggestions=new Pi("inlineSuggestionSuppressSuggestions",void 0,w("suppressSuggestions","Whether suggestions should be suppressed for the current suggestion"));let uo=oa;function M4(o){const e=new ze,t=e.add(EE());return e.add(An(i=>{t.setStyle(o.read(i))})),e}class rp{constructor(e,t){this.lineNumber=e,this.parts=t}equals(e){return this.lineNumber===e.lineNumber&&this.parts.length===e.parts.length&&this.parts.every((t,i)=>t.equals(e.parts[i]))}renderForScreenReader(e){if(this.parts.length===0)return"";const t=this.parts[this.parts.length-1],i=e.substr(0,t.column-1);return new PE([...this.parts.map(s=>new al(B.fromPositions(new Lt(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 xa(o,e,oN)}function oN(o,e){return o===e?!0:!o||!e?!1:o instanceof rp&&e instanceof rp||o instanceof wC&&e instanceof wC?o.equals(e):!1}const N4=[];function R4(){return N4}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 ze,i=o.createDecorationsCollection();return t.add(MO({debugName:()=>`Apply decorations from ${e.debugName}`},n=>{const s=e.read(n);i.set(s)})),t.add({dispose:()=>{i.clear()}}),t}function A4(o,e){return new Lt(o.lineNumber+e.lineNumber-1,e.lineNumber===1?o.column+e.column-1:e.column)}function fI(o,e){return new Lt(o.lineNumber-e.lineNumber+1,o.lineNumber-e.lineNumber===0?o.column-e.column+1:o.column)}var O4=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},F4=function(o,e){return function(t,i){e(t,i,o)}};const pI="ghost-text";let yC=class extends je{constructor(e,t,i){super(),this.editor=e,this.model=t,this.languageService=i,this.isDisposed=ko(this,!1),this.currentTextModel=ro(this,this.editor.onDidChangeModel,()=>this.editor.getModel()),this.uiState=Ji(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 qf(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 qf(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=Ji(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 Lt(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 H4(this.editor,this.languageService.languageIdCodec,Ji(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(Sn(()=>{this.isDisposed.set(!0,void 0)})),this._register(aN(this.editor,this.decorations))}ownsViewZone(e){return this.additionalLinesWidget.viewZoneId===e}};yC=O4([F4(2,jr)],yC);class H4 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(An(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");W4(c,s,t,this.editor.getOptions(),this.languageIdCodec),this._viewZoneId=r.addZone({afterLineNumber:e,heightInLines:a,domNode:c,afterColumnAffinity:1})}})}}function W4(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),V=NO(E),F=RO.createEmpty(E,n);NE(new RE(g.isMonospace&&!s,g.canUseHalfwidthRightwardsArrow,E,!1,N,V,0,F,D.decorations,e,0,g.spaceWidth,g.middotWidth,g.wsmiddotWidth,r,a,c,h!==AO.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 B4(o,e){const t=new WO,i=new FO(t,h=>e.getLanguageConfiguration(h)),n=new OO(new z4([o]),i),s=HO(n,[],void 0,!0);let r="";const a=o.getLineContent();function c(h,g){if(h.kind===2)if(c(h.openingBracket,g),g=Bg(g,h.openingBracket.length),h.child&&(c(h.child,g),g=Bg(g,h.child.length)),h.closingBracket)c(h.closingBracket,g),g=Bg(g,h.closingBracket.length);else{const p=i.getSingleLanguageBracketTokens(h.openingBracket.languageId).findClosingTokenText(h.openingBracket.bracketIds);r+=p}else if(h.kind!==3){if(h.kind===0||h.kind===1)r+=a.substring($L(g),$L(Bg(g,h.length)));else if(h.kind===4)for(const f of h.children)c(f,g),g=Bg(g,f.length)}}return c(s,BO),r}class z4{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=pi.None,s){const r=e instanceof Lt?U4(e,t):e,a=o.all(t),c=new zO;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 V=c.get(N);for(const F of V)E.push(F)}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 V of N){const F=p(V,E);if(F)return F}}finally{f.delete(D)}}function v(D){const E=g.get(D);if(E)return E;const N=p(D,[]);N&&Qn(new Error(`Inline completions: cyclic yield-to dependency detected. Path: ${N.map(F=>F.toString?F.toString():""+F).join(" -> ")}`));const V=new Fb;return g.set(D,V.p),(async()=>{var F;if(!N){const Y=h(D);for(const X of Y){const ue=await v(X);if(ue&&ue.items.length>0)return}}try{return e instanceof Lt?await D.provideInlineCompletions(t,e,i,n):await((F=D.provideInlineEdits)==null?void 0:F.call(D,t,e,i,n))}catch(Y){Qn(Y);return}})().then(F=>V.complete(F),F=>V.error(F)),V.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 j4(E,D.provider);S.push(N);for(const V of E.items){const F=ov.from(V,N,r,t,s);y.set(F.hash(),F)}}return new V4(Array.from(y.values()),new Set(y.keys()),S)}class V4{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 j4{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 ao?(r=g.children[0].value,a=void 0):(r=g.toString(),a={snippet:e.insertText.snippet,range:c})}else VO(e.insertText);return new ov(r,e.command,c,r,a,e.additionalTextEdits||R4(),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 al(this.range,this.insertText)}}function U4(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?B4(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=jp(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 al(c,a)}function cN(o,e){return o.text.startsWith(e.text)&&$4(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=xs(r).length;if(s.range.startColumn-1<=a){const _=xs(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),V=s.text.startsWith(y)?s.text.substring(y.length):s.text.substring(_);s=new al(N,V)}const h=e.getValueInRange(s.range),g=q4(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 rp(f,p)}function $4(o,e){return e.getStartPosition().equals(o.getStartPosition())&&e.getEndPosition().isBeforeOrEqual(o.getEndPosition())}let ta;function q4(o,e){if((ta==null?void 0:ta.originalValue)===o&&(ta==null?void 0:ta.newValue)===e)return ta==null?void 0:ta.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 ta={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 jO({getElements:()=>a},{getElements:()=>c}).ComputeDiff(!1).changes}var K4=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(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 Do),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 Z4(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===el.Automatic)&&await G4(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 Y4(_,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 X4(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=K4([yI(3,kt),yI(4,gs)],SC);function G4(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 Z4{constructor(e,t,i){this.position=e,this.context=t,this.versionId=i}satisfies(e){return this.position.equals(e.position)&&UO(this.context.selectedSuggestionInfo,e.context.selectedSuggestionInfo,qO())&&(e.context.triggerKind===el.Automatic||this.context.triggerKind===el.Explicit)&&this.versionId===e.versionId}}class X4{constructor(e,t,i){this.request=e,this.cancellationTokenSource=t,this.promise=i}dispose(){this.cancellationTokenSource.cancel()}}class Y4{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=Ka({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 al(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)&&!!$O(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 al(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 st("suggestWidgetStatusBar");class J4{constructor(e,t,i,n){var s;this.position=e,this.completion=t,this.container=i,this.provider=n,this.isInvalid=!1,this.score=jf.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 Lt(t.range.startLineNumber,t.range.startColumn),this.editInsertEnd=new Lt(t.range.endLineNumber,t.range.endColumn),this.editReplaceEnd=new Lt(t.range.endLineNumber,t.range.endColumn),this.isInvalid=this.isInvalid||B.spansMultipleLines(t.range)||t.range.startLineNumber!==e.lineNumber):(this.editStart=new Lt(t.range.insert.startLineNumber,t.range.insert.startColumn),this.editInsertEnd=new Lt(t.range.insert.endLineNumber,t.range.insert.endColumn),this.editReplaceEnd=new Lt(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 go(!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 ap=nb;class Q4{constructor(e,t,i,n){this.items=e,this.needsClipboard=t,this.durations=i,this.disposable=n}}async function P1(o,e,t,i=ap.default,n={triggerKind:0},s=pi.None){const r=new go;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 ze,p=[];let v=!1;const _=(S,D,E)=>{var V;let N=!1;if(!D)return N;for(const F of D.suggestions)if(!i.kindFilter.has(F.kind)){if(!i.showDeprecated&&((V=F==null?void 0:F.tags)!=null&&V.includes(1)))continue;F.range||(F.range=h),F.sortText||(F.sortText=typeof F.label=="string"?F.label:F.label.label),!v&&F.insertTextRules&&F.insertTextRules&4&&(v=sh.guessNeedsClipboard(F.insertText)),g.push(new J4(t,F,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(V=>g.push(V)),D=D||N.length>0;return}if(!(i.providerFilter.size>0&&!i.providerFilter.has(E)))try{const N=new go,V=await E.provideCompletionItems(e,t,n,s);D=_(E,V,N)||D}catch(N){Qn(N)}})),D||s.isCancellationRequested)break}return await y,s.isCancellationRequested?(f.dispose(),Promise.reject(new Hb)):new Q4(g.sort(ij(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 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)}function tj(o,e){if(o.completion.kind!==e.completion.kind){if(o.completion.kind===27)return 1;if(e.completion.kind===27)return-1}return T1(o,e)}const ww=new Map;ww.set(0,ej);ww.set(2,tj);ww.set(1,T1);function ij(o){return ww.get(o)}mn.registerCommand("_executeCompletionItemProvider",async(o,...e)=>{const[t,i,n,s]=e;Bi(sn.isUri(t)),Bi(Lt.isIPosition(i)),Bi(typeof n=="string"||!n),Bi(typeof s=="number"||!s);const{completionProvider:r}=o.get(kt),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(pi.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 nj(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 KO(o,e)?o.charAt(0).toUpperCase()+o.slice(1):o}var sj=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},oj=function(o,e){return function(t,i){e(t,i,o)}};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=xs(s,0,this._selection.startColumn-1);let a=r;e.snippet.walk(h=>h===e?!1:(h instanceof ao&&(a=xs(Gb(h.value).pop())),!0));const c=jp(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 mf(this._model.uri.fsPath);if(t==="TM_FILENAME_BASE"){const i=mf(this._model.uri.fsPath),n=i.lastIndexOf(".");return n<=0?i:i.slice(0,n)}else{if(t==="TM_DIRECTORY")return GO(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=>!ZO(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=sj([oj(2,gs)],rv);const ra=class ra{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 ra.dayNames[this._date.getDay()];if(t==="CURRENT_DAY_NAME_SHORT")return ra.dayNamesShort[this._date.getDay()];if(t==="CURRENT_MONTH_NAME")return ra.monthNames[this._date.getMonth()];if(t==="CURRENT_MONTH_NAME_SHORT")return ra.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}}};ra.dayNames=[w("Sunday","Sunday"),w("Monday","Monday"),w("Tuesday","Tuesday"),w("Wednesday","Wednesday"),w("Thursday","Thursday"),w("Friday","Friday"),w("Saturday","Saturday")],ra.dayNamesShort=[w("SundayShort","Sun"),w("MondayShort","Mon"),w("TuesdayShort","Tue"),w("WednesdayShort","Wed"),w("ThursdayShort","Thu"),w("FridayShort","Fri"),w("SaturdayShort","Sat")],ra.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")],ra.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=ra;class DI{constructor(e){this._workspaceService=e}resolve(e){if(!this._workspaceService)return;const t=XO(this._workspaceService.getWorkspace());if(!YO(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 mf(e.uri.path);let t=mf(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=mf(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 rj=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},aj=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,Vo.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 Vo){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,Vo.compareByIndex)})}};Jo._decor={active:xi.register({description:"snippet-placeholder-1",stickiness:0,className:"snippet-placeholder"}),inactive:xi.register({description:"snippet-placeholder-2",stickiness:1,className:"snippet-placeholder"}),activeFinal:xi.register({description:"snippet-placeholder-3",stickiness:1,className:"finish-snippet-placeholder"}),inactiveFinal:xi.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=xs(r,0,t.column-1);let c;return n.walk(h=>{if(!(h instanceof ao)||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 ao(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(V=>V.get(Vu)),_=e.invokeWithinContext(V=>new kI(V.get(Vf),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((V,F)=>({selection:V,idx:F})).sort((V,F)=>B.compareRangesUsingStarts(V.selection,F.selection));for(const{selection:V,idx:F}of N){let Y=yr.adjustSelection(p,V,i,0),X=yr.adjustSelection(p,V,0,n);S!==p.getValueInRange(Y)&&(Y=V),D!==p.getValueInRange(X)&&(X=V);const ue=V.setStartPosition(Y.startLineNumber,Y.startColumn).setEndPosition(X.endLineNumber,X.endColumn),Ee=new sh().parse(t,!0,s),Ue=ue.getStartPosition(),ve=yr.adjustWhitespace(p,Ue,r||F>0&&E!==p.getLineFirstNonWhitespaceColumn(V.positionLineNumber),Ee);Ee.resolveVariables(new xI([_,new II(y,F,N.length,e.getOption(79)==="spread"),new LI(p,V,F,c),new rv(p,V,h),new av,new DI(v),new EI])),g[F]=zn.replace(ue,Ee.toString()),g[F].identifier={major:F,minor:0},g[F]._isTracked=!0,f[F]=new lv(e,Ee,ve)}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 Yp,p=new xI([e.invokeWithinContext(_=>new kI(_.get(Vf),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 F=t[_-1].range,Y=B.fromPositions(F.getEndPosition(),y.getStartPosition()),X=new ao(h.getValueInRange(Y));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 V=zn.replace(y,N);V.identifier={major:_,minor:0},V._isTracked=!0,c.push(V)}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(){Os(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=rj([aj(3,gs)],cv);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},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 pa;let zs=(pa=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 ze,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?(Bi(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()||!Lt.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(()=>{nj(this._editor,this._choiceCompletions.provider)}))}finish(){for(;this._inSnippet.get();)this.next()}cancel(e=!1){var t;this._inSnippet.reset(),this._hasPrevTabstop.reset(),this._hasNextTabstop.reset(),this._snippetListener.clear(),this._currentChoice=void 0,(t=this._session)==null||t.dispose(),this._session=void 0,this._modelVersionId=-1,e&&this._editor.setSelections([this._editor.getSelection()])}prev(){var e;(e=this._session)==null||e.prev(),this._updateState()}next(){var e;(e=this._session)==null||e.next(),this._updateState()}isInSnippet(){return!!this._inSnippet.get()}},Qh=pa,pa.ID="snippetController2",pa.InSnippetMode=new Pi("inSnippetMode",!1,w("inSnippetMode","Whether the editor in current in snippet mode")),pa.HasNextTabstop=new Pi("hasNextTabstop",!1,w("hasNextTabstop","Whether there is a next tab stop when in snippet mode")),pa.HasPrevTabstop=new Pi("hasPrevTabstop",!1,w("hasPrevTabstop","Whether there is a previous tab stop when in snippet mode")),pa);zs=Qh=lj([Am(1,vh),Am(2,kt),Am(3,Hi),Am(4,gs)],zs);vi(zs.ID,zs,4);const yw=eo.bindToContribution(zs.get);Et(new yw({id:"jumpToNextSnippetPlaceholder",precondition:ae.and(zs.InSnippetMode,zs.HasNextTabstop),handler:o=>o.next(),kbOpts:{weight:130,kbExpr:M.textInputFocus,primary:2}}));Et(new yw({id:"jumpToPrevSnippetPlaceholder",precondition:ae.and(zs.InSnippetMode,zs.HasPrevTabstop),handler:o=>o.prev(),kbOpts:{weight:130,kbExpr:M.textInputFocus,primary:1026}}));Et(new yw({id:"leaveSnippet",precondition:zs.InSnippetMode,handler:o=>o.cancel(!0),kbOpts:{weight:130,kbExpr:M.textInputFocus,primary:9,secondary:[1033]}}));Et(new yw({id:"acceptSnippet",precondition:zs.InSnippetMode,handler:o=>o.finish()}));var cj=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},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=ko(this,!1),this._forceUpdateExplicitlySignal=M0(this),this._selectedInlineCompletionId=ko(this,void 0),this._primaryPosition=Ji(this,_=>this._positions.read(_)[0]??new Lt(1,1)),this._isAcceptingPartially=!1,this._preserveCurrentCompletionReasons=new Set([za.Redo,za.Undo,za.AcceptWord]),this._fetchInlineCompletionsPromise=HE({owner:this,createEmptyChangeSummary:()=>({preserveCurrentCompletion:!1,inlineCompletionTriggerKind:el.Automatic}),handleChange:(_,y)=>(_.didChange(this._textModelVersionId)&&this._preserveCurrentCompletionReasons.has(this._getReason(_.change))?y.preserveCurrentCompletion=!0:_.didChange(this._forceUpdateExplicitlySignal)&&(y.inlineCompletionTriggerKind=el.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(ue=>{(!X||D.request.versionId>X.request.versionId)&&this._source.inlineCompletions.set(D.clone(),ue),this._source.clearSuggestWidgetInlineCompletions(ue)})}const N=this._primaryPosition.read(_),V={triggerKind:y.inlineCompletionTriggerKind,selectedSuggestionInfo:E==null?void 0:E.toSelectedSuggestionInfo()},F=this.selectedInlineCompletion.get(),Y=y.preserveCurrentCompletion||F!=null&&F.forwardStable?F:void 0;return this._source.fetch(N,V,Y)}),this._filteredInlineCompletionItems=Ka({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=Ji(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=Ji(this,_=>{const y=this._filteredInlineCompletionItems.read(_),S=this.selectedInlineCompletionIndex.read(_);return y[S]}),this.activeCommands=Ka({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=Ji(this,_=>{if(this.lastTriggerKind.read(_)===el.Explicit)return this._filteredInlineCompletionItems.read(_).length}),this.state=Ka({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 V=(E==null?void 0:E.edit)??D,F=E?E.edit.text.length-D.text.length:0,Y=this._suggestPreviewMode.read(_),X=this._positions.read(_),ue=[V,...yy(this.textModel,X,V)],Ee=ue.map((ve,ot)=>vI(ve,y,Y,X[ot],F)).filter(Xm),Ue=Ee[0]??new rp(V.range.endLineNumber,[]);return{edits:ue,primaryGhostText:Ue,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(_),V=this._positions.read(_),F=[E,...yy(this.textModel,V,E)],Y=F.map((X,ue)=>vI(X,y,N,V[ue],0)).filter(Xm);return Y[0]?{edits:F,primaryGhostText:Y[0],ghostTexts:Y,inlineCompletion:D,suggestItem:void 0}:void 0}}),this.ghostTexts=Ka({owner:this,equalsFn:gI},_=>{const y=this.state.read(_);if(y)return y.ghostTexts}),this.primaryGhostText=Ka({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(An(_=>{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,V=N.source;(E=(D=V.provider).handleItemDidShow)==null||E.call(D,V.inlineCompletions,N.sourceInlineCompletion,N.insertText)}}))}_getReason(e){return e!=null&&e.isUndoing?za.Undo:e!=null&&e.isRedoing?za.Redo:this.isAcceptingPartially?za.AcceptWord:za.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 JO(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=zs.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,Qn),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 Lt(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 al(_,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=cj([wy(9,di),wy(10,us),wy(11,gs)],CC);var za;(function(o){o[o.Undo=0]="Undo",o[o.Redo=1]="Redo",o[o.AcceptWord=2]="AcceptWord",o[o.Other=3]="Other"})(za||(za={}));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 cn(new Xu(`positionWithinTextEdit line number should be bigger than 0.
|
|
36
|
+
Invalid subtraction between ${i.toString()} and ${s.toString()}`)),[];const h=dj(t.text,c);return n.map(g=>{const f=A4(fI(g,s),r),p=o.getValueInRange(B.fromPositions(g,f)),v=jp(a,p),_=B.fromPositions(g,g.delta(0,v));return new al(_,h)})}function dj(o,e){let t="";const i=e2(o);for(let n=e.lineNumber-1;n<i.length;n++)t+=i[n].substring(n===e.lineNumber-1?e.column-1:0);return t}function MI(o){const e=QO.createSortPermutation(o,zp(s=>s.range,B.compareRangesUsingStarts)),i=new PE(e.apply(o)).getNewRanges();return e.inverse().apply(i).map(s=>s.getEndPosition())}var hj=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},NI=function(o,e){return function(t,i){e(t,i,o)}},sf;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 uj extends M1{constructor(){super("recentlyUsed"),this._cache=new Op(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 gj extends M1{constructor(){super("recentlyUsedByPrefix"),this._trie=t2.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 ze,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=sf._strategyCtors.get(i)||RI;this._strategy=new s;try{const a=this._configService.getValue("editor.suggest.shareSuggestSelections")?0:1,c=this._storageService.get(`${sf._storagePrefix}/${i}`,a);c&&this._strategy.fromJSON(JSON.parse(c))}catch{}}return this._strategy}_saveState(){if(this._strategy){const t=this._configService.getValue("editor.suggest.shareSuggestSelections")?0:1,i=JSON.stringify(this._strategy);this._storageService.store(`${sf._storagePrefix}/${this._strategy.name}`,i,t,1)}}},sf=ac,ac._strategyCtors=new Map([["recentlyUsedByPrefix",gj],["recentlyUsed",uj],["first",RI]]),ac._storagePrefix="suggest/memories",ac);xC=sf=hj([NI(0,Lc),NI(1,xn)],xC);const Sw=pl("ISuggestMemories");ml(Sw,xC,1);var fj=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},pj=function(o,e){return function(t,i){e(t,i,o)}},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=fj([pj(1,Hi)],dv);var mj=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},_j=function(o,e){return function(t,i){e(t,i,o)}},of,Pd;let gg=(Pd=class{constructor(e,t){this._editor=e,this._index=0,this._ckOtherSuggestions=of.OtherSuggestions.bindTo(t)}dispose(){this.reset()}reset(){var e;this._ckOtherSuggestions.reset(),(e=this._listener)==null||e.dispose(),this._model=void 0,this._acceptNext=void 0,this._ignore=!1}set({model:e,index:t},i){if(e.items.length===0){this.reset();return}if(of._moveIndex(!0,e,t)===t){this.reset();return}this._acceptNext=i,this._model=e,this._index=t,this._listener=this._editor.onDidChangeCursorPosition(()=>{this._ignore||this.reset()}),this._ckOtherSuggestions.set(!0)}static _moveIndex(e,t,i){let n=i;for(let s=t.items.length;s>0&&(n=(n+t.items.length+(e?1:-1))%t.items.length,!(n===i||!t.items[n].completion.additionalTextEdits));s--);return n}next(){this._move(!0)}prev(){this._move(!1)}_move(e){if(this._model)try{this._ignore=!0,this._index=of._moveIndex(e,this._model,this._index),this._acceptNext({index:this._index,item:this._model.items[this._index],model:this._model})}finally{this._ignore=!1}}},of=Pd,Pd.OtherSuggestions=new Pi("hasOtherSuggestions",!1),Pd);gg=of=mj([_j(1,Hi)],gg);class vj{constructor(e,t,i,n){this._disposables=new ze,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||!Lo(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 Oo=class Oo{async provideSelectionRanges(e,t){const i=[];for(const n of t){const s=[];i.push(s);const r=new Map;await new Promise(a=>Oo._bracketsRightYield(a,0,e,n,r)),await new Promise(a=>Oo._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>=Oo._maxRounds){e();break}if(!n){e();break}const c=i.bracketPairs.findNextBracket(n);if(!c){e();break}if(Date.now()-a>Oo._maxDuration){setTimeout(()=>Oo._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>=Oo._maxRounds&&s.size===0){e();break}if(!n){e();break}const h=i.bracketPairs.findPrevBracket(n);if(!h){e();break}if(Date.now()-c>Oo._maxDuration){setTimeout(()=>Oo._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}),Oo._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 Lt(n,s),t.getEndPosition())}),i.push({range:B.fromPositions(new Lt(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 Lt(r,a),t.getEndPosition())}),i.push({range:B.fromPositions(new Lt(r,1),t.getEndPosition())}))}}};Oo._maxDuration=30,Oo._maxRounds=2;let hv=Oo;const aa=class aa{static async create(e,t){if(!t.getOption(119).localityBonus||!t.hasModel())return aa.None;const i=t.getModel(),n=t.getPosition();if(!e.canComputeWordRanges(i.uri))return aa.None;const[s]=await new hv().provideSelectionRanges(i,[n]);if(s.length===0)return aa.None;const r=await e.computeWordRanges(i.uri,s[0].range);if(!r)return aa.None;const a=i.getWordUntilPosition(n);return delete r[a.word],new class extends aa{distance(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(i2(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 _}}}};aa.None=new class extends aa{distance(){return 0}};let uv=aa,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:n2;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=jf.Default;else{let _=0;for(;_<p;){const y=n.charCodeAt(_);if(y===32||y===9)_+=1;else break}if(_>=v)g.score=jf.Default;else if(typeof g.completion.filterText=="string"){const y=c(n,s,_,g.completion.filterText,g.filterTextLow,0,this._fuzzyScoreOptions);if(!y)continue;s2(g.completion.filterText,g.textLabel)===0?g.score=y:(g.score=o2(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?r2(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 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},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 wj(o,e,t){if(!e.getContextKeyValue(uo.inlineSuggestionVisible.key))return!0;const i=e.getContextKeyValue(uo.suppressSuggestions.key);return i!==void 0?!i:!o.getOption(62).suppressSuggestions}function yj(o,e,t){if(!e.getContextKeyValue("inlineSuggestionVisible"))return!0;const i=e.getContextKeyValue(uo.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 ze,this._triggerCharacterListener=new ze,this._triggerQuickSuggest=new Np,this._triggerState=void 0,this._completionDisposables=new ze,this._onDidCancel=new fi,this._onDidTrigger=new fi,this._onDidSuggest=new fi,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(){Os(this._triggerCharacterListener),Os([this._onDidCancel,this._onDidSuggest,this._onDidTrigger,this._triggerQuickSuggest]),this._toDispose.dispose(),this._completionDisposables.dispose(),this.cancel()}_updateTriggerCharacters(){if(this._triggerCharacterListener.clear(),this._editor.getOption(92)||!this._editor.hasModel()||!this._editor.getOption(122))return;const e=new Map;for(const i of this._languageFeaturesService.completionProvider.all(this._editor.getModel()))for(const n of i.triggerCharacters||[]){let s=e.get(n);s||(s=new Set,e.set(n,s)),s.add(i)}const t=i=>{var r;if(!yj(this._editor,this._contextKeyService,this._configurationService)||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="";l2(i.charCodeAt(i.length-1))?c2(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=zs.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}wj(this._editor,this._contextKeyService,this._configurationService)&&this._languageFeaturesService.completionProvider.has(t)&&this.trigger({auto:!0})}},this._editor.getOption(91)))}_refilterCompletionItems(){Bi(this._editor.hasModel()),Bi(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 ap(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 F;if((F=this._requestToken)==null||F.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),V={...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),V,D),this._completionDisposables.add(y.disposable),this._onNewContext(N),this._reportDurationsTelemetry(y.durations),!this._envService.isBuilt||this._envService.isExtensionDevelopment)for(const Y of y.items)Y.isInvalid&&this._logService.warn(`[suggest] did IGNORE invalid completion item from ${Y.provider._debugDisplayName}`,Y.completion)}).catch(cn)}_reportDurationsTelemetry(e){this._telemetryGate++%230===0&&setTimeout(()=>{this._telemetryService.publicLog2("suggest.durations.json",{data:JSON.stringify(e)}),this._logService.debug("suggest.durations.json",e)})}static createSuggestFilter(e){const t=new Set;e.getOption(113)==="none"&&t.add(27);const n=e.getOption(119);return n.showMethods||t.add(0),n.showFunctions||t.add(1),n.showConstructors||t.add(2),n.showFields||t.add(3),n.showVariables||t.add(4),n.showClasses||t.add(5),n.showStructs||t.add(6),n.showInterfaces||t.add(7),n.showModules||t.add(8),n.showProperties||t.add(9),n.showEvents||t.add(10),n.showOperators||t.add(11),n.showUnits||t.add(12),n.showValues||t.add(13),n.showConstants||t.add(14),n.showEnums||t.add(15),n.showEnumMembers||t.add(16),n.showKeywords||t.add(17),n.showWords||t.add(18),n.showColors||t.add(19),n.showFiles||t.add(20),n.showReferences||t.add(21),n.showColors||t.add(22),n.showFolders||t.add(23),n.showTypeParameters||t.add(24),n.showSnippets||t.add(27),n.showUsers||t.add(25),n.showIssues||t.add(26),{itemKind:t,showDeprecated:n.showDeprecated}}_onNewContext(e){if(this._context){if(e.lineNumber!==this._context.lineNumber){this.cancel();return}if(xs(e.leadingLineContent)!==xs(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=bj([Dl(1,_l),Dl(2,wg),Dl(3,Vr),Dl(4,vh),Dl(5,Hi),Dl(6,xn),Dl(7,kt),Dl(8,a2)],gv);const sb=class sb{constructor(e,t){this._disposables=new ze,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 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},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 ze,this.element=at(e,pt(".suggest-status-bar"));const r=(a=>a instanceof Zu?i.createInstance(d2,a,{useComma:!0}):void 0);this._leftActions=new Ff(this.element,{actionViewItemProvider:r}),this._rightActions=new Ff(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=Sj([Sy(2,di),Sy(3,mh),Sy(4,Hi)],DC);var Cj=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},xj=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 fi,this.onDidClose=this._onDidClose.event,this._onDidChangeContents=new fi,this.onDidChangeContents=this._onDidChangeContents.event,this._disposables=new ze,this._renderDisposeable=new ze,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}),at(this.domNode,this._scrollbar.getDomNode()),this._disposables.add(this._scrollbar),this._header=at(this._body,pt(".header")),this._close=at(this._header,pt("span"+qi.asCSSSelector(Zt.close))),this._close.title=w("details.close","Close"),this._type=at(this._header,pt("p.type")),this._docs=at(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 Rs().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 ya(this._type),this._type.title="",So(this._type),this.domNode.classList.add("no-type");if(ya(this._docs),typeof n=="string")this._docs.classList.remove("markdown-docs"),this._docs.textContent=n;else if(n){this._docs.classList.add("markdown-docs"),ya(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,h2(this.domNode,e,t)),this._scrollbar.scanDomNode()}scrollDown(e=8){this._body.scrollTop+=e}scrollUp(e=8){this._body.scrollTop-=e}scrollTop(){this._body.scrollTop=0}scrollBottom(){this._body.scrollTop=this._body.scrollHeight}pageDown(){this.scrollDown(80)}pageUp(){this.scrollUp(80)}set borderWidth(e){this._borderWidth=e}get borderWidth(){return this._borderWidth}};EC=Cj([xj(1,di)],EC);class Lj{constructor(e,t){this.widget=e,this._editor=t,this.allowEditorOverflow=!0,this._disposables=new ze,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=Wp(this.getDomNode().ownerDocument.body),s=this.widget.getLayoutInfo(),r=new gn(220,2*s.lineHeight),a=e.top,c=(function(){const F=n.width-(e.left+e.width+s.borderWidth+s.horizontalPadding),Y=-s.borderWidth+e.left+e.width,X=new gn(F,n.height-e.top-s.borderHeight-s.verticalPadding),ue=X.with(void 0,e.top+e.height-s.borderHeight-s.verticalPadding);return{top:a,left:Y,fit:F-t.width,maxSizeTop:X,maxSizeBottom:ue,minSize:r.with(Math.min(F,r.width))}})(),h=(function(){const F=e.left-s.borderWidth-s.horizontalPadding,Y=Math.max(s.horizontalPadding,e.left-t.width-s.borderWidth),X=new gn(F,n.height-e.top-s.borderHeight-s.verticalPadding),ue=X.with(void 0,e.top+e.height-s.borderHeight-s.verticalPadding);return{top:a,left:Y,fit:F-t.width,maxSizeTop:X,maxSizeBottom:ue,minSize:r.with(Math.min(F,r.width))}})(),g=(function(){const F=e.left,Y=-s.borderWidth+e.top+e.height,X=new gn(e.width-s.borderHeight,n.height-e.top-e.height-s.verticalPadding);return{top:Y,left:F,fit:X.height-t.height,maxSizeBottom:X,maxSizeTop:X,minSize:r.with(X.width)}})(),f=[c,h,g],p=f.find(F=>F.fit>=0)??f.sort((F,Y)=>Y.fit-F.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 V=this._editor.getDomNode();if(V){const F=V.getBoundingClientRect();E-=F.top,N-=F.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 ba;(function(o){o[o.FILE=0]="FILE",o[o.FOLDER=1]="FOLDER",o[o.ROOT_FOLDER=2]="ROOT_FOLDER"})(ba||(ba={}));const kj=/(?:\/|^)(?:([^\/]+)\/)?([^\/]+)$/;function Om(o,e,t,i,n){if(qi.isThemeIcon(n))return[`codicon-${n.id}`,"predefined-file-icon"];if(sn.isUri(n))return[];const s=i===ba.ROOT_FOLDER?["rootfolder-icon"]:i===ba.FOLDER?["folder-icon"]:["file-icon"];if(t){let r;if(t.scheme===Gs.data)r=D_.parseMetaData(t).get(D_.META_DATA_LABEL);else{const a=t.path.match(kj);a?(r=Fm(a[2].toLowerCase()),a[1]&&s.push(`${Fm(a[1].toLowerCase())}-name-dir-icon`)):r=Fm(t.authority.toLowerCase())}if(i===ba.ROOT_FOLDER)s.push(`${r}-root-name-folder-icon`);else if(i===ba.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=Ij(o,e,t);a&&s.push(`${Fm(a)}-lang-file-icon`)}}return s}function Ij(o,e,t){if(!t)return null;let i=null;if(t.scheme===Gs.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!==Uf?i:e.guessLanguageIdByFilepathOrFirstLine(t)}function Fm(o){return o.replace(/[\s]/g,"/")}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},Cy=function(o,e){return function(t,i){e(t,i,o)}};function dN(o){return`suggest-aria-id:${o}`}const Ej=Zn("suggest-more-info",Zt.chevronRight,w("suggestMoreInfoIcon","Icon for more information in the suggest widget."));var Tr;const Pj=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 fi,this.onDidToggleDetails=this._onDidToggleDetails.event,this.templateId="suggestion"}dispose(){this._onDidToggleDetails.dispose()}renderTemplate(e){const t=new ze,i=e;i.classList.add("show-file-icons");const n=at(e,pt(".icon")),s=at(n,pt("span.colorspan")),r=at(e,pt(".contents")),a=at(r,pt(".main")),c=at(a,pt(".icon-label.codicon")),h=at(a,pt("span.left")),g=at(a,pt("span.right")),f=new lE(h,{supportHighlights:!0,supportIcons:!0});t.add(f);const p=at(h,pt("span.signature-label")),v=at(h,pt("span.qualifier-label")),_=at(g,pt("span.details-label")),y=at(g,pt("span.readMore"+qi.asCSSSelector(Ej)));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(),V=E.fontFeatureSettings,F=D.get(120)||E.fontSize,Y=D.get(121)||E.lineHeight,X=E.fontWeight,ue=E.letterSpacing,Ee=`${F}px`,Ue=`${Y}px`,ve=`${ue}px`;i.style.fontSize=Ee,i.style.fontWeight=X,i.style.letterSpacing=ve,a.style.fontFamily=N,a.style.fontFeatureSettings=V,a.style.lineHeight=Ue,n.style.height=Ue,n.style.width=Ue,y.style.height=Ue,y.style.width=Ue}}}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&&Pj.extract(e,r))i.icon.className="icon customcolor",i.iconContainer.className="icon hide",i.colorspan.style.backgroundColor=r[0];else if(n.kind===20&&this._themeService.getFileIconTheme().hasFileIcons){i.icon.className="icon hide",i.iconContainer.className="icon hide";const a=Om(this._modelService,this._languageService,sn.from({scheme:"fake",path:e.textLabel}),ba.FILE),c=Om(this._modelService,this._languageService,sn.from({scheme:"fake",path:n.detail}),ba.FILE);s.extraClasses=a.length>c.length?a:c}else n.kind===23&&this._themeService.getFileIconTheme().hasFolderIcons?(i.icon.className="icon hide",i.iconContainer.className="icon hide",s.extraClasses=[Om(this._modelService,this._languageService,sn.from({scheme:"fake",path:e.textLabel}),ba.FOLDER),Om(this._modelService,this._languageService,sn.from({scheme:"fake",path:n.detail}),ba.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):So(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"),So(i.readMore),i.readMore.onmousedown=null,i.readMore.onclick=null)}disposeTemplate(e){e.disposables.dispose()}};PC=Dj([Cy(1,js),Cy(2,jr),Cy(3,mr)],PC);function xy(o){return o.replace(/\r\n|\r|\n/g,"")}var Tj=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},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",u2,w("editorSuggestWidgetBorder","Border color of the suggest widget."));const Mj=mt("editorSuggestWidget.foreground",Vp,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",g2,w("editorSuggestWidgetSelectedIconForeground","Icon foreground color of the selected entry in the suggest widget."));const Nj=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",f2,w("editorSuggestWidgetFocusHighlightForeground","Color of the match highlights in the suggest widget when an item is focused."));mt("editorSuggestWidgetStatus.foreground",Sa(Mj,.5),w("editorSuggestWidgetStatusForeground","Foreground color of the suggest widget status."));class Rj{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 Do,this._pendingShowDetails=new Do,this._ignoreFocusEvents=!1,this._forceRenderingAbove=!1,this._explainMode=!1,this._showTimeout=new Np,this._disposables=new ze,this._onDidSelect=new ZL,this._onDidFocus=new ZL,this._onDidHide=new fi,this._onDidShow=new fi,this.onDidSelect=this._onDidSelect.event,this.onDidFocus=this._onDidFocus.event,this.onDidHide=this._onDidHide.event,this.onDidShow=this._onDidShow.event,this._onDetailsKeydown=new fi,this.onDetailsKeyDown=this._onDetailsKeydown.event,this.element=new u1,this.element.domNode.classList.add("editor-widget","suggest-widget"),this._contentWidget=new Aj(this,e),this._persistedSize=new Rj(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=at(this.element.domNode,pt(".message")),this._listElement=at(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 Lj(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:Nj,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(rl(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=Hf(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=Of(()=>{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(cn)),this._onDidFocus.fire({item:t,index:i,model:this._completionModel})}_setState(e){if(this._state!==e)switch(this._state=e,this.element.domNode.classList.toggle("frozen",e===4),this.element.domNode.classList.remove("message"),e){case 0:So(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,So(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,So(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:So(this._messageElement),ar(this._listElement,this._status.element),this._show();break;case 4:So(this._messageElement),ar(this._listElement,this._status.element),this._show();break;case 5:So(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=Of(()=>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=Wp(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=Xs(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=p2(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=Tj([Hm(1,Lc),Hm(2,Hi),Hm(3,mr),Hm(4,di)],TC);class Aj{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 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},Vh=function(o,e){return function(t,i){e(t,i,o)}},MC;class Fj{constructor(e,t){if(this._model=e,this._position=t,this._decorationOptions=xi.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 Do,this._toDispose=new ze,this._selectors=new Hj(f=>f.priority),this._onWillInsertSuggestItem=new fi,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 vj(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(Sn(()=>{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 V=!0;this.editor.getOption(1)==="smart"&&this.model.state===2&&!S.completion.additionalTextEdits&&!(S.completion.insertTextRules&4)&&N-E===S.completion.insertText.length&&(V=this.editor.getModel().getValueInRange({startLineNumber:D.lineNumber,startColumn:E,endLineNumber:D.lineNumber,endColumn:N})!==S.completion.insertText),v.set(V),_.set(!Lt.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))||La&&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 Fj(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=zs.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 go;let y;const S=n.onDidChangeContent(V=>{if(V.isFlush){c.cancel(),S.dispose();return}for(const F of V.changes){const Y=B.getEndPosition(F.range);(!y||Lt.isBefore(Y,y))&&(y=Y)}}),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(F=>Lt.isBefore(y,B.getStartPosition(F.range))))return!1;E&&this.editor.pushUndoStop();const V=qu.capture(this.editor);return this.editor.executeEdits("suggestController.additionalTextEdits.async",r.completion.additionalTextEdits.map(F=>zn.replaceMove(B.lift(F.range),F.text))),V.restoreRelativeVerticalPositionOfCursor(this.editor),(E||!(D&2))&&this.editor.pushUndoStop(),!0}).then(V=>{this._logService.trace("[suggest] async resolving of edits DONE (ms, applied?)",_.elapsed(),V),p=V===!0?1:V===!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 go;a.push(this._commandService.executeCommand(r.completion.command.id,...r.completion.command.arguments?[...r.completion.command.arguments]:[]).catch(y=>{r.completion.extensionId?Qn(y):cn(y)}).finally(()=>{f=_.elapsed()}))}t&4&&this._alternatives.value.set(e,_=>{for(c.cancel();n.canUndo();){s!==n.getAlternativeVersionId()&&n.undo(),this._insertSuggestion(_,3|(t&8?8:0));break}}),this._alertCompletionItem(r),Promise.all(a).finally(()=>{this._reportSuggestionAcceptedTelemetry(r,n,g,f,p,e.index,e.model.items),this.model.clear(),c.dispose()})}_reportSuggestionAcceptedTelemetry(e,t,i,n,s,r,a){var p;if(Math.floor(Math.random()*100)===0)return;const c=new Map;for(let v=0;v<Math.min(30,a.length);v++){const _=a[v].textLabel;c.has(_)?c.get(_).push(v):c.set(_,[v])}const h=c.get(e.textLabel),f=h&&h.length>1?h[0]:-1;this._telemetryService.publicLog2("suggest.acceptedSuggestion",{extensionId:((p=e.extensionId)==null?void 0:p.value)??"unknown",providerId:e.provider._debugDisplayName??"unknown",kind:e.completion.kind,basenameHash:xE(ka(t.uri)).toString(16),languageId:t.getLanguageId(),fileExtension:m2(t.uri),resolveInfo:e.provider.resolveCompletionItem?i?1:0:-1,resolveDuration:e.resolveDuration,commandDuration:n,additionalEditsAsync:s,index:r,firstIndex:f})}getOverwriteInfo(e,t){Bi(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(Lo(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)(()=>{Os(r),i()},void 0,r),this.model.onDidSuggest(({completionModel:a})=>{if(Os(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=Oj([Vh(1,Sw),Vh(2,us),Vh(3,Hi),Vh(4,di),Vh(5,vh),Vh(6,Vr)],cr);class Hj{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 ye{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;vi(cr.ID,cr,2);ie(fv);const Eo=190,Us=eo.bindToContribution(cr.get);Et(new Us({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:Eo},{primary:3,kbExpr:ae.and(Gt.Visible,M.textInputFocus,Gt.AcceptSuggestionsOnEnter,Gt.MakesTextEdit),weight:Eo}],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 Us({id:"acceptAlternativeSelectedSuggestion",precondition:ae.and(Gt.Visible,M.textInputFocus,Gt.HasFocusedSuggestion),kbOpts:{weight:Eo,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 Us({id:"hideSuggestWidget",precondition:Gt.Visible,handler:o=>o.cancelSuggestWidget(),kbOpts:{weight:Eo,kbExpr:M.textInputFocus,primary:9,secondary:[1033]}}));Et(new Us({id:"selectNextSuggestion",precondition:ae.and(Gt.Visible,ae.or(Gt.MultipleSuggestions,Gt.HasFocusedSuggestion.negate())),handler:o=>o.selectNextSuggestion(),kbOpts:{weight:Eo,kbExpr:M.textInputFocus,primary:18,secondary:[2066],mac:{primary:18,secondary:[2066,300]}}}));Et(new Us({id:"selectNextPageSuggestion",precondition:ae.and(Gt.Visible,ae.or(Gt.MultipleSuggestions,Gt.HasFocusedSuggestion.negate())),handler:o=>o.selectNextPageSuggestion(),kbOpts:{weight:Eo,kbExpr:M.textInputFocus,primary:12,secondary:[2060]}}));Et(new Us({id:"selectLastSuggestion",precondition:ae.and(Gt.Visible,ae.or(Gt.MultipleSuggestions,Gt.HasFocusedSuggestion.negate())),handler:o=>o.selectLastSuggestion()}));Et(new Us({id:"selectPrevSuggestion",precondition:ae.and(Gt.Visible,ae.or(Gt.MultipleSuggestions,Gt.HasFocusedSuggestion.negate())),handler:o=>o.selectPrevSuggestion(),kbOpts:{weight:Eo,kbExpr:M.textInputFocus,primary:16,secondary:[2064],mac:{primary:16,secondary:[2064,302]}}}));Et(new Us({id:"selectPrevPageSuggestion",precondition:ae.and(Gt.Visible,ae.or(Gt.MultipleSuggestions,Gt.HasFocusedSuggestion.negate())),handler:o=>o.selectPrevPageSuggestion(),kbOpts:{weight:Eo,kbExpr:M.textInputFocus,primary:11,secondary:[2059]}}));Et(new Us({id:"selectFirstSuggestion",precondition:ae.and(Gt.Visible,ae.or(Gt.MultipleSuggestions,Gt.HasFocusedSuggestion.negate())),handler:o=>o.selectFirstSuggestion()}));Et(new Us({id:"focusSuggestion",precondition:ae.and(Gt.Visible,Gt.HasFocusedSuggestion.negate()),handler:o=>o.focusSuggestion(),kbOpts:{weight:Eo,kbExpr:M.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[2087]}}}));Et(new Us({id:"focusAndAcceptSuggestion",precondition:ae.and(Gt.Visible,Gt.HasFocusedSuggestion.negate()),handler:o=>{o.focusSuggestion(),o.acceptSelectedSuggestion(!0,!1)}}));Et(new Us({id:"toggleSuggestionDetails",precondition:ae.and(Gt.Visible,Gt.HasFocusedSuggestion),handler:o=>o.toggleSuggestionDetails(),kbOpts:{weight:Eo,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 Us({id:"toggleExplainMode",precondition:Gt.Visible,handler:o=>o.toggleExplainMode(),kbOpts:{weight:100,primary:2138}}));Et(new Us({id:"toggleSuggestionFocus",precondition:Gt.Visible,handler:o=>o.toggleSuggestionFocus(),kbOpts:{weight:Eo,kbExpr:M.textInputFocus,primary:2570,mac:{primary:778}}}));Et(new Us({id:"insertBestCompletion",precondition:ae.and(M.textInputFocus,ae.equals("config.editor.tabCompletion","on"),dv.AtEnd,Gt.Visible.toNegated(),gg.OtherSuggestions.toNegated(),zs.InSnippetMode.toNegated()),handler:(o,e)=>{o.triggerSuggestAndAcceptBest(LE(e)?{fallback:"tab",...e}:{fallback:"tab"})},kbOpts:{weight:Eo,primary:2}}));Et(new Us({id:"insertNextSuggestion",precondition:ae.and(M.textInputFocus,ae.equals("config.editor.tabCompletion","on"),gg.OtherSuggestions,Gt.Visible.toNegated(),zs.InSnippetMode.toNegated()),handler:o=>o.acceptNextSuggestion(),kbOpts:{weight:Eo,kbExpr:M.textInputFocus,primary:2}}));Et(new Us({id:"insertPrevSuggestion",precondition:ae.and(M.textInputFocus,ae.equals("config.editor.tabCompletion","on"),gg.OtherSuggestions,Gt.Visible.toNegated(),zs.InSnippetMode.toNegated()),handler:o=>o.acceptPrevSuggestion(),kbOpts:{weight:Eo,kbExpr:M.textInputFocus,primary:1026}}));ie(class extends ye{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 Wj 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 fi),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=Lt.lift(c),_=h.map((S,D)=>{const E=Lf.fromSuggestion(n,g,v,S,this.isShiftKeyPressed),N=ld(E.toSingleTextEdit(),g),V=cN(p,N);return{index:D,valid:V,prefixLength:N.text.length,suggestItem:S}}).filter(S=>S&&S.valid&&S.prefixLength>0),y=_2(_,zp(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=Lf.fromSuggestion(n,h,c,a.item,this.isShiftKeyPressed);this.onWillAccept(g)}))}this.update(this._isActive)}update(e){const t=this.getSuggestItemInfo();(this._isActive!==e||!Bj(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 Lf.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 Lf{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 Lf(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 v2(this.range,this.insertText,this.completionItemKind,this.isSnippetText)}toSingleTextEdit(){return new al(this.range,this.insertText)}}function Bj(o,e){return o===e?!0:!o||!e?!1:o.equals(e)}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},Ha=function(o,e){return function(t,i){e(t,i,o)}},NC,Md;let Uo=(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=ua(this.editor),this._positions=Ji(this,p=>{var v;return((v=this._editorObs.selections.read(p))==null?void 0:v.map(_=>_.getEndPosition()))??[new Lt(1,1)]}),this._suggestWidgetAdaptor=this._register(new Wj(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=ro(this,p=>this._suggestWidgetAdaptor.onDidSelectedItemChange(()=>{this._editorObs.forceUpdate(v=>p(void 0))}),()=>this._suggestWidgetAdaptor.selectedItem),this._enabledInConfig=ro(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(62).enabled),this._isScreenReaderEnabled=ro(this,this._accessibilityService.onDidChangeScreenReaderOptimized,()=>this._accessibilityService.isScreenReaderOptimized()),this._editorDictationInProgress=ro(this,this._contextKeyService.onDidChangeContext,()=>this._contextKeyService.getContext(this.editor.getDomNode()).getValue("editorDictation.inProgress")===!0),this._enabled=Ji(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,ro(this.editor.onDidChangeConfiguration,()=>this.editor.getOption(119).preview),ro(this.editor.onDidChangeConfiguration,()=>this.editor.getOption(119).previewMode),ro(this.editor.onDidChangeConfiguration,()=>this.editor.getOption(62).mode),this._enabled):void 0}).recomputeInitiallyAndOnChange(this._store),this._ghostTexts=Ji(this,p=>{const v=this.model.read(p);return(v==null?void 0:v.ghostTexts.read(p))??[]}),this._stablizedGhostTexts=Vj(this._ghostTexts,this._store),this._ghostTextWidgets=b2(this,this._stablizedGhostTexts,(p,v)=>v.add(this._instantiationService.createInstance(yC,this.editor,{ghostText:p,minReservedLineCount:Za(0),targetTextModel:this.model.map(_=>_==null?void 0:_.textModel)}))).recomputeInitiallyAndOnChange(this._store),this._playAccessibilitySignal=M0(this),this._fontFamily=ro(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(62).fontFamily),this._register(new uo(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(An(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(Sn(()=>{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(w2(Ji(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 y2(this._suggestWidgetSelectedItem,Yg,()=>!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(M4(Ji(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 Lt(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);Uo=NC=zj([Ha(1,di),Ha(2,Hi),Ha(3,xn),Ha(4,us),Ha(5,$o),Ha(6,kt),Ha(7,kE),Ha(8,ss),Ha(9,jb)],Uo);function Vj(o,e){const t=ko("result",[]),i=[];return e.add(An(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]=ko("item",s[a]));t.set([...i],r)}i.forEach((a,c)=>a.set(s[c],r))})})),t}const rb=class rb extends ye{constructor(){super({id:rb.ID,label:w("action.inlineSuggest.showNext","Show Next Inline Suggestion"),alias:"Show Next Inline Suggestion",precondition:ae.and(M.writable,uo.inlineSuggestionVisible),kbOpts:{weight:100,primary:606}})}async run(e,t){var n;const i=Uo.get(t);(n=i==null?void 0:i.model.get())==null||n.next()}};rb.ID=wM;let RC=rb;const ab=class ab extends ye{constructor(){super({id:ab.ID,label:w("action.inlineSuggest.showPrevious","Show Previous Inline Suggestion"),alias:"Show Previous Inline Suggestion",precondition:ae.and(M.writable,uo.inlineSuggestionVisible),kbOpts:{weight:100,primary:604}})}async run(e,t){var n;const i=Uo.get(t);(n=i==null?void 0:i.model.get())==null||n.previous()}};ab.ID=bM;let AC=ab;class jj extends ye{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=Uo.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 Uj extends ye{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,uo.inlineSuggestionVisible),kbOpts:{weight:101,primary:2065,kbExpr:ae.and(M.writable,uo.inlineSuggestionVisible)},menuOpts:[{menuId:st.InlineSuggestionToolbar,title:w("acceptWord","Accept Word"),group:"primary",order:2}]})}async run(e,t){var n;const i=Uo.get(t);await((n=i==null?void 0:i.model.get())==null?void 0:n.acceptNextWord(i.editor))}}class $j extends ye{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,uo.inlineSuggestionVisible),kbOpts:{weight:101},menuOpts:[{menuId:st.InlineSuggestionToolbar,title:w("acceptLine","Accept Line"),group:"secondary",order:2}]})}async run(e,t){var n;const i=Uo.get(t);await((n=i==null?void 0:i.model.get())==null?void 0:n.acceptNextLine(i.editor))}}class qj extends ye{constructor(){super({id:vM,label:w("action.inlineSuggest.accept","Accept Inline Suggestion"),alias:"Accept Inline Suggestion",precondition:uo.inlineSuggestionVisible,menuOpts:[{menuId:st.InlineSuggestionToolbar,title:w("accept","Accept"),group:"primary",order:1}],kbOpts:{primary:2,weight:200,kbExpr:ae.and(uo.inlineSuggestionVisible,M.tabMovesFocus.toNegated(),uo.inlineSuggestionHasIndentationLessThanTabSize,Gt.Visible.toNegated(),M.hoverFocused.toNegated())}})}async run(e,t){var n;const i=Uo.get(t);i&&((n=i.model.get())==null||n.accept(i.editor),i.editor.focus())}}const lb=class lb extends ye{constructor(){super({id:lb.ID,label:w("action.inlineSuggest.hide","Hide Inline Suggestion"),alias:"Hide Inline Suggestion",precondition:uo.inlineSuggestionVisible,kbOpts:{weight:100,primary:9}})}async run(e,t){const i=Uo.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 Qs{constructor(){super({id:cb.ID,title:w("action.inlineSuggest.alwaysShowToolbar","Always Show Toolbar"),f1:!1,precondition:void 0,menu:[{id:st.InlineSuggestionToolbar,group:"secondary",order:10}],toggled:ae.equals("config.editor.inlineSuggest.showToolbar","always")})}async run(e,t){const i=e.get(xn),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 Kj=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},qg=function(o,e){return function(t,i){e(t,i,o)}};class Gj{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=Uo.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=Uo.get(this._editor);return i&&i.shouldShowHoverAt(e.range)?[new Gj(this,e.range,i)]:[]}renderHoverParts(e,t){const i=new ze,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,Za(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 ze,n=pt,s=n("div.hover-row.markdown-hover"),r=at(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 Rs().appendText(g).appendCodeblock("text",h)));r.replaceChildren(f.element)};return i.add(An(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=Kj([qg(1,jr),qg(2,zr),qg(3,jb),qg(4,di),qg(5,Vr)],HC);class Zj{}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}};vi(Uo.ID,Uo,3);ie(jj);ie(RC);ie(AC);ie(Uj);ie($j);ie(qj);ie(OC);en(FC);Sh.register(HC);Cw.register(new Zj);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},Ly=function(o,e){return function(t,i){e(t,i,o)}},rf,cc;let lp=(cc=class{constructor(e,t,i,n){this.textModelResolverService=t,this.languageService=i,this.languageFeaturesService=n,this.toUnhook=new ze,this.toUnhookForKeyboard=new ze,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=>{cn(a)}).finally(()=>{this.removeLinkDecorations()})})),this.toUnhook.add(s.onCancel(()=>{this.removeLinkDecorations(),this.currentWordAtPosition=null}))}static get(e){return e.getContribution(rf.ID)}async startFindDefinitionFromCursor(e){await this.startFindDefinition(e),this.toUnhookForKeyboard.add(this.editor.onDidChangeCursorPosition(()=>{this.currentWordAtPosition=null,this.removeLinkDecorations(),this.toUnhookForKeyboard.clear()})),this.toUnhookForKeyboard.add(this.editor.onKeyDown(t=>{t&&(this.currentWordAtPosition=null,this.removeLinkDecorations(),this.toUnhookForKeyboard.clear())}))}startFindDefinitionFromMouse(e,t){if(e.target.type===9&&this.linkDecorations.length>0)return;if(!this.editor.hasModel()||!this.isEnabled(e,t)){this.currentWordAtPosition=null,this.removeLinkDecorations();return}const i=e.target.position;this.startFindDefinition(i)}async startFindDefinition(e){var r;this.toUnhookForKeyboard.clear();const t=e?(r=this.editor.getModel())==null?void 0:r.getWordAtPosition(e):null;if(!t){this.currentWordAtPosition=null,this.removeLinkDecorations();return}if(this.currentWordAtPosition&&this.currentWordAtPosition.startColumn===t.startColumn&&this.currentWordAtPosition.endColumn===t.endColumn&&this.currentWordAtPosition.word===t.word)return;this.currentWordAtPosition=t;const i=new 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){cn(a);return}if(!n||!n.length||!i.validate(this.editor)){this.removeLinkDecorations();return}const s=n[0].originSelectionRange?B.lift(n[0].originSelectionRange):new B(e.lineNumber,t.startColumn,e.lineNumber,t.endColumn);if(n.length>1){let a=s;for(const{originSelectionRange:c}of n)c&&(a=B.plusRange(a,c));this.addDecoration(a,new Rs().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 Rs().appendCodeblock(p||"",f):void 0),c.dispose()})}}getPreviewValue(e,t,i){let n=i.range;return n.endLineNumber-n.startLineNumber>=rf.MAX_SOURCE_PREVIEW_LINES&&(n=this.getPreviewRangeBasedOnIndentation(e,t)),this.stripIndentationFromPreviewRange(e,t,n)}stripIndentationFromPreviewRange(e,t,i){let s=e.getLineFirstNonWhitespaceColumn(t);for(let a=t+1;a<i.endLineNumber;a++){const c=e.getLineFirstNonWhitespaceColumn(a);s=Math.min(s,c)}return e.getValueInRange(i).replace(new RegExp(`^\\s{${s-1}}`,"gm"),"").trim()}getPreviewRangeBasedOnIndentation(e,t){const i=e.getLineFirstNonWhitespaceColumn(t),n=Math.min(e.getLineCount(),t+rf.MAX_SOURCE_PREVIEW_LINES);let s=t+1;for(;s<n;s++){const r=e.getLineFirstNonWhitespaceColumn(s);if(i===r)break}return new B(t,1,s+1,1)}addDecoration(e,t){const i={range:e,options:{description:"goto-definition-link",inlineClassName:"goto-definition-link",hoverMessage:t}};this.linkDecorations.set([i])}removeLinkDecorations(){this.linkDecorations.clear()}isEnabled(e,t){var i;return this.editor.hasModel()&&e.isLeftClick&&e.isNoneOrSingleMouseDown&&e.target.type===6&&!(((i=e.target.detail.injectedText)==null?void 0:i.options)instanceof P0)&&(e.hasTriggerModifier||(t?t.keyCodeIsTriggerKey:!1))&&this.languageFeaturesService.definitionProvider.has(this.editor.getModel())}findDefinition(e,t){const i=this.editor.getModel();return i?tm(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 nm({openToSide:t,openInPeek:n,muteMessage:!0},{title:{value:"",original:""},id:"",precondition:void 0}).run(i)})}isInPeekEditor(e){const t=e.get(Hi);return Ys.inPeekEditor.getValue(t)}dispose(){this.toUnhook.dispose(),this.toUnhookForKeyboard.dispose()}},rf=cc,cc.ID="editor.contrib.gotodefinitionatposition",cc.MAX_SOURCE_PREVIEW_LINES=8,cc);lp=rf=Xj([Ly(1,Ur),Ly(2,jr),Ly(3,kt)],lp);vi(lp.ID,lp,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 fi,this.onDidChange=this._onDidChange.event,this._dispoables=new ze,this._markers=[],this._nextIdx=-1,sn.isUri(e)?this._resourceFilter=a=>a.toString()===e.toString():e&&(this._resourceFilter=e);const n=this._configService.getValue("problems.sortOrder"),s=(a,c)=>{let h=QL(a.resource.toString(),c.resource.toString());return h===0&&(n==="position"?h=B.compareRangesUsingStarts(a,c)||Fs.compare(a.severity,c.severity):h=Fs.compare(a.severity,c.severity)||B.compareRangesUsingStarts(a,c)),h},r=()=>{this._markers=this._markerService.read({resource:sn.isUri(e)?e:void 0,severities:Fs.Error|Fs.Warning|Fs.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,xn)],WC);const uN=pl("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,xn)],BC);ml(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 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},jh=function(o,e){return function(t,i){e(t,i,o)}},VC;class Jj{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 ze,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(rl(this._relatedBlock,"click",a=>{a.preventDefault();const c=this._relatedDiagnostics.get(a.target);c&&i(c)})),this._scrollable=new D2(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(){Os(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);ya(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=at(this._codeLink,pt("span"));v.innerText=s.value,p.appendChild(this._codeLink)}}if(ya(this._relatedBlock),this._editor.applyFontInfo(this._relatedBlock),Lo(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 Fs.Error:t=w("Error","Error");break;case Fs.Warning:t=w("Warning","Warning");break;case Fs.Info:t=w("Info","Info");break;case Fs.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 cp=(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 ze,this._onDidSelectRelatedInformation=new fi,this.onDidSelectRelatedInformation=this._onDidSelectRelatedInformation.event,this._severity=Fs.Warning,this._backgroundColor=Si.white,this._applyTheme(t.getColorTheme()),this._callOnDispose.add(t.onDidColorThemeChange(this._applyTheme.bind(this))),this.create()}_applyTheme(e){this._backgroundColor=e.getColor(iU);let t=jC,i=Qj;this._severity===Fs.Warning?(t=d_,i=eU):this._severity===Fs.Info&&(t=UC,i=tU);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=at(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 Jj(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(ka(a.uri),c)}this._icon.className=`codicon ${zC.className(Fs.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 st("gotoErrorTitleMenu"),Nd);cp=VC=Yj([jh(1,mr),jh(2,zr),jh(3,mh),jh(4,di),jh(5,Hi),jh(6,Vf)],cp);const FI=R0(C2,S2),HI=R0(L2,x2),WI=R0($y,k2),jC=mt("editorMarkerNavigationError.background",{dark:FI,light:FI,hcDark:ol,hcLight:ol},w("editorMarkerNavigationError","Editor marker navigation widget error color.")),Qj=mt("editorMarkerNavigationError.headerBackground",{dark:Sa(jC,.1),light:Sa(jC,.1),hcDark:null,hcLight:null},w("editorMarkerNavigationErrorHeaderBackground","Editor marker navigation widget error heading background.")),d_=mt("editorMarkerNavigationWarning.background",{dark:HI,light:HI,hcDark:ol,hcLight:ol},w("editorMarkerNavigationWarning","Editor marker navigation widget warning color.")),eU=mt("editorMarkerNavigationWarning.headerBackground",{dark:Sa(d_,.1),light:Sa(d_,.1),hcDark:"#0C141F",hcLight:Sa(d_,.2)},w("editorMarkerNavigationWarningBackground","Editor marker navigation widget warning heading background.")),UC=mt("editorMarkerNavigationInfo.background",{dark:WI,light:WI,hcDark:ol,hcLight:ol},w("editorMarkerNavigationInfo","Editor marker navigation widget info color.")),tU=mt("editorMarkerNavigationInfo.headerBackground",{dark:Sa(UC,.1),light:Sa(UC,.1),hcDark:null,hcLight:null},w("editorMarkerNavigationInfoHeaderBackground","Editor marker navigation widget info heading background.")),iU=mt("editorMarkerNavigation.background",I2,w("editorMarkerNavigationBackground","Editor marker navigation widget background."));var nU=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Wm=function(o,e){return function(t,i){e(t,i,o)}},af,Rd;let hh=(Rd=class{static get(e){return e.getContribution(af.ID)}constructor(e,t,i,n,s){this._markerNavigationService=t,this._contextKeyService=i,this._editorService=n,this._instantiationService=s,this._sessionDispoables=new ze,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(cp,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 Lt(e.startLineNumber,e.startColumn)),t.selected&&this._widget.showAtMarker(t.selected.marker,t.selected.index,t.selected.total)}}async nagivate(e,t){var i,n;if(this._editor.hasModel()){const s=this._getOrCreateModel(t?void 0:this._editor.getModel().uri);if(s.move(e,this._editor.getModel(),this._editor.getPosition()),!s.selected)return;if(s.selected.marker.resource.toString()!==this._editor.getModel().uri.toString()){this._cleanUp();const r=await this._editorService.openCodeEditor({resource:s.selected.marker.resource,options:{pinned:!1,revealIfOpened:!0,selectionRevealType:2,selection:s.selected.marker}},this._editor);r&&((i=af.get(r))==null||i.close(),(n=af.get(r))==null||n.nagivate(e,t))}else this._widget.showAtMarker(s.selected.marker,s.selected.index,s.selected.total)}}},af=Rd,Rd.ID="editor.contrib.markerController",Rd);hh=af=nU([Wm(1,uN),Wm(2,Hi),Wm(3,es),Wm(4,di)],hh);class xw extends ye{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:cp.TitleMenu,title:Vc.LABEL,icon:Zn("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:cp.TitleMenu,title:jc.LABEL,icon:Zn("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 sU 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:st.MenubarGoMenu,title:w({key:"miGotoNextProblem",comment:["&& denotes a mnemonic"]},"Next &&Problem"),group:"6_problem_nav",order:1}})}}class oU 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:st.MenubarGoMenu,title:w({key:"miGotoPreviousProblem",comment:["&& denotes a mnemonic"]},"Previous &&Problem"),group:"6_problem_nav",order:2}})}}vi(hh.ID,hh,4);ie(mv);ie($C);ie(sU);ie(oU);const gN=new Pi("markersNavigationVisible",!1),rU=eo.bindToContribution(hh.get);Et(new rU({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 aU extends ye{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:ns(2089,2087),weight:100}})}run(e,t,i){if(!t.hasModel())return;const n=Ms.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 lU extends ye{constructor(){super({id:LB,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=Ms.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=lp.get(t);if(!r)return;r.startFindDefinitionFromCursor(n).then(()=>{i.showContentHover(s,1,1,!0)})}}class cU extends ye{constructor(){super({id:kB,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=Ms.get(t);i&&i.scrollUp()}}class dU extends ye{constructor(){super({id:IB,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=Ms.get(t);i&&i.scrollDown()}}class hU extends ye{constructor(){super({id:DB,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=Ms.get(t);i&&i.scrollLeft()}}class uU extends ye{constructor(){super({id:EB,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=Ms.get(t);i&&i.scrollRight()}}class gU extends ye{constructor(){super({id:PB,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=Ms.get(t);i&&i.pageUp()}}class fU extends ye{constructor(){super({id:TB,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=Ms.get(t);i&&i.pageDown()}}class pU extends ye{constructor(){super({id:MB,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=Ms.get(t);i&&i.goToTop()}}class mU extends ye{constructor(){super({id:NB,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=Ms.get(t);i&&i.goToBottom()}}class _U extends ye{constructor(){super({id:uw,label:RB,alias:"Increase Hover Verbosity Level",precondition:M.hoverVisible})}run(e,t,i){const n=Ms.get(t);if(!n)return;const s=(i==null?void 0:i.index)!==void 0?i.index:n.focusedHoverPartIndex();n.updateHoverVerbosityLevel(zo.Increase,s,i==null?void 0:i.focus)}}class vU extends ye{constructor(){super({id:gw,label:AB,alias:"Decrease Hover Verbosity Level",precondition:M.hoverVisible})}run(e,t,i){var r;const n=Ms.get(t);if(!n)return;const s=(i==null?void 0:i.index)!==void 0?i.index:n.focusedHoverPartIndex();(r=Ms.get(t))==null||r.updateHoverVerbosityLevel(zo.Decrease,s,i==null?void 0:i.focus)}}var bU=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(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 wU{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:fo.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 wU(this,f,g))}return r}renderHoverParts(e,t){if(!t.length)return new lh([]);const i=new ze,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)=>Fs.compare(r.marker.severity,a.marker.severity))[0];return this.renderMarkerStatusbar(e,s,i),new lh(n)}_renderMarkerHover(e){const t=new ze,i=Zo("div.hover-row"),n=at(i,Zo("div.marker.hover-contents")),{source:s,message:r,code:a,relatedInformation:c}=e.marker;this._editor.applyFontInfo(n);const h=at(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=at(f,Zo("span"));y.innerText=s}const p=at(f,Zo("a.code-link"));p.setAttribute("href",a.target.toString()),t.add(Fi(p,"click",y=>{this._openerService.open(a.target,{allowCommands:!0}),y.preventDefault(),y.stopPropagation()}));const v=at(p,Zo("span"));v.innerText=a.value;const _=at(n,f);_.style.opacity="0.6",_.style.paddingLeft="6px"}else{const f=at(n,Zo("span"));f.style.opacity="0.6",f.style.paddingLeft="6px",f.innerText=s&&a?`${s}(${a})`:s||`(${a})`}if(Lo(c))for(const{message:f,resource:p,startLineNumber:v,startColumn:_}of c){const y=at(n,Zo("div"));y.style.marginTop="8px";const S=at(y,Zo("a"));S.innerText=`${ka(p)}(${v}, ${_}): `,S.style.cursor="pointer",t.add(Fi(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(cn)}}));const D=at(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===Fs.Error||t.marker.severity===Fs.Warning||t.marker.severity===Fs.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:Of(()=>n.textContent=w("checkingForQuickFixes","Checking for quick fixes..."),200,i);n.textContent||(n.textContent=" ");const r=this.getCodeActions(t.marker);i.add(Sn(()=>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(Sn(()=>{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=Xs(h);e.hide(),g==null||g.showCodeActions(BI,a,{x:f.left,y:f.top,width:f.width,height:f.height})}})},cn)}}getCodeActions(e){return fs(t=>ru(this._languageFeaturesService.codeActionProvider,this._editor.getModel(),new B(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn),BI,Ga.None,t))}};qC=bU([ky(1,E2),ky(2,zr),ky(3,kt)],qC);class yU{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||zf(c)||i.push(...aE(c).map(e))}return i}}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},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 ze),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 yU(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(rl(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=at(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=SU([zI(1,jr),zI(2,zr)],GC);var CU=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},xU=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 ze,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=CU([xU(1,di)],_v);class LU{}class kU{}class IU{}vi(Ms.ID,Ms,2);vi(_v.ID,_v,2);ie(aU);ie(lU);ie(cU);ie(dU);ie(hU);ie(uU);ie(gU);ie(fU);ie(pU);ie(mU);ie(_U);ie(vU);Sh.register(np);Sh.register(qC);Bb((o,e)=>{const t=o.getColor(P2);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 LU);Cw.register(new kU);Cw.register(new IU);function oo(o,e){let t=0;for(let i=0;i<o.length;i++)o.charAt(i)===" "?t+=e:t++;return t}function kf(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 T2(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=xs(p),_=v;s.shouldIncrease(t)?(_=h(_),v=h(v)):s.shouldIndentNextLine(t)&&(_=h(_)),t++;for(let y=t;y<=i;y++){if(DU(o,y))continue;const S=o.getLineContent(y),D=xs(S),E=_;s.shouldDecrease(y,E)&&(_=g(_),v=g(v)),D!==_&&f.push(zn.replaceMove(new Ut(y,1,y,D.length+1),M2(_,a,c))),!s.shouldIgnore(y)&&(s.shouldIncrease(y,E)?(v=h(v),_=v):s.shouldIndentNextLine(y,E)?_=h(_):_=v)}return f}function DU(o,e){return o.tokenization.isCheapToTokenize(e)?o.tokenization.getLineTokens(e).getStandardTokenType(0)===2:!1}var EU=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},PU=function(o,e){return function(t,i){e(t,i,o)}};const db=class db extends ye{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 AU(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 ye{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 OU(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 ye{constructor(e,t,i){super(i),this.insertSpaces=e,this.displaySizeOnly=t}run(e,t){const i=e.get(fl),n=e.get(js),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 ye{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(js),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 TU extends ye{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 MU extends ye{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 NU{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 ze,this.callOnModel=new ze,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)||RU(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 _=_f(s,i,i.getLanguageId(),f,g,this._languageConfigurationService);if(_!==null){const y=xs(p),S=oo(_,r),D=oo(y,r);if(S!==D){const E=kf(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=_f(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=oo(y,r),D=oo(xs(i.getLineContent(f+1)),r);if(S!==D){const E=S-D;for(let N=f+1;N<=e.endLineNumber;N++){const V=i.getLineContent(N),F=xs(V),X=oo(F,r)+E,ue=kf(X,r,c);ue!==F&&h.push({range:new B(N,1,N,F.length+1),text:ue})}}}}if(h.length>0){this.editor.pushUndoStop();const _=new NU(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=EU([PU(1,gs)],vv);function RU(o,e){const t=i=>N2(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 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,!0)}computeCursorState(e,t){return t.getTrackedSelection(this.selectionId)}}class OU{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)}}vi(vv.ID,vv,2);ie(ZC);ie(XC);ie(YC);ie(JC);ie(QC);ie(ex);ie(TU);ie(MU);vi(op.ID,op,1);Sh.register(X_);class FU{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 HU=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},WU=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 FU(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(cn)}).catch(cn)):Promise.resolve(void 0)}},h_=dc,dc.ID="editor.contrib.inPlaceReplaceController",dc.DECORATION=xi.register({description:"in-place-replace",className:"valueSetReplacement"}),dc);fg=h_=HU([WU(1,_l)],fg);class BU extends ye{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 zU extends ye{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)}}vi(fg.ID,fg,4);ie(BU);ie(zU);class VU extends ye{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)}}ie(VU);class jU{constructor(e,t,i){this._selection=e,this._cursors=t,this._selectionId=null,this._trimInRegexesAndStrings=i}getEditOperations(e,t){const i=UU(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 UU(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 $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},qU=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=xs(e.getLineContent(f)),D=_+oo(S,a);v=kf(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=_f(this._autoIndent,S,e.getLanguageIdAtPosition(f,1),r.startLineNumber,g,this._languageConfigurationService);if(D!==null){const E=xs(e.getLineContent(f)),N=oo(D,a),V=oo(E,a);N!==V&&(v=kf(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=_f(this._autoIndent,S,e.getLanguageIdAtPosition(f,1),r.startLineNumber+1,g,this._languageConfigurationService);if(D!==null){const E=xs(e.getLineContent(r.startLineNumber)),N=oo(D,a),V=oo(E,a);if(N!==V){const F=N-V;this.getIndentEditsOfMovingBlock(e,t,r,a,h,F)}}}}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=_f(this._autoIndent,v,e.getLanguageIdAtPosition(r.startLineNumber,1),f,g,this._languageConfigurationService);if(y!==null){const S=xs(e.getLineContent(r.startLineNumber)),D=oo(y,a),E=oo(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=xs(e.getLineContent(n));let h=xs(r);const g=YE(e,n,this._languageConfigurationService);g!==null&&g&2&&(h=t.unshiftIndent(h));const f=oo(h,i),p=oo(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=xs(c),f=oo(h,n)+r,p=kf(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=$U([qU(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=KU(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 dp=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(dp.getCollator().compare),t===!0&&(r=r.reverse()),{startLineNumber:i,endLineNumber:n,before:s,after:r}}function KU(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 ye{constructor(e,t){super(t),this.down=e}run(e,t){if(!t.hasModel())return;const i=t.getSelections().map((r,a)=>({selection:r,index:a,ignore:!1}));i.sort((r,a)=>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 GU 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:st.MenubarSelectionMenu,group:"2_line",title:w({key:"miCopyLinesUp",comment:["&& denotes a mnemonic"]},"&&Copy Line Up"),order:1}})}}class ZU 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:st.MenubarSelectionMenu,group:"2_line",title:w({key:"miCopyLinesDown",comment:["&& denotes a mnemonic"]},"Co&&py Line Down"),order:2}})}}class XU extends ye{constructor(){super({id:"editor.action.duplicateSelection",label:w("duplicateSelection","Duplicate Selection"),alias:"Duplicate Selection",precondition:M.writable,menuOpts:{menuId:st.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 R2(c,r.getValueInRange(a)))}t.pushUndoStop(),t.executeCommands(this.id,n),t.pushUndoStop()}}class bN extends ye{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 YU 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:st.MenubarSelectionMenu,group:"2_line",title:w({key:"miMoveLinesUp",comment:["&& denotes a mnemonic"]},"Mo&&ve Line Up"),order:3}})}}class JU 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:st.MenubarSelectionMenu,group:"2_line",title:w({key:"miMoveLinesDown",comment:["&& denotes a mnemonic"]},"Move &&Line Down"),order:4}})}}class wN extends ye{constructor(e,t){super(t),this.descending=e}run(e,t){if(!t.hasModel())return;const i=t.getModel();let n=t.getSelections();n.length===1&&n[0].isEmpty()&&(n=[new Ut(1,1,i.getLineCount(),i.getLineMaxColumn(i.getLineCount()))]);for(const r of n)if(!dp.canRun(t.getModel(),r,this.descending))return;const s=[];for(let r=0,a=n.length;r<a;r++)s[r]=new dp(n[r],this.descending);t.pushUndoStop(),t.executeCommands(this.id,s),t.pushUndoStop()}}class QU extends wN{constructor(){super(!1,{id:"editor.action.sortLinesAscending",label:w("lines.sortAscending","Sort Lines Ascending"),alias:"Sort Lines Ascending",precondition:M.writable})}}class e$ extends wN{constructor(){super(!0,{id:"editor.action.sortLinesDescending",label:w("lines.sortDescending","Sort Lines Descending"),alias:"Sort Lines Descending",precondition:M.writable})}}class t$ extends ye{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 ye{constructor(){super({id:mb.ID,label:w("lines.trimTrailingWhitespace","Trim Trailing Whitespace"),alias:"Trim Trailing Whitespace",precondition:M.writable,kbOpts:{kbExpr:M.editorTextFocus,primary:ns(2089,2102),weight:100}})}run(e,t,i){let n=[];i.reason==="auto-save"&&(n=(t.getSelections()||[]).map(g=>new Lt(g.positionLineNumber,g.positionColumn)));const s=t.getSelection();if(s===null)return;const r=e.get(xn),a=t.getModel(),c=r.getValue("files.trimTrailingWhitespaceInRegexAndStrings",{overrideIdentifier:a==null?void 0:a.getLanguageId(),resource:a==null?void 0:a.uri}),h=new jU(s,n,c);t.pushUndoStop(),t.executeCommands(this.id,[h]),t.pushUndoStop()}};mb.ID="editor.action.trimTrailingWhitespace";let ix=mb;class i$ extends ye{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 n$ extends ye{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,A2.indent(i.cursorConfig,t.getModel(),t.getSelections())),t.pushUndoStop())}}class s$ extends ye{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 o$ extends ye{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 r$ extends ye{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 ye{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 a$ 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 l$ 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 c$ extends ye{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 V=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 F=a.getLineContent(y);for(let X=y+1;X<=E;X++){const ue=a.getLineContent(X),Ee=a.getLineFirstNonWhitespaceColumn(X);if(Ee>=1){let Ue=!0;F===""&&(Ue=!1),Ue&&(F.charAt(F.length-1)===" "||F.charAt(F.length-1)===" ")&&(Ue=!1,F=F.replace(/[\s\uFEFF\xA0]+$/g," "));const ve=ue.substr(Ee-1);F+=(Ue?" ":"")+ve,Ue?D=ve.length+1:D=ve.length}else D=0}const Y=new B(y,S,E,N);if(!Y.isEmpty()){let X;_.isEmpty()?(c.push(zn.replace(Y,F)),X=new Ut(Y.startLineNumber-f,F.length-D+1,y-f,F.length-D+1)):_.startLineNumber===_.endLineNumber?(c.push(zn.replace(Y,F)),X=new Ut(_.startLineNumber-f,_.startColumn,_.endLineNumber-f,_.endColumn)):(c.push(zn.replace(Y,F)),X=new Ut(_.startLineNumber-f,_.startColumn,_.startLineNumber-f,F.length-V)),B.intersectRanges(Y,n)!==null?g=X:h.push(X)}f+=Y.endLineNumber-Y.startLineNumber}h.unshift(g),t.pushUndoStop(),t.executeEdits(this.id,c,h),t.pushUndoStop()}}class d$ extends ye{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 Tp(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 ye{run(e,t){const i=t.getSelections();if(i===null)return;const n=t.getModel();if(n===null)return;const s=t.getOption(132),r=[];for(const a of i)if(a.isEmpty()){const 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 h$ 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 u$ 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 nl{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 nl("(^|[^\\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 nl("(\\p{Ll})(\\p{Lu})","gmu"),_u.singleLetters=new nl("(\\p{Lu}|\\p{N})(\\p{Lu})(\\p{Ll})","gmu");let If=_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 nl("[_\\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 nl("[_\\s-]","gm"),vu.wordBoundaryToMaintain=new nl("(?<=\\.)","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 nl("(\\p{Ll})(\\p{Lu})","gmu"),Al.singleLetters=new nl("(\\p{Lu}|\\p{N})(\\p{Lu}\\p{Ll})","gmu"),Al.underscoreBoundary=new nl("(\\S)(_)(\\S)","gm");let Sv=Al;ie(GU);ie(ZU);ie(XU);ie(YU);ie(JU);ie(QU);ie(e$);ie(t$);ie(ix);ie(i$);ie(n$);ie(s$);ie(o$);ie(r$);ie(a$);ie(l$);ie(c$);ie(d$);ie(h$);ie(u$);If.caseBoundary.isSupported()&&If.singleLetters.isSupported()&&ie(If);wv.wordBoundary.isSupported()&&ie(wv);yv.wordBoundary.isSupported()&&ie(yv);bv.titleBoundary.isSupported()&&ie(bv);Sv.isSupported()&&ie(Sv);var g$=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Bm=function(o,e){return function(t,i){e(t,i,o)}},u_;const SN=new Pi("LinkedEditingInputVisible",!1),f$="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 ze),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 ze),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=jp(h,g);f+=v,h=h.substr(v),g=g.substr(v);const _=O2(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 go(!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)||cn(r),(this._currentRequestCts===s||!this._currentRequestCts)&&this.clearRanges()}}},u_=hc,hc.ID="editor.contrib.linkedEditing",hc.DECORATION=xi.register({description:"linked-editing",stickiness:0,className:f$}),hc);pg=u_=g$([Bm(1,Hi),Bm(2,kt),Bm(3,gs),Bm(4,$o)],pg);class p$ extends ye{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(es),[n,s]=Array.isArray(t)&&t||[void 0,void 0];return sn.isUri(n)&&Lt.isIPosition(s)?i.openCodeEditor({resource:n},i.getActiveCodeEditor()).then(r=>{r&&(r.setPosition(s),r.invokeWithinContext(a=>(this.reportTelemetry(a,r),this.run(a,r))))},cn):super.runCommand(e,t)}run(e,t){const i=pg.get(t);return i?Promise.resolve(i.updateRanges(!0)):Promise.resolve()}}const m$=eo.bindToContribution(pg.get);Et(new m$({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){Qn(r);return}}),s=>!!s&&Lo(s==null?void 0:s.ranges))}mt("editor.linkedEditingBackground",{dark:Si.fromHex("#f00").transparent(.3),light:Si.fromHex("#f00").transparent(.3),hcDark:Si.fromHex("#f00").transparent(.3),hcLight:Si.white},w("editorLinkedEditingBackground","Background color when the editor auto renames on type."));to("_executeLinkedEditingProvider",(o,e,t)=>{const{linkedEditingRangeProvider:i}=o.get(kt);return CN(i,e,t,pi.None)});vi(pg.ID,pg,1);ie(p$);let _$=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 ze;let t=[];for(const[i,n]of e){const s=i.links.map(r=>new _$(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])},Qn));return Promise.all(n).then(()=>{const s=new Cv(sl(i));return t.isCancellationRequested?(s.dispose(),new Cv([])):s})}mn.registerCommand("_executeLinkProvider",async(o,...e)=>{let[t,i]=e;Bi(t instanceof sn),typeof i!="number"&&(i=0);const{linkProvider:n}=o.get(kt),s=o.get(js).getModel(t);if(!s)return[];const r=await xN(n,s,pi.None);if(!r)return[];for(let c=0;c<Math.min(i,r.links.length);c++)await r.links[c].resolve(pi.None);const a=r.links.slice(0);return r.dispose(),a});var v$=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},zm=function(o,e){return function(t,i){e(t,i,o)}},nx,Od;let hp=(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 go(!1);if(this.activeLinksList=await this.computePromise,this.debounceInformation.update(e,t.elapsed()),e.isDisposed())return;this.updateDecorations(this.activeLinksList.links)}catch(t){cn(t)}finally{this.computePromise=null}}}updateDecorations(e){const t=this.editor.getOption(78)==="altKey",i=[],n=Object.keys(this.currentOccurrences);for(const r of n){const a=this.currentOccurrences[r];i.push(a.decorationId)}const s=[];if(e)for(const r of e)s.push(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(pi.None).then(s=>{if(typeof s=="string"&&this.editor.hasModel()){const r=this.editor.getModel().uri;if(r.scheme===Gs.file&&s.startsWith(`${Gs.file}:`)){const a=sn.parse(s);if(a.scheme===Gs.file){const c=F2(a);let h=null;c.startsWith("/./")||c.startsWith("\\.\\")?h=`.${c.substr(1)}`:(c.startsWith("//./")||c.startsWith("\\\\.\\"))&&(h=`.${c.substr(2)}`),h&&(s=H2(r,h))}}}return this.openerService.open(s,{openToSide:t,fromUserGesture:i,allowContributedOpeners:!0,allowCommands:!0,fromWorkspace:!0})},s=>{const r=s instanceof Error?s.message:s;r==="invalid"?this.notificationService.warn(w("invalid.url","Failed to open this link because it is not well-formed: {0}",n.url.toString())):r==="missing"?this.notificationService.warn(w("missing.url","Failed to open this link because its target is missing.")):cn(s)})}getLinkOccurrence(e){if(!this.editor.hasModel()||!e)return null;const t=this.editor.getModel().getDecorationsInRange({startLineNumber:e.lineNumber,startColumn:e.column,endLineNumber:e.lineNumber,endColumn:e.column},0,!0);for(const i of t){const n=this.currentOccurrences[i.id];if(n)return n}return null}isEnabled(e,t){return!!(e.target.type===6&&(e.hasTriggerModifier||t&&t.keyCodeIsTriggerKey))}stop(){var e;this.computeLinks.cancel(),this.activeLinksList&&((e=this.activeLinksList)==null||e.dispose(),this.activeLinksList=null),this.computePromise&&(this.computePromise.cancel(),this.computePromise=null)}dispose(){super.dispose(),this.stop()}},nx=Od,Od.ID="editor.linkDetector",Od);hp=nx=v$([zm(1,zr),zm(2,Vs),zm(3,kt),zm(4,$o)],hp);const jI={general:xi.register({description:"detected-link",stickiness:1,collapseOnReplaceEdit:!0,inlineClassName:"detected-link"}),active:xi.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=b$(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 b$(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?La?w("links.navigate.kb.meta.mac","cmd + click"):w("links.navigate.kb.meta","ctrl + click"):La?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 Rs("",!0).appendLink(o.url.toString(!0).replace(/ /g,"%20"),i,s).appendMarkdown(` (${n})`)}else return new Rs().appendText(`${i} (${n})`)}class w$ extends ye{constructor(){super({id:"editor.action.openLink",label:w("label","Open Link"),alias:"Open Link",precondition:void 0})}run(e,t){const i=hp.get(t);if(!i||!t.hasModel())return;const n=t.getSelections();for(const s of n){const r=i.getLinkOccurrence(s.getEndPosition());r&&i.openLinkOccurrence(r,!1)}}}vi(hp.ID,hp,1);ie(w$);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;vi(xv.ID,xv,2);const y$=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",y$,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 S$=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",S$,w("wordHighlightTextBorder","Border color of a textual occurrence for a symbol."));const C$=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),x$=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),L$=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),k$=xi.register({description:"word-highlight-strong",stickiness:1,className:"wordHighlightStrong",overviewRuler:{color:os(x$),position:wa.Center},minimap:{color:os(Xb),position:1}}),I$=xi.register({description:"word-highlight-text",stickiness:1,className:"wordHighlightText",overviewRuler:{color:os(L$),position:wa.Center},minimap:{color:os(Xb),position:1}}),D$=xi.register({description:"selection-highlight-overview",stickiness:1,className:"selectionHighlight",overviewRuler:{color:os(QE),position:wa.Center},minimap:{color:os(Xb),position:1}}),E$=xi.register({description:"selection-highlight",stickiness:1,className:"selectionHighlight"}),P$=xi.register({description:"word-highlight",stickiness:1,className:"wordHighlight",overviewRuler:{color:os(C$),position:wa.Center},minimap:{color:os(Xb),position:1}});function T$(o){return o===E_.Write?k$:o===E_.Text?I$:P$}function M$(o){return o?E$:D$}Bb((o,e)=>{const t=o.getColor(W2);t&&e.addRule(`.monaco-editor .selectionHighlight { background-color: ${t.transparent(.5)}; }`)});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},R$=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 A$ extends ye{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:st.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 O$ extends ye{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:st.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 F$ extends ye{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:st.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 H$ extends ye{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 W$ extends ye{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 up{static create(e,t){if(!e.hasModel())return null;const i=t.getState();if(!e.hasTextFocus()&&i.isRevealed&&i.searchString.length>0)return new up(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 up(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 ze),this._editor=e,this._ignoreSelectionChange=!1,this._session=null}dispose(){this._endSession(),super.dispose()}_beginSessionIfNeeded(e){if(!this._session){const t=up.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 ye{run(e,t){const i=mg.get(t);if(!i)return;const n=t._getViewModel();if(n){const s=n.getCursorStates(),r=Js.get(t);if(r)this._run(i,r);else{const a=e.get(di).createInstance(Js,t);this._run(i,a),a.dispose()}kc(s,n.getCursorStates())}}}class B$ 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:st.MenubarSelectionMenu,group:"3_multi",title:w({key:"miAddSelectionToNextFindMatch",comment:["&& denotes a mnemonic"]},"Add &&Next Occurrence"),order:5}})}_run(e,t){e.addSelectionToNextFindMatch(t)}}class z$ 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:st.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 V$ 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:ns(2089,2082),weight:100}})}_run(e,t){e.moveSelectionToNextFindMatch(t)}}class j$ 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 U$ 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:st.MenubarSelectionMenu,group:"3_multi",title:w({key:"miSelectHighlights",comment:["&& denotes a mnemonic"]},"Select All &&Occurrences"),order:7}})}_run(e,t){e.selectAll(t)}}class $$ 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 q${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=Js.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=Js.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=up.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 q$(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:M$(a)}));this._decorations.set(c)}dispose(){this._setState(null),super.dispose()}},sx=Fd,Fd.ID="editor.contrib.selectionHighlighter",Fd);Lv=sx=N$([R$(1,kt)],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 K$ extends ye{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 G$ extends ye{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()))}}vi(mg.ID,mg,4);vi(Lv.ID,Lv,1);ie(A$);ie(O$);ie(F$);ie(B$);ie(z$);ie(V$);ie(j$);ie(U$);ie($$);ie(H$);ie(W$);ie(K$);ie(G$);const Z$="editor.action.inlineEdit.accept",X$="editor.action.inlineEdit.reject",Y$="editor.action.inlineEdit.jumpTo",J$="editor.action.inlineEdit.jumpBack";var Q$=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},e5=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=ko(this,!1),this.currentTextModel=ro(this,this.editor.onDidChangeModel,()=>this.editor.getModel()),this.uiState=Ji(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,V){if(f.length>0){const F=f[f.length-1];V&&F.decorations.push(new qf(F.content.length+1,F.content.length+1+N[0].length,V,0)),F.content+=N[0],N=N.slice(1)}for(const F of N)f.push({content:F,decorations:V?[new qf(1,F.length+1,V,0)]:[]})}const v=s.getLineContent(r.lineNumber);let _,y=0;if(!h&&(c||!a)){for(const N of r.parts){let V=N.lines;a&&!c&&(p(V,Iy),V=[]),_===void 0?(g.push({column:N.column,text:V[0],preview:N.preview}),V=V.slice(1)):p([v.substring(y,N.column-1)],void 0),V.length>0&&(p(V,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=Ji(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 Lt(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(Sn(()=>{this.isDisposed.set(!0,void 0)})),this._register(aN(this.editor,this.decorations))}};ox=Q$([e5(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},da=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=ro(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(63).showToolbar==="always"),this.sessionPosition=void 0,this.position=Ji(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 Lt(s.lineNumber,Math.min(r,((h=this.sessionPosition)==null?void 0:h.column)??Number.MAX_SAFE_INTEGER));return this.sessionPosition=a,a}),this._register(Hp((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(Sn(()=>e.removeContentWidget(a)))}))}};rx=A1([da(2,di)],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(st.InlineEditActions,this._contextKeyService)),this.toolBar=this._register(n.createInstance(lx,this.nodes.toolBar,this.editor,st.InlineEditToolbar,{menuOptions:{renderShortTitle:!0},toolbarOptions:{primaryGroup:a=>a.startsWith("primary")},actionViewItemProvider:(a,c)=>{if(a instanceof Zu)return n.createInstance(t5,a,void 0)},telemetrySource:"InlineEditToolbar"})),this._register(this.toolBar.onDidChangeDropdownVisibility(a=>{g_._dropDownVisible=a})),this._register(An(a=>{this._position.read(a),this.editor.layoutContentWidget(this)})),this._register(An(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 Bf),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([da(3,di),da(4,Hi),da(5,mh)],ax);class t5 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){xa(this.additionalActions,e,(t,i)=>t===i)||(this.additionalActions=e,this.updateToolbar())}};lx=A1([da(4,mh),da(5,Hi),da(6,bg),da(7,ss),da(8,us),da(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)}},lf,cx;function*i5(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 sn.from({scheme:"inline-edit-widget",path:new Date().toString()+String(lf._modelId++)})}constructor(e,t,i,n,s){super(),this._editor=e,this._model=t,this._instantiationService=i,this._diffProviderFactoryService=n,this._modelService=s,this._position=Ji(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(i5(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 Lt(p,f);return{top:a.range.startLineNumber,left:v}}),this._text=Ji(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,lf._createUniqueUri())).keepObserved(this._store),this._modifiedModel=_c(()=>this._modelService.createModel("",null,lf._createUniqueUri())).keepObserved(this._store),this._diff=Ji(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=Ji(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},pi.None);if(!p.identical)return p.changes})}),this._register(Hp((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(Sn(()=>e.removeOverlayWidget(h)))}))}},lf=Hd,Hd._modelId=0,Hd);dx=lf=kN([f_(2,di),f_(3,W0),f_(4,js)],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=ua(this._previewEditor),this._editorObs=ua(this._editor),this._previewTextModel=this._register(this._instantiationService.createInstance(zl,"",((a=this._editor.getModel())==null?void 0:a.getLanguageId())??Uf,zl.DEFAULT_CREATION_OPTIONS,null)),this._setText=Ji(c=>{const h=this._text.read(c);h&&this._previewTextModel.setValue(h)}).recomputeInitiallyAndOnChange(this._store),this._decorations=Ji(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=Ji(this,c=>this._decorations.read(c).org),this._modifiedDecorations=Ji(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(An(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(An(c=>{this._position.read(c),this._editor.layoutOverlayWidget(this)})),this._register(An(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 Lt(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,di)],hx);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},Rc=function(o,e){return function(t,i){e(t,i,o)}},cf,Bo;let Hs=(Bo=class extends je{static get(e){return e.getContribution(cf.ID)}constructor(e,t,i,n,s,r,a,c){super(),this.editor=e,this.instantiationService=t,this.contextKeyService=i,this.languageFeaturesService=n,this._commandService=s,this._configurationService=r,this._diffProviderFactoryService=a,this._modelService=c,this._isVisibleContext=cf.inlineEditVisibleContext.bindTo(this.contextKeyService),this._isCursorAtInlineEditContext=cf.cursorAtInlineEditContext.bindTo(this.contextKeyService),this._currentEdit=ko(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 rp(S,[new sv(D,E,!1)]),V=y.range.startLineNumber===y.range.endLineNumber&&N.parts.length===1&&N.parts[0].lines.length===1,F=y.text==="";return!V&&!F?void 0:this.instantiationService.createInstance(ox,this.editor,{ghostText:Za(N),minReservedLineCount:Za(0),targetTextModel:Za(this.editor.getModel()??void 0),range:Za(y.range)})}),this._isAccepting=ko(this,!1),this._enabled=ro(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(63).enabled),this._fontFamily=ro(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(63).fontFamily);const h=td("InlineEditController.modelContentChangedSignal",e.onDidChangeModelContent);this._register(An(_=>{this._enabled.read(_)&&(h.read(_),!this._isAccepting.read(_)&&this.getInlineEdit(e,!0))}));const g=ro(this,e.onDidChangeCursorPosition,()=>e.getPosition());this._register(An(_=>{if(!this._enabled.read(_))return;const y=g.read(_);y&&this.checkCursorPosition(y)})),this._register(An(_=>{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(An(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(An(_=>{this._enabled.read(_)&&(p.read(_),this.getInlineEdit(e,!0))}));const v=this._register(EE());this._register(An(_=>{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 s5(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,Qn),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=Lt.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,Qn),t&&this.freeEdit(t),this._currentEdit.set(void 0,void 0)}freeEdit(e){const t=this.editor.getModel();if(!t)return;const i=this.languageFeaturesService.inlineEditProvider.all(t);i.length!==0&&i[0].freeInlineEdit(e)}},cf=Bo,Bo.ID="editor.contrib.inlineEditController",Bo.inlineEditVisibleKey="inlineEditVisible",Bo.inlineEditVisibleContext=new Pi(Bo.inlineEditVisibleKey,!1),Bo.cursorAtInlineEditKey="cursorAtInlineEdit",Bo.cursorAtInlineEditContext=new Pi(Bo.cursorAtInlineEditKey,!1),Bo);Hs=cf=n5([Rc(1,di),Rc(2,Hi),Rc(3,kt),Rc(4,us),Rc(5,xn),Rc(6,W0),Rc(7,js)],Hs);function s5(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 o5=class extends ye{constructor(){super({id:Z$,label:"Accept Inline Edit",alias:"Accept Inline Edit",precondition:ae.and(M.writable,Hs.inlineEditVisibleContext),kbOpts:[{weight:101,primary:2,kbExpr:ae.and(M.writable,Hs.inlineEditVisibleContext,Hs.cursorAtInlineEditContext)}],menuOpts:[{menuId:st.InlineEditToolbar,title:"Accept",group:"primary",order:1}]})}async run(e,t){const i=Hs.get(t);await(i==null?void 0:i.accept())}};class r5 extends ye{constructor(){const e=ae.and(M.writable,ae.not(Hs.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=Hs.get(t);i==null||i.trigger()}}class a5 extends ye{constructor(){const e=ae.and(M.writable,Hs.inlineEditVisibleContext,ae.not(Hs.cursorAtInlineEditKey));super({id:Y$,label:"Jump to Inline Edit",alias:"Jump to Inline Edit",precondition:e,kbOpts:{weight:101,primary:2646,kbExpr:e},menuOpts:[{menuId:st.InlineEditToolbar,title:"Jump To Edit",group:"primary",order:3,when:e}]})}async run(e,t){const i=Hs.get(t);i==null||i.jumpToCurrent()}}class l5 extends ye{constructor(){const e=ae.and(M.writable,Hs.cursorAtInlineEditContext);super({id:J$,label:"Jump Back from Inline Edit",alias:"Jump Back from Inline Edit",precondition:e,kbOpts:{weight:110,primary:2646,kbExpr:e},menuOpts:[{menuId:st.InlineEditToolbar,title:"Jump Back",group:"primary",order:3,when:e}]})}async run(e,t){const i=Hs.get(t);i==null||i.jumpBack()}}class c5 extends ye{constructor(){const e=ae.and(M.writable,Hs.inlineEditVisibleContext);super({id:X$,label:"Reject Inline Edit",alias:"Reject Inline Edit",precondition:e,kbOpts:{weight:100,primary:9,kbExpr:e},menuOpts:[{menuId:st.InlineEditToolbar,title:"Reject",group:"secondary",order:2}]})}async run(e,t){const i=Hs.get(t);await(i==null?void 0:i.clear())}}ie(o5);ie(c5);ie(a5);ie(l5);ie(r5);vi(Hs.ID,Hs,3);const d5="editor.action.inlineEdits.accept",h5="editor.action.inlineEdits.showPrevious",u5="editor.action.inlineEdits.showNext",_g=new Pi("inlineEditsVisible",!1,w("inlineEditsVisible","Whether an inline edit is visible")),g5=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=ua(this._editor),this._placeholderText=this._editorObs.getOption(88),this._state=Ka({owner:this,equalsFn:aP},t=>{const i=this._placeholderText.read(t);if(i&&this._editorObs.valueIsEmpty.read(t))return{placeholder:i}}),this._shouldViewBeAlive=f5(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(An(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(An(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(An(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:Za(0),position:Za(null),domNode:n.root}))}),this._view.recomputeInitiallyAndOnChange(this._store)}};aL.ID="editor.contrib.placeholderText";let gp=aL;function f5(o,e){return Vb(o,(t,i)=>i===!0?!0:e(t))}var p5=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},m5=function(o,e){return function(t,i){e(t,i,o)}};class _5{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=ua(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,"",Uf,zl.DEFAULT_CREATION_OPTIONS,null)),this._setText=Ji(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,"",Uf,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:B2},{contributions:z2.getSomeEditorContributions([cr.ID,gp.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=ua(this._previewEditor),this._decorations=Ji(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=Ji(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=Ji(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),V=new hu(g+S,p-E/2);return{topCode:v,bottomCode:_,codeHeight:y,topEdit:N,bottomEdit:V,editHeight:D}});const s=Ji(this,r=>this._edit.read(r)!==void 0||this._userPrompt.read(r)!==void 0);this._register(V2(this._elements.root,{display:Ji(this,r=>s.read(r)?"block":"none")})),this._register(j2(this._editor.getDomNode(),this._elements.root)),this._register(ua(e).createOverlayWidget({domNode:this._elements.root,position:Za(null),allowEditorOverflow:!1,minContentWidthInPx:Ji(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(An(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 b5().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(w5(v5(this._userPrompt,r=>r??"",r=>r),ua(this._promptEditor).value)),this._register(An(r=>{const a=ua(this._promptEditor).isFocused.read(r);this._elements.root.classList.toggle("focused",a)}))}};ux=p5([m5(3,di)],ux);function v5(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 b5{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 w5(o,e){const t=new ze;return t.add(An(i=>{const n=o.read(i);e.set(n,void 0)})),t.add(An(i=>{const n=e.read(i);o.set(n,void 0)})),t}var y5=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(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)}},df,Bd;let gx=(Bd=class extends je{static _createUniqueUri(){return sn.from({scheme:"inline-edits",path:new Date().toString()+String(df._modelId++)})}constructor(e,t,i,n,s,r,a){super(),this.textModel=e,this._textModelVersionId=t,this._selection=i,this._debounceValue=n,this.languageFeaturesService=s,this._diffProviderFactoryService=r,this._modelService=a,this._forceUpdateExplicitlySignal=M0(this),this._selectedInlineCompletionId=ko(this,void 0),this._isActive=ko(this,!1),this._originalModel=_c(()=>this._modelService.createModel("",null,df._createUniqueUri())).keepObserved(this._store),this._modifiedModel=_c(()=>this._modelService.createModel("",null,df._createUniqueUri())).keepObserved(this._store),this._pinnedRange=new C5(this.textModel,this._textModelVersionId),this.isPinned=this._pinnedRange.range.map(c=>!!c),this.userPrompt=ko(this,void 0),this.inlineEdit=Ji(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=Ji(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},pi.None);if(!S.identical)return new _5(U2.fromRangeInclusive(g),p(f),S.changes)})}),this._fetchStore=this._register(new ze),this._inlineEditsFetchResult=Zy(this,void 0),this._inlineEdits=Ka({owner:this,equalsFn:aP},c=>{var h;return((h=this._inlineEditsFetchResult.read(c))==null?void 0:h.completions.map(g=>new S5(g)))??[]}),this._fetchInlineEditsPromise=HE({owner:this,createEmptyChangeSummary:()=>({inlineCompletionTriggerKind:el.Automatic}),handleChange:(c,h)=>(c.didChange(this._forceUpdateExplicitlySignal)&&(h.inlineCompletionTriggerKind=el.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=Ka({owner:this,equalsFn:Xy()},c=>this._inlineEdits.read(c)),this.selectedInlineCompletionIndex=Ji(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=Ji(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())}},df=Bd,Bd._modelId=0,Bd);gx=df=y5([Ey(4,kt),Ey(5,W0),Ey(6,js)],gx);class S5{constructor(e){this.inlineCompletion=e,this.semanticId=this.inlineCompletion.hash()}}class C5 extends je{constructor(e,t){super(),this._textModel=e,this._versionId=t,this._decorations=ko(this,[]),this.range=Ji(this,i=>{this._versionId.read(i);const n=this._decorations.read(i)[0];return n?this._textModel.getDecorationRange(n)??null:null}),this._register(Sn(()=>{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 x5=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(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)}},fx,zd;let ul=(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=$2("editor.inlineEdits.enabled",!1,this._configurationService),this._editorObs=ua(this.editor),this._selection=Ji(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)),L5(c=>{var h;return((h=this.model.read(c))==null?void 0:h.userPrompt)??ko("empty","")}))}),this._register(ik(_g,this._contextKeyService,a=>{var c;return!!((c=this.model.read(a))!=null&&c.inlineEdit.read(a))})),this._register(ik(g5,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);ul=fx=x5([Kg(1,di),Kg(2,Hi),Kg(3,$o),Kg(4,kt),Kg(5,xn)],ul);function L5(o){return lP(void 0,e=>o(e).read(e),(e,t)=>{o(void 0).set(e,t)})}function om(o){return{label:o.value,alias:o.original}}const wb=class wb extends ye{constructor(){super({id:wb.ID,...om(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=ul.get(t);(n=i==null?void 0:i.model.get())==null||n.next()}};wb.ID=u5;let px=wb;const yb=class yb extends ye{constructor(){super({id:yb.ID,...om(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=ul.get(t);(n=i==null?void 0:i.model.get())==null||n.previous()}};yb.ID=h5;let mx=yb;class k5 extends ye{constructor(){super({id:"editor.action.inlineEdits.trigger",...om(St("action.inlineEdits.trigger","Trigger Inline Edit")),precondition:M.writable})}async run(e,t){const i=ul.get(t);await ZE(async n=>{var s;await((s=i==null?void 0:i.model.get())==null?void 0:s.triggerExplicitly(n))})}}class I5 extends ye{constructor(){super({id:d5,...om(St("action.inlineEdits.accept","Accept Inline Edit")),precondition:_g,menuOpts:{menuId:st.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=ul.get(t);i&&((n=i.model.get())==null||n.accept(i.editor),i.editor.focus())}}const Sb=class Sb extends ye{constructor(){super({id:Sb.ID,...om(St("action.inlineEdits.hide","Hide Inline Edit")),precondition:_g,kbOpts:{weight:100,primary:9}})}async run(e,t){const i=ul.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;vi(ul.ID,ul,3);ie(k5);ie(px);ie(mx);ie(I5);ie(_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){Qn(a)}}mn.registerCommand("_executeSignatureHelpProvider",async(o,...e)=>{const[t,i,n]=e;Bi(sn.isUri(t)),Bi(Lt.isIPosition(i)),Bi(typeof n=="string"||!n);const s=o.get(kt),r=await o.get(Ur).createModelReference(t);try{const a=await IN(s.signatureHelpProvider,r.object.textEditorModel,Lt.lift(i),{triggerKind:Zl.Invoke,isRetrigger:!1,triggerCharacter:n},pi.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 fi),this.onChangedHints=this._onChangedHints.event,this.triggerOnType=!1,this._state=Ml.Default,this._pendingTriggers=[],this._lastSignatureHelpResult=this._register(new Do),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(cn)}next(){if(this.state.type!==1)return;const e=this.state.hints.signatures.length,t=this.state.hints.activeSignature,i=t%e===e-1,n=this.editor.getOption(86).cycle;if((e<2||i)&&!n){this.cancel();return}this.updateActiveSignature(i&&n?0:t+1)}previous(){if(this.state.type!==1)return;const e=this.state.hints.signatures.length,t=this.state.hints.activeSignature,i=t===0,n=this.editor.getOption(86).cycle;if((e<2||i)&&!n){this.cancel();return}this.updateActiveSignature(i&&n?e-1:t-1)}updateActiveSignature(e){this.state.type===1&&(this.state=new 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(D5);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),cn(c),!1}}getLastActiveHints(){switch(this.state.type){case 1:return this.state.hints;case 2:return this.state.previouslyActiveHints;default:return}}get isTriggered(){return this.state.type===1||this.state.type===2||this.throttledDelayer.isTriggered()}onModelChanged(){this.cancel(),this.triggerChars.clear(),this.retriggerChars.clear();const e=this.editor.getModel();if(e)for(const t of this.providers.ordered(e)){for(const i of t.signatureHelpTriggerCharacters||[])if(i.length){const n=i.charCodeAt(0);this.triggerChars.add(n),this.retriggerChars.add(n)}for(const i of t.signatureHelpRetriggerCharacters||[])i.length&&this.retriggerChars.add(i.charCodeAt(0))}}onDidType(e){if(!this.triggerOnType)return;const t=e.length-1,i=e.charCodeAt(t);(this.triggerChars.has(i)||this.isTriggered&&this.retriggerChars.has(i))&&this.trigger({triggerKind: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 D5(o,e){switch(e.triggerKind){case Zl.Invoke:return e;case Zl.ContentChange:return o;case Zl.TriggerCharacter:default:return e}}var E5=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},jm=function(o,e){return function(t,i){e(t,i,o)}},bx;const vo=pt,P5=Zn("parameter-hints-next",Zt.chevronDown,w("parameterHintsNextIcon","Icon for show next parameter hint.")),T5=Zn("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 ze),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=vo(".editor-widget.parameter-hints-widget"),t=at(e,vo(".phwrapper"));t.tabIndex=-1;const i=at(t,vo(".controls")),n=at(i,vo(".button"+qi.asCSSSelector(T5))),s=at(i,vo(".overloads")),r=at(i,vo(".button"+qi.asCSSSelector(P5)));this._register(Fi(n,"click",p=>{C_.stop(p),this.previous()})),this._register(Fi(r,"click",p=>{C_.stop(p),this.next()}));const a=vo(".body"),c=new jE(a,{alwaysConsumeMouseWheel:!0});this._register(c),t.appendChild(c.getDomNode());const h=at(a,vo(".signature")),g=at(a,vo(".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=at(this.domNodes.signature,vo(".code")),s=i.parameters.length>0,r=i.activeParameter??e.activeParameter;if(s)this.renderParameters(n,i,r);else{const h=at(n,vo("span"));h.textContent=i.label}const a=i.parameters[r];if(a!=null&&a.documentation){const h=vo("span.documentation");if(typeof a.documentation=="string")h.textContent=a.documentation;else{const g=this.renderMarkdownDocs(a.documentation);h.appendChild(g.element)}at(this.domNodes.docs,vo("p",{},h))}if(i.documentation!==void 0)if(typeof i.documentation=="string")at(this.domNodes.docs,vo("p",{},i.documentation));else{const h=this.renderMarkdownDocs(i.documentation);at(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 go,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),at(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|^)${Wf(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=E5([jm(2,Hi),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 M5=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},$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=M5([$I(1,di),$I(2,kt)],vg);class N5 extends ye{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})}}vi(vg.ID,vg,2);ie(N5);const O1=175,F1=eo.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 R5=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},A5=function(o,e){return function(t,i){e(t,i,o)}};class O5{constructor(e){this.instantiationService=e}init(...e){}}function F5(o,e){return class extends e{constructor(){super(...arguments),this._autorun=void 0}init(...i){this._autorun=Hp((n,s)=>{const r=Jy(o(),n);s.add(this.instantiationService.createInstance(r,...i))})}dispose(){var i;(i=this._autorun)==null||i.dispose()}}}function H5(o){return q2()?F5(o,Sx):o()}let Sx=class extends O5{constructor(e,t){super(t),this.init(e)}};Sx=R5([A5(1,di)],Sx);vi(gp.ID,H5(()=>gp),0);mt("editor.placeholder.foreground",K2,w("placeholderForeground","Foreground color of the placeholder text in the editor."));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},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 ze,this._visibleContextKey=Tg.bindTo(s),this._isEditingRenameCandidate=!1,this._nRenameSuggestionsInvocations=0,this._hadAutomaticRenameSuggestionsInvocation=!1,this._candidates=new Set,this._beforeFirstInputFieldEditSW=new go,this._inputWithButton=new B5,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(G2),i=e.getColor(Z2);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(X2)??"");const n=e.getColor(Y2);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;Bi(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=Wp(this.getDomNode().ownerDocument.body),t=Xs(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}=fp.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;Bi(this._renameCandidateListView),Bi(this._nPxAvailableAbove!==void 0),Bi(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 ze;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(Fi(this._inputWithButton.button,"click",()=>this._requestRenameCandidates(t,!0))),c.add(Fi(this._inputWithButton.button,On.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 Lt(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(Sn(()=>{this._renameCts=void 0,s.dispose(!0)})),c.add(Sn(()=>{this._renameCandidateProvidersCts!==void 0&&(this._renameCandidateProvidersCts.dispose(!0),this._renameCandidateProvidersCts=void 0)})),c.add(Sn(()=>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"),Bi(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),Bi(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){Bi(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 Mp(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=W5([Um(2,mr),Um(3,ss),Um(4,Hi),Um(5,vh)],Cx);class H1{constructor(e,t){this._disposables=new ze,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}=fp.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 fp(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 B5{constructor(){this._onDidInputChange=new fi,this.onDidInputChange=this._onDidInputChange.event,this._disposables=new ze}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=J2().setupManagedHover(Kb("element"),this._buttonNode,this._buttonGenHoverText),this._disposables.add(this._buttonHover),this._domNode.appendChild(this._buttonNode),this._disposables.add(Fi(this.input,On.INPUT,()=>this._onDidInputChange.fire())),this._disposables.add(Fi(this.input,On.KEY_DOWN,e=>{const t=new B0(e);(t.keyCode===15||t.keyCode===17)&&this._onDidInputChange.fire()})),this._disposables.add(Fi(this.input,On.CLICK,()=>this._onDidInputChange.fire())),this._disposables.add(Fi(this.input,On.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(Fi(this.input,On.BLUR,()=>{this.domNode.style.outline="none"}))),this._domNode}get input(){return Bi(this._inputNode),this._inputNode}get button(){return Bi(this._buttonNode),this._buttonNode}get buttonState(){return this._buttonState}setSparkleButton(){var e;this._buttonState="sparkle",this._sparkleIcon??(this._sparkleIcon=eS(Zt.sparkle)),ya(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)),ya(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 Af=class Af{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=`${Af._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(Q2.AIGenerated));this._icon.style.display=t?"inherit":"none"}_updateLabel(e){this._label.innerText=e.newSymbolName}static getLayoutInfo({lineHeight:e}){return{totalHeight:e+Af._PADDING*2}}dispose(){}};Af._PADDING=2;let fp=Af;var z5=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},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 V5(o,e,t,i){const n=new W1(e,t,o),s=await n.resolveRenameLocation(pi.None);return s!=null&&s.rejectReason?{edits:[],rejectReason:s.rejectReason}:n.provideRenameEdits(i,pi.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 ze,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))&&((_=co.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=co.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,V])=>V)),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=Mp(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=z5([El(1,di),El(2,Vs),El(3,Ab),El(4,Rp),El(5,vh),El(6,eF),El(7,kt),El(8,Vr)],Sc);class j5 extends ye{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(es),[n,s]=Array.isArray(t)&&t||[void 0,void 0];return sn.isUri(n)&&Lt.isIPosition(s)?i.openCodeEditor({resource:n},i.getActiveCodeEditor()).then(r=>{r&&(r.setPosition(s),r.invokeWithinContext(a=>(this.reportTelemetry(a,r),this.run(a,r))))},cn):super.runCommand(e,t)}run(e,t){const i=e.get(vh),n=Sc.get(t);return n?(i.trace("[RenameAction] got controller, running..."),n.run()):(i.trace("[RenameAction] returning early - controller missing"),Promise.resolve())}}vi(Sc.ID,Sc,4);ie(j5);const B1=eo.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]}}));en(class extends Qs{constructor(){super({id:"focusNextRenameSuggestion",title:{...St("focusNextRenameSuggestion","Focus Next Rename Suggestion")},precondition:Tg,keybinding:[{primary:18,weight:199}]})}run(e){const t=e.get(es).getFocusedCodeEditor();if(!t)return;const i=Sc.get(t);i&&i.focusNextRenameSuggestion()}});en(class extends Qs{constructor(){super({id:"focusPreviousRenameSuggestion",title:{...St("focusPreviousRenameSuggestion","Focus Previous Rename Suggestion")},precondition:Tg,keybinding:[{primary:16,weight:199}]})}run(e){const t=e.get(es).getFocusedCodeEditor();if(!t)return;const i=Sc.get(t);i&&i.focusPreviousRenameSuggestion()}});to("_executeDocumentRenameProvider",function(o,e,t,...i){const[n]=i;Bi(typeof n=="string");const{renameProvider:s}=o.get(kt);return V5(s,e,t,n)});to("_executePrepareRename",async function(o,e,t){const{renameProvider:i}=o.get(kt),s=await new W1(e,t,i).resolveRenameLocation(pi.None);if(s!=null&&s.rejectReason)throw new Error(s.rejectReason);return s});Br.as(Ap.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 U5=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(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=>$5(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=U5([qI(1,gs),qI(2,_l)],kv);function $5(o){return{range:o.range,options:xi.createDynamic({description:"section-header",stickiness:3,collapseOnReplaceEdit:!0,minimap:{color:void 0,position:1,sectionHeaderStyle:o.hasSeparatorLine?2:1,sectionHeaderText:o.text}})}}vi(kv.ID,kv,1);function q5(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 K5(o){const e=new Uint8Array(o.buffer,o.byteOffset,o.length*4);return tF()||q5(e),iF.wrap(e)}function DN(o){const e=new Uint32Array(G5(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 K5(e)}function G5(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 Z5{constructor(e,t,i){this.provider=e,this.tokens=t,this.error=i}}function PN(o,e){return o.has(e)}function X5(o,e){const t=o.orderedGroups(e);return t.length>0?t[0]:[]}async function TN(o,e,t,i,n){const s=X5(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 Z5(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 Y5(o,e){const t=o.orderedGroups(e);return t.length>0?t[0]:null}class J5{constructor(e,t){this.provider=e,this.tokens=t}}function Q5(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){Qn(c),a=null}return(!a||!Lw(a))&&(a=null),new J5(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;Bi(t instanceof sn);const i=o.get(js).getModel(t);if(!i)return;const{documentSemanticTokensProvider:n}=o.get(kt),s=Y5(n,i);return s?s[0].getLegend():o.get(us).executeCommand("_provideDocumentRangeSemanticTokensLegend",t)});mn.registerCommand("_provideDocumentSemanticTokens",async(o,...e)=>{const[t]=e;Bi(t instanceof sn);const i=o.get(js).getModel(t);if(!i)return;const{documentSemanticTokensProvider:n}=o.get(kt);if(!PN(n,i))return o.get(us).executeCommand("_provideDocumentRangeSemanticTokens",t,i.getFullModelRange());const s=await TN(n,i,null,null,pi.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;Bi(t instanceof sn);const n=o.get(js).getModel(t);if(!n)return;const{documentRangeSemanticTokensProvider:s}=o.get(kt),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),pi.None);if(a)return a.provider.getLegend()});mn.registerCommand("_provideDocumentRangeSemanticTokens",async(o,...e)=>{const[t,i]=e;Bi(t instanceof sn),Bi(B.isIRange(i));const n=o.get(js).getModel(t);if(!n)return;const{documentRangeSemanticTokensProvider:s}=o.get(kt),r=await z1(s,n,B.lift(i),pi.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},ha=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([ha(0,z0),ha(1,js),ha(2,mr),ha(3,xn),ha(4,$o),ha(5,kt)],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=()=>{Os(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),Os(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 go(!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)||cn(c),this._currentDocumentRequestCancellationTokenSource=null,r.dispose(),(s.length>0||this._providersChangedDuringRequest)&&(this._fetchDocumentSemanticTokens.isScheduled()||this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model)))})}static _copy(e,t,i,n,s){s=Math.min(s,i.length-n,e.length-t);for(let r=0;r<s;r++)i[n+r]=e[t+r]}_setDocumentSemanticTokens(e,t,i,n){const s=this._currentDocumentResponse,r=()=>{(n.length>0||this._providersChangedDuringRequest)&&!this._fetchDocumentSemanticTokens.isScheduled()&&this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))};if(this._currentDocumentResponse&&(this._currentDocumentResponse.dispose(),this._currentDocumentResponse=null),this._isDisposed){e&&t&&e.releaseDocumentSemanticTokens(t.resultId);return}if(!e||!i){this._model.tokenization.setSemanticTokens(null,!1);return}if(!t){this._model.tokenization.setSemanticTokens(null,!0),r();return}if(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 e6(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([ha(1,z0),ha(2,mr),ha(3,$o),ha(4,kt)],kx);class e6{constructor(e,t,i){this.provider=e,this.resultId=t,this.data=i}dispose(){this.provider.releaseDocumentSemanticTokens(this.resultId)}}Sg(Lx);var t6=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Gg=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(!Q5(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 go(!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=t6([Gg(1,z0),Gg(2,mr),Gg(3,xn),Gg(4,$o),Gg(5,kt)],Iv);vi(Iv.ID,Iv,1);class i6{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 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},s6=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 pp=($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),pi.None).then(s=>{var r;if(!(!Lo(s)||s.length!==t.length)&&!(!this._editor.hasModel()||!xa(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);pp=Ix=n6([s6(1,kt)],pp);class RN extends ye{constructor(e,t){super(t),this._forward=e}async run(e,t){const i=pp.get(t);i&&await i.run(this._forward)}}class o6 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:st.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 r6 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:st.MenubarSelectionMenu,group:"1_basic",title:w({key:"miSmartSelectShrink",comment:["&& denotes a mnemonic"]},"&&Shrink Selection"),order:3}})}}vi(pp.ID,pp,4);ie(o6);ie(r6);async function AN(o,e,t,i,n){const s=o.all(e).concat(new i6(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(Lo(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))}},Qn));return await Promise.all(r),a.map(c=>{if(c.length===0)return[];c.sort((p,v)=>Lt.isBefore(p.getStartPosition(),v.getStartPosition())?1:Lt.isBefore(v.getStartPosition(),p.getStartPosition())||Lt.isBefore(p.getEndPosition(),v.getEndPosition())?-1:Lt.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;Bi(sn.isUri(t));const n=o.get(kt).selectionRangeProvider,s=await o.get(Ur).createModelReference(t);try{return AN(n,s.object.textEditorModel,i,{selectLeadingAndTrailingWhitespace:!0,selectSubwords:!0},pi.None)}finally{s.dispose()}});const a6=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 Df{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&&xa(this.startLineNumbers,e.startLineNumbers)&&xa(this.endLineNumbers,e.endLineNumbers)}static get Empty(){return new Df([],[],0)}}const KI=TE("stickyScrollViewLayer",{createHTML:o=>o}),Py="data-sticky-line-index",GI="data-sticky-is-line",l6="data-sticky-is-line-number",ZI="data-sticky-is-folding-icon";class c6 extends je{constructor(e){super(),this._editor=e,this._foldingIconStore=new ze,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(Fi(this._lineNumbersDomNode,On.MOUSE_ENTER,()=>{this._isOnGlyphMargin=!0,this._setFoldingIconsVisibility(!0)})),this._foldingIconStore.add(Fi(this._lineNumbersDomNode,On.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 Lt(t,1)).lineNumber,a=s.getViewLineRenderingData(r),c=this._editor.getOption(68);let h;try{h=qf.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(l6,""),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 d6(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 h6(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=nF(t.characterMapping,e,0);return new Lt(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 d6{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 h6{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 Ef{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},mp=function(o,e){return function(t,i){e(t,i,o)}},Pf;(function(o){o.OUTLINE_MODEL="outlineModel",o.FOLDING_PROVIDER_MODEL="foldingProviderModel",o.INDENTATION_MODEL="indentationModel"})(Pf||(Pf={}));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 ze),this._editor.getOption(116).defaultModel){case Pf.OUTLINE_MODEL:this._modelProviders.push(new Ex(this._editor,n));case Pf.FOLDING_PROVIDER_MODEL:this._modelProviders.push(new Tx(this._editor,t,n));case Pf.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=>(cn(t),null))}};Dx=kw([mp(2,di),mp(3,kt)],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=>(cn(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 Va.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(Ja.first(e.children.values())instanceof sN){const a=Ja.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 Ef(a.symbol.range.startLineNumber,a.symbol.range.endLineNumber),g=new Ef(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 Ef(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([mp(1,kt)],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 Ef(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([mp(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([mp(2,kt)],Tx);var u6=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},XI=function(o,e){return function(t,i){e(t,i,o)}};class g6{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 fi),this.onDidChangeStickyScroll=this._onDidChangeStickyScroll.event,this._model=null,this._cts=null,this._stickyModelProvider=null,this._editor=e,this._sessionStore=this._register(new ze),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(Sn(()=>{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 g6(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=u6([XI(1,kt),XI(2,gs)],Mx);var f6=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Uh=function(o,e){return function(t,i){e(t,i,o)}},Nx,qd;let gl=(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 ze,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 c6(this._editor),this._stickyLineCandidateProvider=new Mx(this._editor,i,s),this._register(this._stickyScrollWidget),this._register(this._stickyLineCandidateProvider),this._widgetState=Df.Empty,this._onDidResize(),this._readConfiguration();const c=this._stickyScrollWidget.getDomNode();this._register(this._editor.onDidChangeConfiguration(g=>{this._readConfigurationChange(g)})),this._register(Fi(c,On.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(Fi(c,On.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 ze,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 ze),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(rl(n,On.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 Lt(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 Lt(h,1)}this._revealPosition(c)})),this._register(rl(n,On.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(Fi(n,On.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(Sn(()=>g.dispose(!0)));let f;tm(this._languageFeaturesService.definitionProvider,this._editor.getModel(),new Lt(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(Sn(()=>{f.style.textDecoration="none"}))):f||(f=v,f.style.textDecoration="underline",e.add(Sn(()=>{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 sF(e,t);this._contextMenuService.showContextMenu({menuId:st.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=Df.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 Ef(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 Df(s,r,n,this._showEndForLine)}dispose(){super.dispose(),this._sessionStore.dispose()}},Nx=qd,qd.ID="store.contrib.stickyScrollController",qd);gl=Nx=f6([Uh(1,bg),Uh(2,kt),Uh(3,di),Uh(4,gs),Uh(5,$o),Uh(6,Hi)],gl);class p6 extends Qs{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:a6.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:st.CommandPalette},{id:st.MenubarAppearanceMenu,group:"4_editor",order:3},{id:st.StickyScrollContext}]})}async run(e){const t=e.get(xn),i=!t.getValue("editor.stickyScroll.enabled");return t.updateValue("editor.stickyScroll.enabled",i)}}const Iw=100;class m6 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:st.CommandPalette}]})}runEditorCommand(e,t){var i;(i=gl.get(t))==null||i.focus()}}class _6 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=gl.get(t))==null||i.focusNext()}}class v6 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=gl.get(t))==null||i.focusPrevious()}}class b6 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=gl.get(t))==null||i.goToFocused()}}class w6 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=gl.get(t))==null||i.selectEditor()}}vi(gl.ID,gl,1);en(p6);en(m6);en(v6);en(_6);en(b6);en(w6);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},hf=function(o,e){return function(t,i){e(t,i,o)}};class y6{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 oF{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=Ja.slice(t,i),s=Ja.slice(t,0,i);let r=5;for(const a of Ja.concat(n,s)){if(a.score===jf.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 y6(c,h,a.filterTextLow??a.labelLow,a.completion.additionalTextEdits,a.completion.command,a)),r-->=0&&a.resolve(pi.None)}return e}};Rx=WN([hf(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 ap(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(pi.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([hf(0,kt),hf(1,wg),hf(2,Sw),hf(3,es)],Ax);Sg(Ax);class S6 extends ye{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 go;i.tokenization.forceTokenization(i.getLineCount()),n.stop(),console.log(`tokenization took ${n.elapsed()}`)}}ie(S6);const xb=class xb extends Qs{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;en(Ox);var C6=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},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=at(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,rF.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=C6([YI(3,Bp),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 x6=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,x6)}};Hx=BN([zN(1,di)],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(){ya(this.element)}show(e){ya(this.element);const t=this.getAriaLabel(e);t&&this.element.setAttribute("aria-label",t);const i=at(this.element,pt("div.icon-container"));i.setAttribute("aria-hidden","true"),e.icon&&i.appendChild(pt(`div${qi.asCSSSelector(e.icon)}`));const n=at(this.element,pt("div.message-container"));if(n.setAttribute("aria-hidden","true"),n.appendChild(this.getBannerMessage(e.message)),this.messageActionsContainer=at(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=at(this.element,pt("div.action-container"));this.actionBar=this._register(new Ff(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,di)],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 L6=Zn("extensions-warning-message",Zt.warning,w("warningIcon","Icon shown with a warning message in the extensions editor."));var Bu;let _p=(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 bp};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 vp};else throw new Error("Unreachable");this._bannerController.show({id:"unicodeHighlightBanner",message:a.message,icon:L6,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=k6(this._workspaceTrustService.isWorkspaceTrusted(),this._options);if([e.nonBasicASCII,e.ambiguousCharacters,e.invisibleCharacters].every(i=>i===!1))return;const t={nonBasicASCII:e.nonBasicASCII,ambiguousCharacters:e.ambiguousCharacters,invisibleCharacters:e.invisibleCharacters,includeComments:e.includeComments,includeStrings:e.includeStrings,allowedCodePoints:Object.keys(e.allowedCharacters).map(i=>i.codePointAt(0)),allowedLocales:Object.keys(e.allowedLocales).map(i=>i==="_os"?new Intl.NumberFormat().resolvedOptions().locale:i==="_vscode"?aF:i)};this._editorWorkerService.canComputeUnicodeHighlights(this._editor.getModel().uri)?this._highlighter=new Bx(this._editor,t,this._updateState,this._editorWorkerService):this._highlighter=new I6(this._editor,t,this._updateState)}getDecorationInfo(e){return this._highlighter?this._highlighter.getDecorationInfo(e):null}},Bu.ID="editor.contrib.unicodeHighlighter",Bu);_p=U1([Cu(1,_l),Cu(2,lF),Cu(3,di)],_p);function k6(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,_l)],Bx);class I6 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(_p.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 Rs("",!0).appendMarkdown(v).appendText(" ").appendLink(S,y,VN);s.push(new lr(this,c.range,[D],!1,a++))}return s}renderHoverParts(e,t){return iz(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+=` "${`${D6(o)}`}"`),e}function D6(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=xi.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 E6 extends ye{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(xn);n&&this.runAction(n)}async runAction(e){await e.updateValue(ll.includeComments,!1,2)}}class P6 extends ye{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(xn);n&&this.runAction(n)}async runAction(e){await e.updateValue(ll.includeStrings,!1,2)}}const kb=class kb extends ye{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(xn);n&&this.runAction(n)}async runAction(e){await e.updateValue(ll.ambiguousCharacters,!1,2)}};kb.ID="editor.action.unicodeHighlight.disableHighlightingOfAmbiguousCharacters";let gh=kb;const Ib=class Ib extends ye{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(xn);n&&this.runAction(n)}async runAction(e){await e.updateValue(ll.invisibleCharacters,!1,2)}};Ib.ID="editor.action.unicodeHighlight.disableHighlightingOfInvisibleCharacters";let vp=Ib;const Db=class Db extends ye{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(xn);n&&this.runAction(n)}async runAction(e){await e.updateValue(ll.nonBasicASCII,!1,2)}};Db.ID="editor.action.unicodeHighlight.disableHighlightingOfNonBasicAsciiCharacters";let bp=Db;const Eb=class Eb extends ye{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(fl),g=e.get(xn);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()=>{M6(g,[_])}});if(p.push({label:f(n),run:()=>T6(g,[n])}),a){const _=new E6;p.push({label:_.label,run:async()=>_.runAction(g)})}else if(r){const _=new P6;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 vp;p.push({label:_.label,run:async()=>_.runAction(g)})}else if(s.kind===2){const _=new bp;p.push({label:_.label,run:async()=>_.runAction(g)})}else N6(s);const v=await h.pick(p,{title:VN});v&&await v.run()}};Eb.ID="editor.action.unicodeHighlight.showExcludeOptions";let Pv=Eb;async function T6(o,e){const t=o.getValue(ll.allowedCharacters);let i;typeof t=="object"&&t?i=t:i={};for(const n of e)i[String.fromCodePoint(n)]=!0;await o.updateValue(ll.allowedCharacters,i,2)}async function M6(o,e){var n;const t=(n=o.inspect(ll.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(ll.allowedLocales,i,2)}function N6(o){throw new Error(`Unexpected value: ${o}`)}ie(gh);ie(vp);ie(bp);ie(Pv);vi(_p.ID,_p,1);Sh.register(zx);var R6=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},JI=function(o,e){return function(t,i){e(t,i,o)}};const UN="ignoreUnusualLineTerminators";function A6(o,e,t){o.setModelProperty(e.uri,UN,t)}function O6(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()||O6(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`.",ka(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){A6(this._codeEditorService,e,!0);return}e.removeUnusualLineTerminators(this._editor.getSelections())}},zu.ID="editor.contrib.unusualLineTerminatorsDetector",zu);Tv=R6([JI(1,V0),JI(2,es)],Tv);vi(Tv.ID,Tv,1);var F6=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},H6=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=F6([H6(0,kt)],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,Qn)),s=>s!=null).then(s=>{if(s){const r=new pc;return r.set(e.uri,s),r}return new pc})}function W6(o,e,t,i,n,s){const r=o.ordered(e);return O0(r.map(a=>()=>{const c=s.filter(h=>dF(h)).filter(h=>hF(a.selector,h.uri,h.getLanguageId(),!0,void 0,void 0)>0);return Promise.resolve(a.provideMultiDocumentHighlights(e,t,c,n)).then(void 0,Qn)}),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 B6 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 z6 extends KN{constructor(e,t,i,n,s){super(e,t,i),this._providers=n,this._otherModels=s}_compute(e,t,i,n){return W6(this._providers,e,t.getPosition(),i,n,this._otherModels).then(s=>s||new pc)}}function V6(o,e,t,i,n){return new B6(e,t,n,o)}function j6(o,e,t,i,n,s){return new z6(e,t,n,o,s)}to("_executeDocumentHighlights",async(o,e,t)=>{const i=o.get(kt),n=await qN(i.documentHighlightProvider,e,t,pi.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 ze,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=>{cF(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)!==Gs.vscodeNotebookCell&&((i=(t=$n.query)==null?void 0:t.modelInfo)==null?void 0:i.model.uri.scheme)!==Gs.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)!==Gs.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===Gs.vscodeNotebookCell){const s=[],r=this.codeEditorService.listCodeEditors();for(const a of r){const c=a.getModel();c&&c!==e&&c.uri.scheme===Gs.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())},cn)}}computeWithModel(e,t,i,n){return n.length?j6(this.multiDocumentProviders,e,t,i,this.editor.getOption(132),n):V6(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:T$(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,es)],$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,Hi),m_(2,kt),m_(3,es)],Cc);class GN extends ye{constructor(e,t){super(t),this._isNext=e}run(e,t){const i=Cc.get(t);i&&(this._isNext?i.moveNext():i.moveBack())}}class U6 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 $6 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 q6 extends ye{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)}}vi(Cc.ID,Cc,0);ie(U6);ie($6);ie(q6);Sg(jx);class Dw extends eo{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 Lt(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=>uF.fromModelSelection(h))),c.length===1){const h=new Lt(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 $p.moveWordLeft(e,t,i,n,s)}}class Dc extends Dw{_move(e,t,i,n,s){return $p.moveWordRight(e,t,i,n)}}class K6 extends Ic{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordStartLeft",precondition:void 0})}}class G6 extends Ic{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordEndLeft",precondition:void 0})}}class Z6 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 X6 extends Ic{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordStartLeftSelect",precondition:void 0})}}class Y6 extends Ic{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordEndLeftSelect",precondition:void 0})}}class J6 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 Q6 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 e7 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 t7 extends Dc{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordStartRight",precondition:void 0})}}class i7 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 n7 extends Dc{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordRight",precondition:void 0})}}class s7 extends Dc{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordStartRightSelect",precondition:void 0})}}class o7 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 r7 extends Dc{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordRightSelect",precondition:void 0})}}class a7 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 l7 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 eo{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 Tp(_,"")});t.pushUndoStop(),t.executeCommands(this.id,p),t.pushUndoStop()}}class q1 extends Ew{_delete(e,t){const i=$p.deleteWordLeft(e,t);return i||new B(1,1,1,1)}}class K1 extends Ew{_delete(e,t){const i=$p.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 c7 extends q1{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:0,id:"deleteWordStartLeft",precondition:M.writable})}}class d7 extends q1{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:2,id:"deleteWordEndLeft",precondition:M.writable})}}class h7 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 u7 extends K1{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:0,id:"deleteWordStartRight",precondition:M.writable})}}class g7 extends K1{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:2,id:"deleteWordEndRight",precondition:M.writable})}}class f7 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 p7 extends ye{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=$p.deleteInsideWord(n,s,c);return new Tp(h,"")});t.pushUndoStop(),t.executeCommands(this.id,a),t.pushUndoStop()}}Et(new K6);Et(new G6);Et(new Z6);Et(new X6);Et(new Y6);Et(new J6);Et(new t7);Et(new i7);Et(new n7);Et(new s7);Et(new o7);Et(new r7);Et(new Q6);Et(new e7);Et(new a7);Et(new l7);Et(new c7);Et(new d7);Et(new h7);Et(new u7);Et(new g7);Et(new f7);ie(p7);class m7 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 _7 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 v7 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 b7 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 w7 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 y7 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 m7);Et(new _7);Et(new v7);Et(new b7);Et(new w7);Et(new y7);const lL=class lL extends je{constructor(e){super(),this.editor=e,this._register(this.editor.onDidAttemptReadOnlyEdit(()=>this._onDidAttemptReadOnlyEdit()))}_onDidAttemptReadOnlyEdit(){const e=co.get(this.editor);if(e&&this.editor.hasModel()){let t=this.editor.getOptions().get(93);t||(this.editor.isSimpleWidget?t=new Rs(w("editor.simple.readonly","Cannot edit in read-only input")):t=new Rs(w("editor.readonly","Cannot edit in read-only editor"))),e.showMessage(t,this.editor.getPosition())}}};lL.ID="editor.contrib.readOnlyMessageController";let Mv=lL;vi(Mv.ID,Mv,2);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},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=ko(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(Hp(async(r,a)=>{n.read(r),s.read(r);const c=a.add(new pF),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(fF(zp(s=>s.range.endLineNumber-s.range.startLineNumber,Ub))),n.map(s=>({name:s.name,kind:s.kind,startLineNumber:s.range.startLineNumber}))}};qx=S7([eD(1,kt),eD(2,sm)],qx);gF.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(Fi(this._domNode,"touchstart",t=>{this.editor.focus()})),this._register(Fi(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;vi(Nv.ID,Nv,3);var C7=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},tD=function(o,e){return function(t,i){e(t,i,o)}},Gx,Gd;let wp=(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);wp=Gx=C7([tD(1,mP),tD(2,jr)],wp);class x7 extends ye{constructor(){super({id:"editor.action.inspectTokens",label:bF.inspectTokensAction,alias:"Developer: Inspect Tokens",precondition:void 0})}run(e,t){const i=wp.get(t);i==null||i.launch()}}function L7(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 k7(o,e){const t=qb.get(e);if(t)return t;const i=o.encodeLanguageId(e);return{getInitialState:()=>mF,tokenize:(n,s,r)=>vF(e,r),tokenizeEncoded:(n,s,r)=>_F(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=k7(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,L7(r),pt("span.tm-token-length",void 0,`${r.length} ${r.length===1?"char":"chars"}`))),at(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;at(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?Si.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?Si.Format.CSS.formatHex(a.background):"-?-"}`))))),at(this._domNode,pt("hr.tokens-inspect-separator")),i<t.tokens1.length&&at(this._domNode,pt("span.tm-token-type",void 0,t.tokens1[i].type)),this._editor.layoutContentWidget(this)}_decodeMetadata(e){const t=qb.getColorMap(),i=zg.getLanguageId(e),n=zg.getTokenType(e),s=zg.getFontStyle(e),r=zg.getForeground(e),a=zg.getBackground(e);return{languageId:this._languageService.languageIdCodec.decodeLanguageId(i),tokenType:n,fontStyle:s,foreground:t[r],background:t[a]}}_tokenTypeToString(e){switch(e){case 0:return"Other";case 1:return"Comment";case 2:return"String";case 3:return"RegEx";default:return"??"}}_fontStyleToString(e){let t="";return e&1&&(t+="italic "),e&2&&(t+="bold "),e&4&&(t+="underline "),e&8&&(t+="strikethrough "),t.length===0&&(t="---"),t}_getTokensAtLine(e){const t=this._getStateBeforeLine(e),i=this._tokenizationSupport.tokenize(this._model.getLineContent(e),!0,t),n=this._tokenizationSupport.tokenizeEncoded(this._model.getLineContent(e),!0,t);return{startState:t,tokens1:i.tokens,tokens2:n.tokens,endState:i.endState}}_getStateBeforeLine(e){let t=this._tokenizationSupport.getInitialState();for(let i=1;i<e;i++)t=this._tokenizationSupport.tokenize(this._model.getLineContent(i),!0,t).endState;return t}getDomNode(){return this._domNode}getPosition(){return{position:this._editor.getPosition(),preference:[2,1]}}};Tb._ID="editor.contrib.inspectTokensWidget";let Zx=Tb;vi(wp.ID,wp,4);ie(x7);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},iD=function(o,e){return function(t,i){e(t,i,o)}},uf,Zd;let Xx=(Zd=class{constructor(e,t){this.quickInputService=e,this.keybindingService=t,this.registry=Br.as(qp.Quickaccess)}provide(e){const t=new ze;return t.add(e.onDidAccept(()=>{const[i]=e.selectedItems;i&&this.quickInputService.quickAccess.show(i.prefix,{preserveValue:!0})})),t.add(e.onDidChangeValue(i=>{const n=this.registry.getQuickAccessProvider(i.substr(uf.PREFIX.length));n&&n.prefix&&n.prefix!==uf.PREFIX&&this.quickInputService.quickAccess.show(n.prefix,{preserveValue:!0})})),e.items=this.getQuickAccessProviders().filter(i=>i.prefix!==uf.PREFIX),t}getQuickAccessProviders(){return this.registry.getQuickAccessProviders().sort((t,i)=>t.prefix.localeCompare(i.prefix)).flatMap(t=>this.createPicks(t))}createPicks(e){return e.helpEntries.map(t=>{const i=t.prefix||e.prefix,n=i||"…";return{prefix:i,label:n,keybinding:t.commandId?this.keybindingService.lookupKeybinding(t.commandId):void 0,ariaLabel:w("helpPickAriaLabel","{0}, {1}",n,t.description),description:t.description}})}},uf=Zd,Zd.PREFIX="?",Zd);Xx=uf=I7([iD(0,fl),iD(1,ss)],Xx);Br.as(qp.Quickaccess).registerQuickAccessProvider({ctor:Xx,prefix:"",helpEntries:[{description:wF.helpQuickAccessActionLabel}]});class YN{constructor(e){this.options=e,this.rangeHighlightDecorationId=void 0}provide(e,t,i){var r;const n=new ze;e.canAcceptInBackground=!!((r=this.options)!=null&&r.canAcceptInBackground),e.matchOnLabel=e.matchOnDescription=e.matchOnDetail=e.sortByLabel=!1;const s=n.add(new Do);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 ze,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(Sn(()=>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:wa.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 ze;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(Sn(()=>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 D7=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},E7=function(o,e){return function(t,i){e(t,i,o)}};let yp=class extends Yx{constructor(e){super(),this.editorService=e,this.onDidActiveTextEditorControlChange=as.None}get activeTextEditorControl(){return this.editorService.getFocusedCodeEditor()??void 0}};yp=D7([E7(0,es)],yp);var Xd;let JN=(Xd=class extends ye{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(fl).quickAccess.show(yp.PREFIX)}},Xd.ID="editor.action.gotoLine",Xd);ie(JN);Br.as(qp.Quickaccess).registerQuickAccessProvider({ctor:yp,prefix:yp.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?P7(o,n.values,t,i):eR(o,e,t,i)}function P7(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,T7(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 T7(o){const e=o.sort((n,s)=>n.start-s.start),t=[];let i;for(const n of e)!i||!M7(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 M7(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=yF(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 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},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 ze;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(Sn(()=>i.complete(!1))),i.p}doProvideWithEditorSymbols(e,t,i,n,s){var f;const r=e.editor,a=new ze;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=LF(_,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],V=SF(N.name),F=`$(${CF.toIcon(N.kind).id}) ${V}`,Y=F.length-V.length;let X=N.containerName;i!=null&&i.extraContainerLabel&&(X?X=`${i.extraContainerLabel} • ${X}`:X=i.extraContainerLabel);let ue,Ee,Ue,ve;if(t.original.length>c){let Xt=!1;if(h!==t&&([ue,Ee]=My(F,{...t,values:void 0},c,Y),typeof ue=="number"&&(Xt=!0)),typeof ue!="number"&&([ue,Ee]=My(F,h,c,Y),typeof ue!="number"))continue;if(!Xt&&g){if(X&&g.original.length>0&&([Ue,ve]=My(X,g)),typeof Ue!="number")continue;typeof ue=="number"&&(ue+=Ue)}}const ot=N.tags&&N.tags.indexOf(1)>=0;v.push({index:E,kind:N.kind,score:ue,label:F,ariaLabel:xF(N.name,N.kind),description:X,highlights:ot?void 0:{label:Ee,description:ve},range:{selection:B.collapseToStart(N.selectionRange),decoration:N.range},uri:s.uri,symbolName:V,strikethrough:ot,buttons:f})}const _=v.sort((E,N)=>a?this.compareByKindAndScore(E,N):this.compareByScore(E,N));let y=[];if(a){let F=function(){N&&typeof E=="number"&&V>0&&(N.label=T0(Ry[E]||Ny,V))},E,N,V=0;for(const Y of _)E!==Y.kind?(F(),E=Y.kind,V=1,N={type:"separator"},y.push(N)):V++,y.push(Y);F()}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=__=N7([rD(0,kt),rD(1,sm)],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 R7=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(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=R7([Ay(0,es),Ay(1,kt),Ay(2,sm)],Qx);const Nb=class Nb extends ye{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(fl).quickAccess.show(cd.PREFIX,{itemActivation:kF.NONE})}};Nb.ID="editor.action.quickOutline";let Rv=Nb;ie(Rv);Br.as(qp.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 A7(o){const e=new Map;for(const t of o)e.set(t,(e.get(t)??0)+1);return e}class Tf{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 A7(Tf.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=Tf.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=Tf.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 O7(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 F7 extends je{constructor(e,t){super(),this.prefix=e,this.options=t}provide(e,t,i){var h;const n=new ze;e.canAcceptInBackground=!!((h=this.options)!=null&&h.canAcceptInBackground),e.matchOnLabel=e.matchOnDescription=e.matchOnDetail=e.sortByLabel=!1;let s;const r=n.add(new Do),a=async()=>{var S;const g=r.value=new ze;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 F;let N,V;if(Oy(D)?(N=D.items,V=D.active):N=D,N.length===0){if(E)return!1;(p.length>0||e.hideInput)&&((F=this.options)!=null&&F.noResultsPick)&&(IF(this.options.noResultsPick)?N=[this.options.noResultsPick(p)]:N=[this.options.noResultsPick])}return e.items=N,V&&(e.activeItems=[V]),!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 V=await D.additionalPicks;if(f.isCancellationRequested)return;let F,Y;Oy(D.picks)?(F=D.picks.items,Y=D.picks.active):F=D.picks;let X,ue;if(Oy(V)?(X=V.items,ue=V.active):X=V,X.length>0||!E){let Ee;if(!Y&&!ue){const Ue=e.activeItems[0];Ue&&F.indexOf(Ue)!==-1&&(Ee=Ue)}_({items:[...F,...X],active:Y||ue||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(F=>F!==E[0]),V=e.keepScrollPosition;e.keepScrollPosition=!0,e.items=D,N&&(e.activeItems=N),e.keepScrollPosition=V}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,ts,ma;let e0=(ma=class extends F7{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 Tf;y.updateDocuments(s.map(D=>({key:D.commandId,textChunks:[this.getTfIdfChunk(D)]})));const S=y.calculateScores(e,i);return O7(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(V=>V.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),V=this.options.suggestedCommandIds.has(S.commandId);if(N&&V)return 0;if(N)return-1;if(V)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=ma,ma.PREFIX=">",ma.TFIDF_THRESHOLD=.5,ma.TFIDF_MAX_RESULTS=5,ma.WORD_FILTER=DF(TF,PF,EF),ma);e0=Hc=iR([Fl(1,di),Fl(2,ss),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=ts.getConfiguredCommandHistoryLength(this.configurationService),ts.cache&&ts.cache.limit!==this.configuredCommandsHistoryLength&&(ts.cache.limit=this.configuredCommandsHistoryLength,ts.hasChanges=!0))}load(){const e=this.storageService.get(ts.PREF_KEY_CACHE,0);let t;if(e)try{t=JSON.parse(e)}catch(n){this.logService.error(`[CommandsHistory] invalid data: ${n}`)}const i=ts.cache=new Op(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))}ts.counter=this.storageService.getNumber(ts.PREF_KEY_COUNTER,0,ts.counter)}push(e){ts.cache&&(ts.cache.set(e,ts.counter++),ts.hasChanges=!0)}peek(e){var t;return(t=ts.cache)==null?void 0:t.peek(e)}saveState(){if(!ts.cache||!ts.hasChanges)return;const e={usesLRU:!0,entries:[]};ts.cache.forEach((t,i)=>e.entries.push({key:i,value:t})),this.storageService.store(ts.PREF_KEY_CACHE,JSON.stringify(e),0,0),this.storageService.store(ts.PREF_KEY_COUNTER,ts.counter,0,0),ts.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:ts.DEFAULT_COMMANDS_HISTORY_LENGTH}},ts=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=ts=iR([Fl(0,Lc),Fl(1,xn),Fl(2,vh)],t0);class H7 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&&(MF(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:NF(n.label)||n.id})}return t}}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},$h=function(o,e){return function(t,i){e(t,i,o)}};let Sp=class extends H7{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[]}};Sp=W7([$h(0,di),$h(1,es),$h(2,ss),$h(3,us),$h(4,Vr),$h(5,V0)],Sp);const Rb=class Rb extends ye{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(fl).quickAccess.show(Sp.PREFIX)}};Rb.ID="editor.action.quickCommand";let Av=Rb;ie(Av);Br.as(qp.Quickaccess).registerQuickAccessProvider({ctor:Sp,prefix:Sp.PREFIX,helpEntries:[{description:wP.quickCommandHelp,commandId:Av.ID}]});var B7=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(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=B7([qh(1,Hi),qh(2,es),qh(3,Vs),qh(4,di),qh(5,Lc),qh(6,xn)],i0);vi(ch.ID,i0,4);class z7 extends ye{constructor(){super({id:"editor.action.toggleHighContrast",label:RF.toggleHighContrast,alias:"Toggle High Contrast Theme",precondition:void 0}),this._originalThemeName=null}run(e,t){const i=e.get(mP),n=i.getColorTheme();Hf(n.type)?(i.setTheme(this._originalThemeName||(lk(n.type)?AF:OF)),this._originalThemeName=null):(i.setTheme(lk(n.type)?FF:HF),this._originalThemeName=n.themeName)}}ie(z7);let n0=null;function V7(o){n0=o}function j7(o={}){return{"Content-Type":"application/json",...o}}async function yi(o,e,t){const i=await fetch(e,{method:o,headers:j7(),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 U7(){return await(await fetch("/she/auth/mode")).json()}async function $7(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 q7(){await fetch("/she/auth/logout",{method:"POST"})}async function K7(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 G7(){return yi("GET","/she/scripts/tree")}function lD(o){return yi("GET",`/she/scripts/${o}`)}function Ac(o,e){return yi("PUT",`/she/scripts/${o}`,{content:e})}function $m(o){return yi("DELETE",`/she/scripts/${o}`)}function cD(o,e){return yi("POST",`/she/scripts/${o}/rename`,{newPath:e})}function Z7(o){return yi("POST","/she/scripts/mkdir",{path:o})}function X7(){return yi("GET","/she/git/status")}function gf(){return yi("GET","/she/status")}function nR(){return yi("POST","/she/restart")}function Y7(){return yi("POST","/she/update")}function J7(){return yi("POST","/she/check-update")}function Q7(o,e){return yi("POST","/she/git/commit",{path:o,message:e})}function e8(o,e){return yi("POST","/she/git/commit",{files:o,message:e})}function t8(o){return yi("POST","/she/git/commit",{message:o})}function Fy(o){return yi("POST","/she/git/push",{remote:o})}function G1(){return yi("GET","/she/config")}function i8(o){return yi("PUT","/she/config",o)}function sR(){return yi("GET","/she/db/docs")}function n8(o){return yi("GET",`/she/db/docs/${o}`)}function dD(o,e){return yi("PUT",`/she/db/docs/${o}`,e)}function s8(o){return yi("DELETE",`/she/db/docs/${o}`)}function oR(){return yi("GET","/she/db/views")}function o8(o){return yi("GET",`/she/db/views/${o}`)}function hD(o,e){return yi("PUT",`/she/db/views/${o}`,e)}function r8(o){return yi("DELETE",`/she/db/views/${o}`)}function a8(){return yi("GET","/she/deps")}function l8(o){return yi("GET",`/she/deps/search?q=${encodeURIComponent(o)}`)}function c8(o,e){return yi("POST","/she/deps/install",{name:o,version:null})}function d8(o){return yi("POST","/she/deps/remove",{name:o})}function h8(o){return yi("POST","/she/deps/update",{name:o})}function u8(){return yi("GET","/she/deps/outdated")}function g8(){return yi("POST","/she/deps/check-outdated")}function f8(){return yi("GET","/she/ai/conversations")}function uD(o){return yi("GET",`/she/ai/conversations/${encodeURIComponent(o)}`)}function p8(o,e,t){return yi("PUT",`/she/ai/conversations/${encodeURIComponent(o)}`,{title:e,messages:t})}function m8(o){return yi("DELETE",`/she/ai/conversations/${encodeURIComponent(o)}`)}function Hy(o){return yi("GET",`/she/db/views/${o}/result`)}function rR(){return yi("GET","/she/matter/devices")}function v_(o){return yi("GET",`/she/matter/devices/${o}`)}function _8(o){return yi("POST","/she/matter/commission",o)}function v8(o){return yi("DELETE",`/she/matter/devices/${o}`)}function b8(o,e,t,i,n){return yi("POST",`/she/matter/devices/${o}/command`,{endpointId:e,clusterName:t,command:i,args:n})}function aR(){return yi("GET","/she/mqtt/state")}function gD(o,e,t=!1,i=0){return yi("POST","/she/mqtt/publish",{topic:o,payload:e,retain:t,qos:i})}function lR(){return yi("GET","/she/ai/config")}function cR(){return yi("GET","/she/ai/models")}function dR(o){return yi("GET",`/she/ai/model-info?model=${encodeURIComponent(o)}`)}function hR(o){return yi("POST","/she/ai/prompt",o)}async function uR(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 Cp(){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),Cp()>0&&(s0=setTimeout(Z1,3e3))},e.onerror=()=>{e.close()}}function gR(){s0&&clearTimeout(s0),Kl==null||Kl.close(),Kl=null}function fR(o){return Ov.add(o),Cp()===1&&Z1(),()=>{Ov.delete(o),Cp()===0&&gR()}}function Gl(o,e){return gu.has(o)||gu.set(o,new Set),gu.get(o).add(e),Cp()===1&&Z1(),()=>{var t;(t=gu.get(o))==null||t.delete(e),Cp()===0&&gR()}}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 Mg(o,e){Po(e,!0);let t=z(!1),i=z(""),n=z("Confirm"),s=z(!1),r=z(!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=Ts();is("keydown",sd,g);var v=yt(p);{var _=y=>{var S=x8(),D=yt(S),E=C(D,2),N=x(E),V=x(N),F=C(N,2),Y=x(F);{var X=ve=>{var ot=C8();ne("click",ot,()=>h(!1)),T(ve,ot)};$(Y,ve=>{u(r)||ve(X)})}var ue=C(Y,2);let Ee;var Ue=x(ue);Z(()=>{K(V,u(i)),Ee=jt(ue,1,"svelte-1eh8v5n",null,Ee,{danger:u(s)}),K(Ue,u(n))}),ne("click",D,()=>h(!1)),ne("click",ue,()=>h(!0)),T(y,S)};$(v,y=>{u(t)&&y(_)})}return T(o,p),To(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){Po(e,!0);let t=z(!1),i=z(""),n=z(""),s=z("OK"),r=z(""),a=null,c=z(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},_=Ts();is("keydown",sd,p);var y=yt(_);{var S=D=>{var E=L8(),N=yt(E),V=C(N,2),F=x(V),Y=x(F),X=C(F,2);bs(X,ot=>I(c,ot),()=>u(c));var ue=C(X,2),Ee=x(ue),Ue=C(Ee,2),ve=x(Ue);Z(ot=>{K(Y,u(i)),Rn(X,"placeholder",u(n)),Ue.disabled=ot,K(ve,u(s))},[()=>!u(r).trim()]),ne("click",N,f),ne("keydown",X,ot=>{ot.key==="Enter"&&(ot.preventDefault(),g())}),Ei(X,()=>u(r),ot=>I(r,ot)),ne("click",Ee,f),ne("click",Ue,g),T(D,E)};$(y,D=>{u(t)&&D(S)})}return T(o,_),To(v)}_r(["click","keydown"]);function pR(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(O){return O instanceof Map?O.clear=O.delete=O.set=function(){throw new Error("map is read-only")}:O instanceof Set&&(O.add=O.clear=O.delete=function(){throw new Error("set is read-only")}),Object.freeze(O),Object.getOwnPropertyNames(O).forEach(se=>{const be=O[se],j=typeof be;(j==="object"||j==="function")&&!Object.isFrozen(be)&&o(be)}),O}class e{constructor(se){se.data===void 0&&(se.data={}),this.data=se.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}}function t(O){return O.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function i(O,...se){const be=Object.create(null);for(const j in O)be[j]=O[j];return se.forEach(function(j){for(const pe in j)be[pe]=j[pe]}),be}const n="</span>",s=O=>!!O.scope,r=(O,{prefix:se})=>{if(O.startsWith("language:"))return O.replace("language:","language-");if(O.includes(".")){const be=O.split(".");return[`${se}${be.shift()}`,...be.map((j,pe)=>`${j}${"_".repeat(pe+1)}`)].join(" ")}return`${se}${O}`};class a{constructor(se,be){this.buffer="",this.classPrefix=be.classPrefix,se.walk(this)}addText(se){this.buffer+=t(se)}openNode(se){if(!s(se))return;const be=r(se.scope,{prefix:this.classPrefix});this.span(be)}closeNode(se){s(se)&&(this.buffer+=n)}value(){return this.buffer}span(se){this.buffer+=`<span class="${se}">`}}const c=(O={})=>{const se={children:[]};return Object.assign(se,O),se};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(se){this.top.children.push(se)}openNode(se){const be=c({scope:se});this.add(be),this.stack.push(be)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(se){return this.constructor._walk(se,this.rootNode)}static _walk(se,be){return typeof be=="string"?se.addText(be):be.children&&(se.openNode(be),be.children.forEach(j=>this._walk(se,j)),se.closeNode(be)),se}static _collapse(se){typeof se!="string"&&se.children&&(se.children.every(be=>typeof be=="string")?se.children=[se.children.join("")]:se.children.forEach(be=>{h._collapse(be)}))}}class g extends h{constructor(se){super(),this.options=se}addText(se){se!==""&&this.add(se)}startScope(se){this.openNode(se)}endScope(){this.closeNode()}__addSublanguage(se,be){const j=se.root;be&&(j.scope=`language:${be}`),this.add(j)}toHTML(){return new a(this,this.options).value()}finalize(){return this.closeAllNodes(),!0}}function f(O){return O?typeof O=="string"?O:O.source:null}function p(O){return y("(?=",O,")")}function v(O){return y("(?:",O,")*")}function _(O){return y("(?:",O,")?")}function y(...O){return O.map(be=>f(be)).join("")}function S(O){const se=O[O.length-1];return typeof se=="object"&&se.constructor===Object?(O.splice(O.length-1,1),se):{}}function D(...O){return"("+(S(O).capture?"":"?:")+O.map(j=>f(j)).join("|")+")"}function E(O){return new RegExp(O.toString()+"|").exec("").length-1}function N(O,se){const be=O&&O.exec(se);return be&&be.index===0}const V=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;function F(O,{joinWith:se}){let be=0;return O.map(j=>{be+=1;const pe=be;let Fe=f(j),ke="";for(;Fe.length>0;){const Me=V.exec(Fe);if(!Me){ke+=Fe;break}ke+=Fe.substring(0,Me.index),Fe=Fe.substring(Me.index+Me[0].length),Me[0][0]==="\\"&&Me[1]?ke+="\\"+String(Number(Me[1])+pe):(ke+=Me[0],Me[0]==="("&&be++)}return ke}).map(j=>`(${j})`).join(se)}const Y=/\b\B/,X="[a-zA-Z]\\w*",ue="[a-zA-Z_]\\w*",Ee="\\b\\d+(\\.\\d+)?",Ue="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",ve="\\b(0b[01]+)",ot="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",Xt=(O={})=>{const se=/^#![ ]*\//;return O.binary&&(O.begin=y(se,/.*\b/,O.binary,/\b.*/)),i({scope:"meta",begin:se,end:/$/,relevance:0,"on:begin":(be,j)=>{be.index!==0&&j.ignoreMatch()}},O)},Ct={begin:"\\\\[\\s\\S]",relevance:0},Qt={scope:"string",begin:"'",end:"'",illegal:"\\n",contains:[Ct]},Ft={scope:"string",begin:'"',end:'"',illegal:"\\n",contains:[Ct]},ei={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(O,se,be={}){const j=i({scope:"comment",begin:O,end:se,contains:[]},be);j.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 pe=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 j.contains.push({begin:y(/[ ]+/,"(",pe,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),j},xt=de("//","$"),Oe=de("/\\*","\\*/"),Xe=de("#","$"),Nt={scope:"number",begin:Ee,relevance:0},hi={scope:"number",begin:Ue,relevance:0},zt={scope:"number",begin:ve,relevance:0},Rt={scope:"regexp",begin:/\/(?=[^/\n]*\/)/,end:/\/[gimuy]*/,contains:[Ct,{begin:/\[/,end:/\]/,relevance:0,contains:[Ct]}]},Dt={scope:"title",begin:X,relevance:0},ii={scope:"title",begin:ue,relevance:0},mi={begin:"\\.\\s*"+ue,relevance:0};var Zi=Object.freeze({__proto__:null,APOS_STRING_MODE:Qt,BACKSLASH_ESCAPE:Ct,BINARY_NUMBER_MODE:zt,BINARY_NUMBER_RE:ve,COMMENT:de,C_BLOCK_COMMENT_MODE:Oe,C_LINE_COMMENT_MODE:xt,C_NUMBER_MODE:hi,C_NUMBER_RE:Ue,END_SAME_AS_BEGIN:function(O){return Object.assign(O,{"on:begin":(se,be)=>{be.data._beginMatch=se[1]},"on:end":(se,be)=>{be.data._beginMatch!==se[1]&&be.ignoreMatch()}})},HASH_COMMENT_MODE:Xe,IDENT_RE:X,MATCH_NOTHING_RE:Y,METHOD_GUARD:mi,NUMBER_MODE:Nt,NUMBER_RE:Ee,PHRASAL_WORDS_MODE:ei,QUOTE_STRING_MODE:Ft,REGEXP_MODE:Rt,RE_STARTERS_RE:ot,SHEBANG:Xt,TITLE_MODE:Dt,UNDERSCORE_IDENT_RE:ue,UNDERSCORE_TITLE_MODE:ii});function vn(O,se){O.input[O.index-1]==="."&&se.ignoreMatch()}function En(O,se){O.className!==void 0&&(O.scope=O.className,delete O.className)}function zi(O,se){se&&O.beginKeywords&&(O.begin="\\b("+O.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",O.__beforeBegin=vn,O.keywords=O.keywords||O.beginKeywords,delete O.beginKeywords,O.relevance===void 0&&(O.relevance=0))}function qn(O,se){Array.isArray(O.illegal)&&(O.illegal=D(...O.illegal))}function dn(O,se){if(O.match){if(O.begin||O.end)throw new Error("begin & end are not supported with match");O.begin=O.match,delete O.match}}function Ln(O,se){O.relevance===void 0&&(O.relevance=1)}const Wn=(O,se)=>{if(!O.beforeMatch)return;if(O.starts)throw new Error("beforeMatch cannot be used with starts");const be=Object.assign({},O);Object.keys(O).forEach(j=>{delete O[j]}),O.keywords=be.keywords,O.begin=y(be.beforeMatch,p(be.begin)),O.starts={relevance:0,contains:[Object.assign(be,{endsParent:!0})]},O.relevance=0,delete be.beforeMatch},hn=["of","and","for","in","not","or","if","then","parent","list","value"],Kn="keyword";function Fn(O,se,be=Kn){const j=Object.create(null);return typeof O=="string"?pe(be,O.split(" ")):Array.isArray(O)?pe(be,O):Object.keys(O).forEach(function(Fe){Object.assign(j,Fn(O[Fe],se,Fe))}),j;function pe(Fe,ke){se&&(ke=ke.map(Me=>Me.toLowerCase())),ke.forEach(function(Me){const Pe=Me.split("|");j[Pe[0]]=[Fe,Hn(Pe[0],Pe[1])]})}}function Hn(O,se){return se?Number(se):Bn(O)?0:1}function Bn(O){return hn.includes(O.toLowerCase())}const un={},Ki=O=>{console.error(O)},Ti=(O,...se)=>{console.log(`WARN: ${O}`,...se)},Ke=(O,se)=>{un[`${O}/${se}`]||(console.log(`Deprecated as of ${O}. ${se}`),un[`${O}/${se}`]=!0)},Mt=new Error;function gi(O,se,{key:be}){let j=0;const pe=O[be],Fe={},ke={};for(let Me=1;Me<=se.length;Me++)ke[Me+j]=pe[Me],Fe[Me+j]=!0,j+=E(se[Me-1]);O[be]=ke,O[be]._emit=Fe,O[be]._multi=!0}function Li(O){if(Array.isArray(O.begin)){if(O.skip||O.excludeBegin||O.returnBegin)throw Ki("skip, excludeBegin, returnBegin not compatible with beginScope: {}"),Mt;if(typeof O.beginScope!="object"||O.beginScope===null)throw Ki("beginScope must be object"),Mt;gi(O,O.begin,{key:"beginScope"}),O.begin=F(O.begin,{joinWith:""})}}function Ci(O){if(Array.isArray(O.end)){if(O.skip||O.excludeEnd||O.returnEnd)throw Ki("skip, excludeEnd, returnEnd not compatible with endScope: {}"),Mt;if(typeof O.endScope!="object"||O.endScope===null)throw Ki("endScope must be object"),Mt;gi(O,O.end,{key:"endScope"}),O.end=F(O.end,{joinWith:""})}}function on(O){O.scope&&typeof O.scope=="object"&&O.scope!==null&&(O.beginScope=O.scope,delete O.scope)}function ki(O){on(O),typeof O.beginScope=="string"&&(O.beginScope={_wrap:O.beginScope}),typeof O.endScope=="string"&&(O.endScope={_wrap:O.endScope}),Li(O),Ci(O)}function jn(O){function se(ke,Me){return new RegExp(f(ke),"m"+(O.case_insensitive?"i":"")+(O.unicodeRegex?"u":"")+(Me?"g":""))}class be{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(Me,Pe){Pe.position=this.position++,this.matchIndexes[this.matchAt]=Pe,this.regexes.push([Pe,Me]),this.matchAt+=E(Me)+1}compile(){this.regexes.length===0&&(this.exec=()=>null);const Me=this.regexes.map(Pe=>Pe[1]);this.matcherRe=se(F(Me,{joinWith:"|"}),!0),this.lastIndex=0}exec(Me){this.matcherRe.lastIndex=this.lastIndex;const Pe=this.matcherRe.exec(Me);if(!Pe)return null;const Pt=Pe.findIndex((Ie,At)=>At>0&&Ie!==void 0),dt=this.matchIndexes[Pt];return Pe.splice(0,Pt),Object.assign(Pe,dt)}}class j{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 Pe=new be;return this.rules.slice(Me).forEach(([Pt,dt])=>Pe.addRule(Pt,dt)),Pe.compile(),this.multiRegexes[Me]=Pe,Pe}resumingScanAtSamePosition(){return this.regexIndex!==0}considerAll(){this.regexIndex=0}addRule(Me,Pe){this.rules.push([Me,Pe]),Pe.type==="begin"&&this.count++}exec(Me){const Pe=this.getMatcher(this.regexIndex);Pe.lastIndex=this.lastIndex;let Pt=Pe.exec(Me);if(this.resumingScanAtSamePosition()&&!(Pt&&Pt.index===this.lastIndex)){const dt=this.getMatcher(0);dt.lastIndex=this.lastIndex+1,Pt=dt.exec(Me)}return Pt&&(this.regexIndex+=Pt.position+1,this.regexIndex===this.count&&this.considerAll()),Pt}}function pe(ke){const Me=new j;return ke.contains.forEach(Pe=>Me.addRule(Pe.begin,{rule:Pe,type:"begin"})),ke.terminatorEnd&&Me.addRule(ke.terminatorEnd,{type:"end"}),ke.illegal&&Me.addRule(ke.illegal,{type:"illegal"}),Me}function Fe(ke,Me){const Pe=ke;if(ke.isCompiled)return Pe;[En,dn,ki,Wn].forEach(dt=>dt(ke,Me)),O.compilerExtensions.forEach(dt=>dt(ke,Me)),ke.__beforeBegin=null,[zi,qn,Ln].forEach(dt=>dt(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=Fn(ke.keywords,O.case_insensitive)),Pe.keywordPatternRe=se(Pt,!0),Me&&(ke.begin||(ke.begin=/\B|\b/),Pe.beginRe=se(Pe.begin),!ke.end&&!ke.endsWithParent&&(ke.end=/\B|\b/),ke.end&&(Pe.endRe=se(Pe.end)),Pe.terminatorEnd=f(Pe.end)||"",ke.endsWithParent&&Me.terminatorEnd&&(Pe.terminatorEnd+=(ke.end?"|":"")+Me.terminatorEnd)),ke.illegal&&(Pe.illegalRe=se(ke.illegal)),ke.contains||(ke.contains=[]),ke.contains=[].concat(...ke.contains.map(function(dt){return Xn(dt==="self"?ke:dt)})),ke.contains.forEach(function(dt){Fe(dt,Pe)}),ke.starts&&Fe(ke.starts,Me),Pe.matcher=pe(Pe),Pe}if(O.compilerExtensions||(O.compilerExtensions=[]),O.contains&&O.contains.includes("self"))throw new Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return O.classNameAliases=i(O.classNameAliases||{}),Fe(O)}function Pn(O){return O?O.endsWithParent||Pn(O.starts):!1}function Xn(O){return O.variants&&!O.cachedVariants&&(O.cachedVariants=O.variants.map(function(se){return i(O,{variants:null},se)})),O.cachedVariants?O.cachedVariants:Pn(O)?i(O,{starts:O.starts?i(O.starts):null}):Object.isFrozen(O)?i(O):O}var Tn="11.11.1";class rn extends Error{constructor(se,be){super(se),this.name="HTMLInjectionError",this.html=be}}const Be=t,G=i,Re=Symbol("nomatch"),lt=7,ct=function(O){const se=Object.create(null),be=Object.create(null),j=[];let pe=!0;const Fe="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 Pe(A){return Me.noHighlightRe.test(A)}function Pt(A){let q=A.className+" ";q+=A.parentNode?A.parentNode.className:"";const xe=Me.languageDetectRe.exec(q);if(xe){const Ce=Yt(xe[1]);return Ce||(Ti(Fe.replace("{}",xe[1])),Ti("Falling back to no-highlight mode for this block.",A)),Ce?xe[1]:"no-highlight"}return q.split(/\s+/).find(Ce=>Pe(Ce)||Yt(Ce))}function dt(A,q,xe){let Ce="",Ae="";typeof q=="object"?(Ce=A,xe=q.ignoreIllegals,Ae=q.language):(Ke("10.7.0","highlight(lang, code, ...args) has been deprecated."),Ke("10.7.0",`Please use highlight(code, options) instead.
|
|
80
|
+
https://github.com/highlightjs/highlight.js/issues/2277`),Ae=A,Ce=q),xe===void 0&&(xe=!0);const De={code:Ce,language:Ae};oi("before:highlight",De);const oe=De.result?De.result:Ie(De.language,De.code,xe);return oe.code=De.code,oi("after:highlight",oe),oe}function Ie(A,q,xe,Ce){const Ae=Object.create(null);function De(ge,qe){return ge.keywords[qe]}function oe(){if(!he.keywords){Ze.addText(Le);return}let ge=0;he.keywordPatternRe.lastIndex=0;let qe=he.keywordPatternRe.exec(Le),gt="";for(;qe;){gt+=Le.substring(ge,qe.index);const wt=we.case_insensitive?qe[0].toLowerCase():qe[0],Qe=De(he,wt);if(Qe){const[li,Jt]=Qe;if(Ze.addText(gt),gt="",Ae[wt]=(Ae[wt]||0)+1,Ae[wt]<=lt&&(le+=Jt),li.startsWith("_"))gt+=qe[0];else{const Un=we.classNameAliases[li]||li;Te(qe[0],Un)}}else gt+=qe[0];ge=he.keywordPatternRe.lastIndex,qe=he.keywordPatternRe.exec(Le)}gt+=Le.substring(ge),Ze.addText(gt)}function ht(){if(Le==="")return;let ge=null;if(typeof he.subLanguage=="string"){if(!se[he.subLanguage]){Ze.addText(Le);return}ge=Ie(he.subLanguage,Le,!0,bt[he.subLanguage]),bt[he.subLanguage]=ge._top}else ge=ni(Le,he.subLanguage.length?he.subLanguage:null);he.relevance>0&&(le+=ge.relevance),Ze.__addSublanguage(ge._emitter,ge.language)}function Ye(){he.subLanguage!=null?ht():oe(),Le=""}function Te(ge,qe){ge!==""&&(Ze.startScope(qe),Ze.addText(ge),Ze.endScope())}function Tt(ge,qe){let gt=1;const wt=qe.length-1;for(;gt<=wt;){if(!ge._emit[gt]){gt++;continue}const Qe=we.classNameAliases[ge[gt]]||ge[gt],li=qe[gt];Qe?Te(li,Qe):(Le=li,oe(),Le=""),gt++}}function We(ge,qe){return ge.scope&&typeof ge.scope=="string"&&Ze.openNode(we.classNameAliases[ge.scope]||ge.scope),ge.beginScope&&(ge.beginScope._wrap?(Te(Le,we.classNameAliases[ge.beginScope._wrap]||ge.beginScope._wrap),Le=""):ge.beginScope._multi&&(Tt(ge.beginScope,qe),Le="")),he=Object.create(ge,{parent:{value:he}}),he}function H(ge,qe,gt){let wt=N(ge.endRe,gt);if(wt){if(ge["on:end"]){const Qe=new e(ge);ge["on:end"](qe,Qe),Qe.isMatchIgnored&&(wt=!1)}if(wt){for(;ge.endsParent&&ge.parent;)ge=ge.parent;return ge}}if(ge.endsWithParent)return H(ge.parent,qe,gt)}function Q(ge){return he.matcher.regexIndex===0?(Le+=ge[0],1):(Ht=!0,0)}function Se(ge){const qe=ge[0],gt=ge.rule,wt=new e(gt),Qe=[gt.__beforeBegin,gt["on:begin"]];for(const li of Qe)if(li&&(li(ge,wt),wt.isMatchIgnored))return Q(qe);return gt.skip?Le+=qe:(gt.excludeBegin&&(Le+=qe),Ye(),!gt.returnBegin&&!gt.excludeBegin&&(Le=qe)),We(gt,ge),gt.returnBegin?0:qe.length}function Ge(ge){const qe=ge[0],gt=q.substring(ge.index),wt=H(he,ge,gt);if(!wt)return Re;const Qe=he;he.endScope&&he.endScope._wrap?(Ye(),Te(qe,he.endScope._wrap)):he.endScope&&he.endScope._multi?(Ye(),Tt(he.endScope,ge)):Qe.skip?Le+=qe:(Qe.returnEnd||Qe.excludeEnd||(Le+=qe),Ye(),Qe.excludeEnd&&(Le=qe));do he.scope&&Ze.closeNode(),!he.skip&&!he.subLanguage&&(le+=he.relevance),he=he.parent;while(he!==wt.parent);return wt.starts&&We(wt.starts,ge),Qe.returnEnd?0:qe.length}function et(){const ge=[];for(let qe=he;qe!==we;qe=qe.parent)qe.scope&&ge.unshift(qe.scope);ge.forEach(qe=>Ze.openNode(qe))}let it={};function ft(ge,qe){const gt=qe&&qe[0];if(Le+=ge,gt==null)return Ye(),0;if(it.type==="begin"&&qe.type==="end"&&it.index===qe.index&>===""){if(Le+=q.slice(qe.index,qe.index+1),!pe){const wt=new Error(`0 width match regex (${A})`);throw wt.languageName=A,wt.badRule=it.rule,wt}return 1}if(it=qe,qe.type==="begin")return Se(qe);if(qe.type==="illegal"&&!xe){const wt=new Error('Illegal lexeme "'+gt+'" for mode "'+(he.scope||"<unnamed>")+'"');throw wt.mode=he,wt}else if(qe.type==="end"){const wt=Ge(qe);if(wt!==Re)return wt}if(qe.type==="illegal"&>==="")return Le+=`
|
|
81
|
+
`,1;if(Je>1e5&&Je>qe.index*3)throw new Error("potential infinite loop, way more iterations than matches");return Le+=gt,gt.length}const we=Yt(A);if(!we)throw Ki(Fe.replace("{}",A)),new Error('Unknown language: "'+A+'"');const vt=jn(we);let ut="",he=Ce||vt;const bt={},Ze=new Me.__emitter(Me);et();let Le="",le=0,me=0,Je=0,Ht=!1;try{if(we.__emitTokens)we.__emitTokens(q,Ze);else{for(he.matcher.considerAll();;){Je++,Ht?Ht=!1:he.matcher.considerAll(),he.matcher.lastIndex=me;const ge=he.matcher.exec(q);if(!ge)break;const qe=q.substring(me,ge.index),gt=ft(qe,ge);me=ge.index+gt}ft(q.substring(me))}return Ze.finalize(),ut=Ze.toHTML(),{language:A,value:ut,relevance:le,illegal:!1,_emitter:Ze,_top:he}}catch(ge){if(ge.message&&ge.message.includes("Illegal"))return{language:A,value:Be(q),illegal:!0,relevance:0,_illegalBy:{message:ge.message,index:me,context:q.slice(me-100,me+100),mode:ge.mode,resultSoFar:ut},_emitter:Ze};if(pe)return{language:A,value:Be(q),illegal:!1,relevance:0,errorRaised:ge,_emitter:Ze,_top:he};throw ge}}function At(A){const q={value:Be(A),illegal:!1,relevance:0,_top:ke,_emitter:new Me.__emitter(Me)};return q._emitter.addText(A),q}function ni(A,q){q=q||Me.languages||Object.keys(se);const xe=At(A),Ce=q.filter(Yt).filter(si).map(Ye=>Ie(Ye,A,!1));Ce.unshift(xe);const Ae=Ce.sort((Ye,Te)=>{if(Ye.relevance!==Te.relevance)return Te.relevance-Ye.relevance;if(Ye.language&&Te.language){if(Yt(Ye.language).supersetOf===Te.language)return 1;if(Yt(Te.language).supersetOf===Ye.language)return-1}return 0}),[De,oe]=Ae,ht=De;return ht.secondBest=oe,ht}function qt(A,q,xe){const Ce=q&&be[q]||xe;A.classList.add("hljs"),A.classList.add(`language-${Ce}`)}function $t(A){let q=null;const xe=Pt(A);if(Pe(xe))return;if(oi("before:highlightElement",{el:A,language:xe}),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 rn("One of your code blocks includes unescaped HTML.",A.innerHTML);q=A;const Ce=q.textContent,Ae=xe?dt(Ce,{language:xe,ignoreIllegals:!0}):ni(Ce);A.innerHTML=Ae.value,A.dataset.highlighted="yes",qt(A,xe,Ae.language),A.result={language:Ae.language,re:Ae.relevance,relevance:Ae.relevance},Ae.secondBest&&(A.secondBest={language:Ae.secondBest.language,relevance:Ae.secondBest.relevance}),oi("after:highlightElement",{el:A,result:Ae,text:Ce})}function ti(A){Me=G(Me,A)}const J=()=>{tt(),Ke("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")};function _e(){tt(),Ke("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.")}let $e=!1;function tt(){function A(){tt()}if(document.readyState==="loading"){$e||window.addEventListener("DOMContentLoaded",A,!1),$e=!0;return}document.querySelectorAll(Me.cssSelector).forEach($t)}function It(A,q){let xe=null;try{xe=q(O)}catch(Ce){if(Ki("Language definition for '{}' could not be registered.".replace("{}",A)),pe)Ki(Ce);else throw Ce;xe=ke}xe.name||(xe.name=A),se[A]=xe,xe.rawDefinition=q.bind(null,O),xe.aliases&&ai(xe.aliases,{languageName:A})}function He(A){delete se[A];for(const q of Object.keys(be))be[q]===A&&delete be[q]}function nt(){return Object.keys(se)}function Yt(A){return A=(A||"").toLowerCase(),se[A]||se[be[A]]}function ai(A,{languageName:q}){typeof A=="string"&&(A=[A]),A.forEach(xe=>{be[xe.toLowerCase()]=q})}function si(A){const q=Yt(A);return q&&!q.disableAutodetect}function Vi(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 kn(A){Vi(A),j.push(A)}function Mi(A){const q=j.indexOf(A);q!==-1&&j.splice(q,1)}function oi(A,q){const xe=A;j.forEach(function(Ce){Ce[xe]&&Ce[xe](q)})}function ji(A){return Ke("10.7.0","highlightBlock will be removed entirely in v12.0"),Ke("10.7.0","Please use highlightElement now."),$t(A)}Object.assign(O,{highlight:dt,highlightAuto:ni,highlightAll:tt,highlightElement:$t,highlightBlock:ji,configure:ti,initHighlighting:J,initHighlightingOnLoad:_e,registerLanguage:It,unregisterLanguage:He,listLanguages:nt,getLanguage:Yt,registerAliases:ai,autoDetection:si,inherit:G,addPlugin:kn,removePlugin:Mi}),O.debugMode=function(){pe=!1},O.safeMode=function(){pe=!0},O.versionString=Tn,O.regex={concat:y,lookahead:p,either:D,optional:_,anyNumberOfTimes:v};for(const A in Zi)typeof Zi[A]=="object"&&o(Zi[A]);return Object.assign(O,Zi),O},Wt=ct({});return Wt.newInstance=()=>ct({}),Wy=Wt,Wt.HighlightJS=Wt,Wt.default=Wt,Wy}var D8=I8();const Fv=pR(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"],mR=["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"],_R=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],vR=["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(vR,mR,_R);function bR(o){const e=o.regex,t=(de,{after:xt})=>{const Oe="</"+de[0].slice(1);return de.input.indexOf(Oe,xt)!==-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,xt)=>{const Oe=de[0].length+de.index,Xe=de.input[Oe];if(Xe==="<"||Xe===","){xt.ignoreMatch();return}Xe===">"&&(t(de,{after:Oe})||xt.ignoreMatch());let Nt;const hi=de.input.substring(Oe);if(Nt=hi.match(/^\s*=/)){xt.ignoreMatch();return}if((Nt=hi.match(/^\s+extends\s+/))&&Nt.index===0){xt.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 V=[].concat(E,p.contains),F=V.concat([{begin:/(\s*)\(/,end:/\)/,keywords:a,contains:["self"].concat(V)}]),Y={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:a,contains:F},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"}}]},ue={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:{_:[...mR,..._R]}},Ee={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},Ue={variants:[{match:[/function/,/\s+/,i,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[Y],illegal:/%/},ve={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function ot(de){return e.concat("(?!",de.join("|"),")")}const Xt={match:e.concat(/\b/,ot([...vR,"super","import"].map(de=>`${de}\\s*\\(`)),i,e.lookahead(/\s*\(/)),className:"title.function",relevance:0},Ct={begin:e.concat(/\./,e.lookahead(e.concat(i,/(?![0-9A-Za-z$_(])/))),end:i,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},Qt={match:[/get|set/,/\s+/,i,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},Y]},Ft="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+o.UNDERSCORE_IDENT_RE+")\\s*=>",ei={match:[/const|var|let/,/\s+/,i,/\s*/,/=\s*/,/(async\s*)?/,e.lookahead(Ft)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[Y]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:a,exports:{PARAMS_CONTAINS:F,CLASS_REFERENCE:ue},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,ue,{scope:"attr",match:i+e.lookahead(":"),relevance:0},ei,{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:F}]}]},{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"]}]}]},Ue,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+o.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[Y,o.inherit(o.TITLE_MODE,{begin:i,className:"title.function"})]},{match:/\.\.\./,relevance:0},Ct,{match:"\\$"+i,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[Y]},Xt,ve,X,Qt,{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 wR(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(Zs.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}})(),Zs={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}[.)])/,yR=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,SR=pn(yR).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(yR).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(),CR=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",CR).getRegex(),tL={blockquote:j8,code:A8,def:B8,fences:O8,heading:F8,hr:rm,html:V8,lheading:SR,list:z8,newline:R8,paragraph:CR,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",SR).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},q8=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,K8=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,xR=/^( {2,}|\\)\n(?!\s*$)/,G8=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,Ng=/[\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(),LR=/(?!~)[\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(),kR=/^(?:\*+(?:((?!\*)punct)|([^\s*]))?)|^_+(?:((?!_)punct)|([^\s_]))?/,Q8=pn(kR,"u").replace(/punct/g,Ng).getRegex(),eq=pn(kR,"u").replace(/punct/g,LR).getRegex(),IR="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)",tq=pn(IR,"gu").replace(/notPunctSpace/g,iL).replace(/punctSpace/g,Tw).replace(/punct/g,Ng).getRegex(),iq=pn(IR,"gu").replace(/notPunctSpace/g,Y8).replace(/punctSpace/g,X8).replace(/punct/g,LR).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,Ng).getRegex(),sq=pn(/^~~?(?:((?!~)punct)|[^\s~])/,"u").replace(/punct/g,Ng).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,Ng).getRegex(),aq=pn(/\\(punct)/,"gu").replace(/punct/g,Ng).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(),DR=pn(/^!?\[(label)\]\[(ref)\]/).replace("label",Hv).replace("ref",Q1).getRegex(),ER=pn(/^!?\[(ref)\](?:\[\])?/).replace("ref",Q1).getRegex(),uq=pn("reflink|nolink(?!\\()","g").replace("reflink",DR).replace("nolink",ER).getRegex(),_D=/[hH][tT][tT][pP][sS]?|[fF][tT][pP]/,nL={_backpedal:zc,anyPunctuation:aq,autolink:lq,blockSkip:J8,br:xR,code:K8,del:zc,delLDelim:zc,delRDelim:zc,emStrongLDelim:Q8,emStrongRDelimAst:tq,emStrongRDelimUnd:nq,escape:q8,link:hq,nolink:ER,punctuation:Z8,reflink:DR,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(xR).replace("{2,}","*").getRegex(),text:pn(o0.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()},qm={normal:tL,gfm:U8,pedantic:$8},Zg={normal:nL,gfm:o0,breaks:fq,pedantic:gq},pq={"&":"&","<":"<",">":">",'"':""","'":"'"},vD=o=>pq[o];function na(o,e){if(e){if(Zs.escapeTest.test(o))return o.replace(Zs.escapeReplace,vD)}else if(Zs.escapeTestNoEncode.test(o))return o.replace(Zs.escapeReplaceNoEncode,vD);return o}function bD(o){try{o=encodeURI(o).replace(Zs.percentDecode,"%")}catch{return null}return o}function wD(o,e){var s;let t=o.replace(Zs.findPipe,(r,a,c)=>{let h=!1,g=a;for(;--g>=0&&c[g]==="\\";)h=!h;return h?"|":" |"}),i=t.split(Zs.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(Zs.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&&Zs.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){Oi(this,"options");Oi(this,"rules");Oi(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(_),V=this.rules.other.blockquoteBeginRegex(_);for(;o;){let F=o.split(`
|
|
103
|
+
`,1)[0],Y;if(p=F,this.options.pedantic?(p=p.replace(this.rules.other.listReplaceNesting," "),Y=p):Y=p.replace(this.rules.other.tabCharGlobal," "),D.test(p)||E.test(p)||N.test(p)||V.test(p)||y.test(p)||S.test(p))break;if(Y.search(this.rules.other.nonSpaceChar)>=_||!p.trim())g+=`
|
|
104
|
+
`+Y.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+=F+`
|
|
106
|
+
`,o=o.substring(F.length+1),f=Y.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){Oi(this,"tokens");Oi(this,"options");Oi(this,"state");Oi(this,"inlineQueue");Oi(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:Zs,block:qm.normal,inline:Zg.normal};this.options.pedantic?(t.block=qm.pedantic,t.inline=Zg.pedantic):this.options.gfm&&(t.block=qm.gfm,this.options.breaks?t.inline=Zg.breaks:t.inline=Zg.gfm),this.tokenizer.rules=t}static get rules(){return{block:qm,inline:Zg}}static lex(e,t){return new r0(t).lex(e)}static lexInline(e,t){return new r0(t).inlineTokens(e)}lex(e){e=e.replace(Zs.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(Zs.tabCharGlobal," ").replace(Zs.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){Oi(this,"options");Oi(this,"parser");this.options=o||kh}space(o){return""}code({text:o,lang:e,escaped:t}){var s;let i=(s=(e||"").match(Zs.notSpaceStart))==null?void 0:s[0],n=o.replace(Zs.endingNewline,"")+`
|
|
126
|
+
`;return i?'<pre><code class="language-'+na(i)+'">'+(t?n:na(n,!0))+`</code></pre>
|
|
127
|
+
`:"<pre><code>"+(t?n:na(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>${na(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="'+na(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 na(t);o=n;let s=`<img src="${o}" alt="${na(t)}"`;return e&&(s+=` title="${na(e)}"`),s+=">",s}text(o){return"tokens"in o&&o.tokens?this.parser.parseInline(o.tokens):"escaped"in o&&o.escaped?o.text:na(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){Oi(this,"options");Oi(this,"renderer");Oi(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,ff=(Km=class{constructor(o){Oi(this,"options");Oi(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}},Oi(Km,"passThroughHooks",new Set(["preprocess","postprocess","processAllTokens","emStrongMask"])),Oi(Km,"passThroughHooksRespectAsync",new Set(["preprocess","postprocess","processAllTokens"])),Km),bq=class{constructor(...o){Oi(this,"defaults",X1());Oi(this,"options",this.setOptions);Oi(this,"parse",this.parseMarkdown(!0));Oi(this,"parseInline",this.parseMarkdown(!1));Oi(this,"Parser",Pr);Oi(this,"Renderer",Bv);Oi(this,"TextRenderer",sL);Oi(this,"Lexer",Er);Oi(this,"Tokenizer",Wv);Oi(this,"Hooks",ff);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 ff;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];ff.passThroughHooks.has(s)?n[r]=h=>{if(this.defaults.async&&ff.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>"+na(t.message+"",!0)+"</pre>";return e?Promise.resolve(i):i}if(e)return Promise.reject(t);throw t}}},fh=new bq;function Dn(o,e){return fh.parse(o,e)}Dn.options=Dn.setOptions=function(o){return fh.setOptions(o),Dn.defaults=fh.defaults,wR(Dn.defaults),Dn};Dn.getDefaults=X1;Dn.defaults=kh;Dn.use=function(...o){return fh.use(...o),Dn.defaults=fh.defaults,wR(Dn.defaults),Dn};Dn.walkTokens=function(o,e){return fh.walkTokens(o,e)};Dn.parseInline=fh.parseInline;Dn.Parser=Pr;Dn.parser=Pr.parse;Dn.Renderer=Bv;Dn.TextRenderer=sL;Dn.Lexer=Er;Dn.lexer=Er.lex;Dn.Tokenizer=Wv;Dn.Hooks=ff;Dn.parse=Dn;Dn.options;Dn.setOptions;Dn.use;Dn.walkTokens;Dn.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){Po(e,!0),Fv.registerLanguage("javascript",bR),Dn.use({breaks:!0,gfm:!0});let t=ng(e,"currentScript",3,null),i=ng(e,"extraFiles",31,()=>wi([])),n=z(wi([])),s=z(null),r=z(""),a=z(!1),c=z(""),h=z(null);const g="she:conversationId";function f(){return crypto.randomUUID().replace(/-/g,"").slice(0,16)}let p=z(wi(localStorage.getItem(g)??f())),v=z(wi([])),_=z(!1);Mn(()=>{localStorage.setItem(g,u(p))});let y=z(wi([])),S=z(wi(localStorage.getItem("she:selectedModel")??"")),D=z(null);const E=rt(()=>{var H;return u(D)!==null&&((H=t())==null?void 0:H.path)===u(D)});let N=z(wi(new Set)),V=z(!1),F=z(null),Y=z(!1),X=z(""),ue=z(0),Ee=null,Ue=z(0);const ve=["[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 ot=z(!0),Xt=z(!0),Ct=z(!0),Qt=z(!1),Ft,ei=z(wi([])),de,xt;const Oe=rt(()=>({apiref:u(ot),tools:u(Xt)})),Xe=rt(()=>{var H;return((H=u(h))==null?void 0:H.configured)??!1}),Nt=rt(()=>{var H;return u(Xe)||!!((H=u(h))!=null&&H.provider)&&!!u(S)}),hi=rt(()=>u(ue)+new TextEncoder().encode(u(r)).length),zt=rt(()=>u(Ct)?t():null);Mn(()=>{var Q;const H=(Q=t())==null?void 0:Q.path;I(Ct,!0),u(D)!==null&&H!==u(D)&&I(D,null)}),Mn(()=>{var Ge;if(!u(E))return;const H=u(n).at(-1);if(!H||H.role!=="assistant")return;const Se=Dt(H.content).find(et=>et.type==="code"&&dn(et.lang));if(Se){const et=Ln(Se.text);(Ge=e.onApply)==null||Ge.call(e,et?et.code:Se.text)}});async function Rt(){try{const H=await lR();I(h,H,!0),H.configured&&!u(S)&&I(S,H.model,!0)}catch{}}Mn(()=>(window.addEventListener("she:config-changed",Rt),()=>window.removeEventListener("she:config-changed",Rt))),Mn(()=>{u(S)&&localStorage.setItem("she:selectedModel",u(S))}),Mn(()=>{var H;(H=u(h))!=null&&H.provider&&cR().then(Q=>{I(y,Q.models,!0),!u(S)&&Q.models.length>0&&I(S,Q.models[0],!0)}).catch(()=>{})}),Mn(()=>{u(S),I(F,null),I(X,"")}),Mn(()=>{if(!u(a))return;I(Ue,Math.floor(Math.random()*ve.length),!0);const H=setInterval(()=>{I(Ue,(u(Ue)+1)%ve.length)},1e4);return()=>clearInterval(H)}),Mn(()=>{var H;xt&&(u(n).length+(((H=u(s))==null?void 0:H.length)??0),requestAnimationFrame(()=>{xt&&(xt.scrollTop=xt.scrollHeight)}))}),Mn(()=>{const H=u(Oe),Q=u(zt),Se=i();u(Nt)&&hR({context:H,currentScript:Q??null,extraFiles:Se.length>0?Se:void 0}).then(Ge=>{I(ue,new TextEncoder().encode(Ge.prompt).length,!0)}).catch(()=>{})});function Dt(H){const Q=H.replace(/(\n|^)(\/{2} @[a-z-]+:[^\n]+)\n(```\w*)\n/g,`$1$3
|
|
145
|
+
$2
|
|
146
|
+
`),Se=[],Ge=/```(\w*)\n([\s\S]*?)```/g;let et=0,it;for(;(it=Ge.exec(Q))!==null;)it.index>et&&Se.push({type:"text",text:Q.slice(et,it.index)}),Se.push({type:"code",lang:it[1]||"text",text:it[2].trimEnd()}),et=it.index+it[0].length;return et<Q.length&&Se.push({type:"text",text:Q.slice(et)}),Se}const ii=15;function mi(H){return H.split(`
|
|
147
|
+
`).length>ii}function _n(H){const Q=new Set(u(N));Q.has(H)?Q.delete(H):Q.add(H),I(N,Q,!0)}function Zi(H,Q){if(dn(Q))try{return Fv.highlight(H,{language:"javascript"}).value}catch{}return H.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">")}function vn(H){return Dn.parse(H)}function En(H){const Q=H.replace(/(\n|^)(\/{2} @[a-z-]+:[^\n]+)\n(```\w*)\n/g,`$1$3
|
|
148
|
+
$2
|
|
149
|
+
`),Se=[],Ge=/```(\w*)\n([\s\S]*?)```/g;let et=0,it;for(;(it=Ge.exec(Q))!==null;)it.index>et&&Se.push({type:"text",text:Q.slice(et,it.index)}),Se.push({type:"code",lang:it[1]||"text",text:it[2].trimEnd()}),et=it.index+it[0].length;const ft=Q.slice(et),we=ft.match(/```(\w*)\n([\s\S]*)$/);return we?(we.index>0&&Se.push({type:"text",text:ft.slice(0,we.index)}),Se.push({type:"code",lang:we[1]||"text",text:we[2]})):ft&&Se.push({type:"text",text:ft}),Se}function zi(H){navigator.clipboard.writeText(H).catch(()=>{})}function qn(H,Q=!1){var Se;Q&&t()&&I(D,t().path,!0),(Se=e.onApply)==null||Se.call(e,H)}function dn(H){return!H||H==="js"||H==="javascript"}function Ln(H){const Q=H.match(/^\/\/ @new-file:\s*(\S+\.js)[ \t]*\n/);return Q?{filename:Q[1],code:H.slice(Q[0].length)}:null}function Wn(H){return H>=1e9?`${(H/1e9).toFixed(1)} GB`:H>=1e6?`${(H/1e6).toFixed(0)} MB`:H>=1024?`${(H/1024).toFixed(1)} kB`:`${H} B`}async function hn(){if(I(V,!0),!(u(F)||u(Y))){I(Y,!0),I(X,"");try{I(F,await dR(u(S)||u(h).model),!0)}catch(H){I(X,H.message,!0)}I(Y,!1)}}function Kn(H){const Q=H.match(/\.([^.]+)$/);return Q?Q[1].toUpperCase():"?"}function Fn(H){switch(H){case"SH":case"BASH":return"$";case"MD":case"MARKDOWN":return"⇓";case"JSON":case"JSONC":return"{}";default:return H}}function Hn(H){i(i().filter((Q,Se)=>Se!==H))}function Bn(){Ft.click()}async function un(H){if(!(!H||H.length===0))for(const Q of Array.from(H)){const Se=await Q.text();i([...i(),{name:Q.name,content:Se}])}}function Ki(H){const Q=H.target;un(Q.files),Q.value=""}function Ti(H){var Q;H.preventDefault(),I(Qt,!1),un(((Q=H.dataTransfer)==null?void 0:Q.files)??null)}function Ke(H){var Q;(Q=H.dataTransfer)!=null&&Q.types.includes("Files")&&(H.preventDefault(),I(Qt,!0))}function Mt(){I(Qt,!1)}async function gi(){try{I(v,await f8(),!0)}catch{}}async function Li(){var Q;if(u(n).length===0)return;const H=((Q=u(n).find(Se=>Se.role==="user"))==null?void 0:Q.content.slice(0,80))??u(p);try{await p8(u(p),H,u(n)),await gi()}catch{}}async function Ci(H){try{const Q=await uD(H);I(n,Q.messages,!0),I(p,H,!0),I(_,!1),I(c,"")}catch{}}async function on(H){try{await m8(H),await gi(),H===u(p)&&ki()}catch{}}function ki(){I(n,[],!0),I(c,""),I(p,f(),!0),I(_,!1)}vr(async()=>{Rt();try{const H=await uD(u(p));I(n,H.messages,!0)}catch{}await gi()});async function jn(){const H=u(r).trim();if(!H||u(a))return;I(r,""),I(c,""),I(a,!0);const Q={role:"user",content:H};I(n,[...u(n),Q],!0),Ee=new AbortController,I(ei,[],!0);try{await uR({messages:u(n),currentScript:u(zt),context:u(Oe),modelOverride:u(S)||void 0,extraFiles:i().length>0?i():void 0},Se=>{I(s,(u(s)??"")+Se)},Ee.signal,Se=>{I(ei,[...u(ei),Se],!0)}),I(n,[...u(n),{role:"assistant",content:u(s)??"",toolEvents:u(ei).length>0?[...u(ei)]:void 0}],!0),I(ei,[],!0)}catch(Se){if(Se.name==="AbortError"){const Ge=u(s);Ge&&Ge.trim()&&I(n,[...u(n),{role:"assistant",content:Ge+`
|
|
150
|
+
|
|
151
|
+
*[stopped]*`,toolEvents:u(ei).length>0?[...u(ei)]:void 0}],!0)}else I(c,Se.message,!0)}finally{Ee=null,I(s,null),I(ei,[],!0),I(a,!1),Li()}}function Pn(){Ee==null||Ee.abort()}function Xn(H){H.key==="Enter"&&!H.shiftKey&&(H.preventDefault(),jn())}function Tn(){ki()}const rn=["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 Be(H){I(r,H,!0),de==null||de.focus()}var G=dK(),Re=yt(G),lt=x(Re),ct=C(x(lt),2);{var Wt=H=>{var Q=wq(),Se=x(Q);{var Ge=ft=>{var we=Fr();Z(()=>K(we,`${u(h).provider??""} · ${(u(S)||u(h).model)??""}`)),T(ft,we)},et=ft=>{var we=Fr();Z(()=>K(we,`${u(h).provider??""} · pick a model below`)),T(ft,we)},it=ft=>{var we=Fr("Not configured");T(ft,we)};$(Se,ft=>{u(Nt)?ft(Ge):u(h).provider?ft(et,1):ft(it,-1)})}Z(()=>Rn(Q,"title",`Provider: ${u(h).provider??""}`)),T(H,Q)};$(ct,H=>{u(h)&&H(Wt)})}var O=C(ct,2);let se;var be=C(O,2);{var j=H=>{var Q=yq();ne("click",Q,Tn),T(H,Q)};$(be,H=>{u(n).length>0&&H(j)})}var pe=C(lt,2);{var Fe=H=>{var Q=Lq(),Se=x(Q),Ge=C(x(Se),2),et=C(Se,2);{var it=we=>{var vt=Sq();T(we,vt)},ft=we=>{var vt=xq();_i(vt,21,()=>u(v),ut=>ut.id,(ut,he)=>{var bt=Cq();let Ze;var Le=x(bt),le=x(Le),me=C(Le,2);Z(()=>{Ze=jt(bt,1,"history-item svelte-10ayso4",null,Ze,{"history-active":u(he).id===u(p)}),Rn(Le,"title",u(he).id),K(le,u(he).title||u(he).id)}),ne("click",Le,()=>Ci(u(he).id)),ne("click",me,()=>on(u(he).id)),T(ut,bt)}),T(we,vt)};$(et,we=>{u(v).length===0?we(it):we(ft,-1)})}ne("click",Ge,ki),T(H,Q)};$(pe,H=>{u(_)&&H(Fe)})}var ke=C(pe,2),Me=x(ke);{var Pe=H=>{var Q=kq();T(H,Q)},Pt=H=>{var Q=Eq(),Se=x(Q),Ge=x(Se);{var et=we=>{var vt=Iq(),ut=C(yt(vt)),he=x(ut);Z(bt=>K(he,bt),[()=>t().path.split("/").pop()]),T(we,vt)},it=we=>{var vt=Fr("No script open. Ask a general she scripting question.");T(we,vt)};$(Ge,we=>{t()?we(et):we(it,-1)})}var ft=C(Se,2);_i(ft,17,()=>rn,Nn,(we,vt)=>{var ut=Dq(),he=x(ut);Z(()=>K(he,u(vt))),ne("click",ut,()=>Be(u(vt))),T(we,ut)}),T(H,Q)};$(Me,H=>{u(Xe)?u(n).length===0&&u(s)===null&&H(Pt,1):H(Pe)})}var dt=C(Me,2);_i(dt,17,()=>u(n),Nn,(H,Q,Se)=>{var Ge=Hq(),et=x(Ge);{var it=we=>{var vt=Pq(),ut=x(vt);Z(()=>K(ut,u(Q).content)),T(we,vt)},ft=we=>{const vt=rt(()=>Dt(u(Q).content));var ut=Fq(),he=yt(ut);{var bt=Le=>{var le=kD();_i(le,21,()=>u(Q).toolEvents,Nn,(me,Je)=>{var Ht=Ts(),ge=yt(Ht);{var qe=wt=>{var Qe=xD(),li=C(x(Qe),2),Jt=x(li),Un=C(li,2);{var tn=Vt=>{var an=CD(),ci=x(an);Z(bn=>K(ci,bn),[()=>Object.entries(u(Je).args).map(([bn,Xi])=>`${bn}=${JSON.stringify(Xi)}`).join(", ")]),T(Vt,an)},ri=rt(()=>u(Je).args&&Object.keys(u(Je).args).length>0);$(Un,Vt=>{u(ri)&&Vt(tn)})}Z(Vt=>K(Jt,Vt),[()=>u(Je).name.replace(/_/g," ")]),T(wt,Qe)},gt=wt=>{var Qe=LD(),li=C(x(Qe),2),Jt=x(li);Z(Un=>K(Jt,Un),[()=>u(Je).name.replace(/_/g," ")]),T(wt,Qe)};$(ge,wt=>{u(Je).type==="tool_call"?wt(qe):wt(gt,-1)})}T(me,Ht)}),T(Le,le)};$(he,Le=>{var le;(le=u(Q).toolEvents)!=null&&le.length&&Le(bt)})}var Ze=C(he,2);_i(Ze,21,()=>u(vt),Nn,(Le,le,me)=>{var Je=Ts(),Ht=yt(Je);{var ge=gt=>{var wt=ID();jl(wt,()=>vn(u(le).text),!0),T(gt,wt)},qe=gt=>{const wt=rt(()=>dn(u(le).lang)?Ln(u(le).text):null),Qe=rt(()=>u(wt)?u(wt).code:u(le).text),li=rt(()=>`${Se}:${me}`),Jt=rt(()=>mi(u(Qe))),Un=rt(()=>u(N).has(u(li)));var tn=Oq(),ri=x(tn),Vt=x(ri),an=x(Vt),ci=C(Vt,2),bn=x(ci),Xi=C(bn,2);{var ys=$s=>{var Yn=Tq();ne("click",Yn,()=>e.onCreateFile(u(wt).filename,u(wt).code)),T($s,Yn)},Mo=$s=>{var Yn=Rq(),ms=yt(Yn),Ec=C(ms,2);{var Rg=Gr=>{var Na=Mq();T(Gr,Na)},Pc=Gr=>{var Na=Nq();ne("click",Na,()=>qn(u(le).text,!0)),T(Gr,Na)};$(Ec,Gr=>{u(E)?Gr(Rg):Gr(Pc,-1)})}ne("click",ms,()=>qn(u(le).text)),T($s,Yn)},qr=rt(()=>dn(u(le).lang)&&t());$(Xi,$s=>{u(wt)&&e.onCreateFile?$s(ys):u(qr)&&$s(Mo,1)})}var Ta=C(ri,2);let Kr;var qo=x(Ta),yl=x(qo);jl(yl,()=>Zi(u(Qe),u(le).lang??""),!0);var Ma=C(qo,2);{var Ni=$s=>{var Yn=Aq(),ms=x(Yn);Z(()=>K(ms,u(Un)?"▲ collapse":"▼ expand")),ne("click",Yn,()=>_n(u(li))),T($s,Yn)};$(Ma,$s=>{u(Jt)&&$s(Ni)})}Z(()=>{K(an,u(wt)?`new: ${u(wt).filename}`:u(le).lang),Kr=jt(Ta,1,"code-body svelte-10ayso4",null,Kr,{collapsed:u(Jt)&&!u(Un)})}),ne("click",bn,()=>zi(u(Qe))),T(gt,tn)};$(Ht,gt=>{u(le).type==="text"?gt(ge):gt(qe,-1)})}T(Le,Je)}),T(we,ut)};$(et,we=>{u(Q).role==="user"?we(it):we(ft,-1)})}Z(()=>jt(Ge,1,`message ${u(Q).role??""}`,"svelte-10ayso4")),T(H,Ge)});var Ie=C(dt,2);{var At=H=>{var Q=kD();_i(Q,21,()=>u(ei),Nn,(Se,Ge)=>{var et=Ts(),it=yt(et);{var ft=vt=>{var ut=xD(),he=C(x(ut),2),bt=x(he),Ze=C(he,2);{var Le=me=>{var Je=CD(),Ht=x(Je);Z(ge=>K(Ht,ge),[()=>Object.entries(u(Ge).args).map(([ge,qe])=>`${ge}=${JSON.stringify(qe)}`).join(", ")]),T(me,Je)},le=rt(()=>u(Ge).args&&Object.keys(u(Ge).args).length>0);$(Ze,me=>{u(le)&&me(Le)})}Z(me=>K(bt,me),[()=>u(Ge).name.replace(/_/g," ")]),T(vt,ut)},we=vt=>{var ut=LD(),he=C(x(ut),2),bt=x(he);Z(Ze=>K(bt,Ze),[()=>u(Ge).name.replace(/_/g," ")]),T(vt,ut)};$(it,vt=>{u(Ge).type==="tool_call"?vt(ft):vt(we,-1)})}T(Se,et)}),T(H,Q)};$(Ie,H=>{u(ei).length>0&&H(At)})}var ni=C(Ie,2);{var qt=H=>{var Q=Wq(),Se=x(Q),Ge=x(Se),et=x(Ge);Z(()=>K(et,ve[u(Ue)])),T(H,Q)};$(ni,H=>{u(a)&&u(s)===null&&u(ei).length===0&&H(qt)})}var $t=C(ni,2);{var ti=H=>{var Q=zq(),Se=x(Q);_i(Se,21,()=>En(u(s)),Nn,(Ge,et)=>{var it=Ts(),ft=yt(it);{var we=ut=>{var he=ID();jl(he,()=>vn(u(et).text),!0),T(ut,he)},vt=ut=>{var he=Bq(),bt=x(he),Ze=x(bt),Le=x(Ze),le=C(bt,2),me=x(le);jl(me,()=>Zi(u(et).text,u(et).lang??""),!0),Z(()=>K(Le,u(et).lang)),T(ut,he)};$(ft,ut=>{u(et).type==="text"?ut(we):ut(vt,-1)})}T(Ge,it)}),T(H,Q)};$($t,H=>{u(s)!==null&&H(ti)})}bs(ke,H=>xt=H,()=>xt);var J=C(ke,2);{var _e=H=>{var Q=Vq(),Se=x(Q);Z(()=>K(Se,u(c))),T(H,Q)};$(J,H=>{u(c)&&H(_e)})}var $e=C(J,2),tt=x($e),It=x(tt),He=C(tt,2),nt=x(He),Yt=C(He,2),ai=x(Yt),si=C($e,2),Vi=x(si);{var kn=H=>{const Q=rt(()=>Kn(t().path.split("/").pop()??t().path));var Se=jq();let Ge;var et=x(Se),it=x(et),ft=C(et,2),we=x(ft),vt=C(ft,2),ut=x(vt);Z((he,bt)=>{Ge=jt(Se,1,"file-chip svelte-10ayso4",null,Ge,{inactive:!u(Ct)}),jt(et,1,`badge badge-${he??""}`,"svelte-10ayso4"),K(it,bt),K(we,t().path),Rn(vt,"title",u(Ct)?"Remove from context":"Re-add to context"),K(ut,u(Ct)?"×":"+")},[()=>u(Q).toLowerCase(),()=>Fn(u(Q))]),ne("click",vt,()=>I(Ct,!u(Ct))),T(H,Se)};$(Vi,H=>{t()&&H(kn)})}var Mi=C(Vi,2);_i(Mi,17,i,Nn,(H,Q,Se)=>{const Ge=rt(()=>Kn(u(Q).name));var et=Uq(),it=x(et),ft=x(it),we=C(it,2),vt=x(we),ut=C(we,2);Z((he,bt)=>{jt(it,1,`badge badge-${he??""}`,"svelte-10ayso4"),K(ft,bt),K(vt,u(Q).name)},[()=>u(Ge).toLowerCase(),()=>Fn(u(Ge))]),ne("click",ut,()=>Hn(Se)),T(H,et)});var oi=C(Mi,2),ji=C(oi,2);bs(ji,H=>Ft=H,()=>Ft);var A=C(si,2);let q;var xe=x(A);let Ce;var Ae=x(xe);bs(Ae,H=>de=H,()=>de);var De=C(xe,2);{var oe=H=>{var Q=$q();ne("click",Q,Pn),T(H,Q)},ht=H=>{var Q=qq();Z(Se=>Q.disabled=Se,[()=>!u(r).trim()||!u(Nt)]),ne("click",Q,jn),T(H,Q)};$(De,H=>{u(a)?H(oe):H(ht,-1)})}var Ye=C(A,2);{var Te=H=>{var Q=Yq(),Se=x(Q),Ge=x(Se),et=C(Se,2);{var it=ut=>{var he=Gq();_i(he,21,()=>u(y),Nn,(bt,Ze)=>{var Le=Kq(),le=x(Le),me={};Z(()=>{K(le,u(Ze)),me!==(me=u(Ze))&&(Le.value=(Le.__value=u(Ze))??"")}),T(bt,Le)}),Z(()=>he.disabled=u(a)),ga(he,()=>u(S),bt=>I(S,bt)),T(ut,he)},ft=ut=>{var he=Zq(),bt=x(he);Z(()=>K(bt,u(S)||u(h).model)),T(ut,he)};$(et,ut=>{u(y).length>0?ut(it):ut(ft,-1)})}var we=C(et,2);{var vt=ut=>{var he=Xq();ne("click",he,hn),T(ut,he)};$(we,ut=>{u(h).provider==="ollama"&&ut(vt)})}Z(()=>K(Ge,u(h).provider)),T(H,Q)};$(Ye,H=>{var Q;(Q=u(h))!=null&&Q.provider&&(u(Xe)||u(y).length>0)&&H(Te)})}var Tt=C(Re,2);{var We=H=>{var Q=cK(),Se=x(Q),Ge=x(Se),et=x(Ge),it=x(et),ft=C(et,2),we=C(Ge,2),vt=x(we);{var ut=Ze=>{var Le=Jq();T(Ze,Le)},he=Ze=>{var Le=Qq(),le=x(Le);Z(()=>K(le,u(X))),T(Ze,Le)},bt=Ze=>{var Le=lK(),le=x(Le);{var me=ri=>{var Vt=eK(),an=C(yt(Vt)),ci=x(an);Z(()=>K(ci,u(F).version)),T(ri,Vt)};$(le,ri=>{u(F).version&&ri(me)})}var Je=C(le,2);{var Ht=ri=>{var Vt=tK(),an=C(yt(Vt)),ci=x(an);Z(()=>K(ci,u(F).details.family)),T(ri,Vt)};$(Je,ri=>{var Vt;(Vt=u(F).details)!=null&&Vt.family&&ri(Ht)})}var ge=C(Je,2);{var qe=ri=>{var Vt=iK(),an=C(yt(Vt)),ci=x(an);Z(()=>K(ci,u(F).details.parameter_size)),T(ri,Vt)};$(ge,ri=>{var Vt;(Vt=u(F).details)!=null&&Vt.parameter_size&&ri(qe)})}var gt=C(ge,2);{var wt=ri=>{var Vt=nK(),an=C(yt(Vt)),ci=x(an);Z(()=>K(ci,u(F).details.quantization_level)),T(ri,Vt)};$(gt,ri=>{var Vt;(Vt=u(F).details)!=null&&Vt.quantization_level&&ri(wt)})}var Qe=C(gt,2);{var li=ri=>{var Vt=sK(),an=C(yt(Vt)),ci=x(an);Z(()=>K(ci,u(F).details.format)),T(ri,Vt)};$(Qe,ri=>{var Vt;(Vt=u(F).details)!=null&&Vt.format&&ri(li)})}var Jt=C(Qe,2);{var Un=ri=>{var Vt=rK(),an=C(yt(Vt),2);_i(an,21,()=>u(F).running,Nn,(ci,bn)=>{var Xi=oK(),ys=x(Xi);Z(Mo=>K(ys,`${u(bn).name??""} · ${Mo??""} VRAM`),[()=>Wn(u(bn).size_vram)]),T(ci,Xi)}),T(ri,Vt)},tn=ri=>{var Vt=aK();T(ri,Vt)};$(Jt,ri=>{u(F).running&&u(F).running.length>0?ri(Un):u(F).running!==null&&ri(tn,1)})}T(Ze,Le)};$(vt,Ze=>{u(Y)?Ze(ut):u(X)?Ze(he,1):u(F)&&Ze(bt,2)})}Z(()=>{var Ze;return K(it,`Ollama · ${(u(S)||((Ze=u(h))==null?void 0:Ze.model))??""}`)}),ne("click",Q,()=>I(V,!1)),ne("click",Se,Ze=>Ze.stopPropagation()),ne("click",ft,()=>I(V,!1)),T(H,Q)};$(Tt,H=>{u(V)&&H(We)})}Z(H=>{se=jt(O,1,"icon-hdr-btn svelte-10ayso4",null,se,{active:u(_)}),K(ai,H),q=jt(A,1,"input-row svelte-10ayso4",null,q,{"drag-over":u(Qt)}),Ce=jt(xe,1,"textarea-wrap svelte-10ayso4",null,Ce,{loading:u(a)}),Rn(Ae,"placeholder",u(Nt)?"Ask anything… (Enter to send, Shift+Enter for newline, drag & drop files to add context)":u(Xe)?"Select a model above to start chatting":"AI not configured"),Ae.disabled=u(a)||!u(Nt)},[()=>Wn(u(hi))]),ne("click",O,()=>I(_,!u(_))),Es(It,()=>u(ot),H=>I(ot,H)),Es(nt,()=>u(Xt),H=>I(Xt,H)),ne("click",oi,Bn),ne("change",ji,Ki),is("dragover",A,Ke),is("dragleave",A,Mt),is("drop",A,Ti),ne("keydown",Ae,Xn),Ei(Ae,()=>u(r),H=>I(r,H)),T(o,G),To()}_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 PR=[];const h0=new Map,u0=new Map;async function DD(){try{l0=(await aR()).map(e=>e.topic)}catch{}}async function ED(){try{const[o,e]=await Promise.all([sR(),oR()]);c0=o,d0=e}catch{}}async function PD(){try{const o=await rR();PR=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=TR(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=TR(o)[e])==null?void 0:s.trim();if(!i)return null;const n=parseInt(i,10);return isNaN(n)?null:n}function TR(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 PR.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 MR(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(MR(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(MR(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 & 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){Po(e,!0);let t=z(wi([])),i=z(wi({})),n=z(null),s=z(null),r=z(null),a=z(null),c=z(wi([])),h=z(null),g=z(!1),f=z(""),p=z(!1),v=z(!0),_=z(null),y=z(!1),S=z(!1),D=z(void 0),E=z(wi(new Set));const N=new Set;let V=z(wi([])),F=z("all"),Y=z(""),X=z(!1);const ue=["all","debug","info","warn","error"],Ee={debug:0,info:1,warn:2,error:3};function Ue(W){if(u(F)!=="all"&&Ee[W.level]<Ee[u(F)])return!1;if(!u(Y))return!0;if(u(X))try{return new RegExp(u(Y),"i").test(W.msg)}catch{}return W.msg.toLowerCase().includes(u(Y).toLowerCase())}let ve=z(null);function ot(W){const re=W.currentTarget.getBoundingClientRect();I(ve,{x:re.left,y:re.top},!0)}function Xt(){I(ve,null)}let Ct,Qt,Ft,ei=!1,de=null,xt=!1,Oe=!1,Xe=z(!1),Nt=z(null),hi=z(!1),zt=z(!1),Rt=z(void 0),Dt=null,ii=null,mi=null,_n=z(wi(parseInt(localStorage.getItem("she-scripts-sidebar-width")??"220",10))),Zi=z(wi(parseInt(localStorage.getItem("she-scripts-log-height")??"130",10))),vn=z(wi(parseInt(localStorage.getItem("she-scripts-chat-width")??"340",10))),En=!1,zi=0,qn=0,dn=!1,Ln=0,Wn=0,hn=!1,Kn=0,Fn=0;const Hn=rt(()=>{var W;return u(h)&&u(Ti)?{path:u(h),content:((W=u(Ti).model)==null?void 0:W.getValue())??u(Ti).savedContent}:null}),Bn=rt(()=>{var W;return new Set(((W=u(_))==null?void 0:W.changes.map(re=>re.file))??[])});let un,Ki,Ti=rt(()=>u(c).find(W=>W.path===u(h))??null);const Ke="she-tabs",Mt="she-active-tab",gi="she-log-open",Li="she-chat-open";let Ci=ng(e,"active",3,!0);Mn(()=>{Oe&&(localStorage.setItem(Ke,JSON.stringify(u(c).map(W=>W.path))),u(h)?localStorage.setItem(Mt,u(h)):localStorage.removeItem(Mt))}),Mn(()=>{Oe&&localStorage.setItem(Li,String(u(Xe)))}),Mn(()=>{Ci()&&Qt&&Qt.layout()});const on=`
|
|
153
|
+
declare const she: {
|
|
154
|
+
log(...args: any[]): void;
|
|
155
|
+
info(...args: any[]): void;
|
|
156
|
+
debug(...args: any[]): void;
|
|
157
|
+
warn(...args: any[]): void;
|
|
158
|
+
error(...args: any[]): void;
|
|
159
|
+
now(): number;
|
|
160
|
+
/** Schedule with a cron string, Date, node-schedule literal, array of any of those,
|
|
161
|
+
* or a suncalc event name ('sunrise', 'sunset', 'dawn', 'dusk', …) for solar scheduling.
|
|
162
|
+
* opts.shift (seconds) offsets solar events; opts.random adds a random delay. */
|
|
163
|
+
schedule(pattern: string | Date | object | (string | Date | object)[], opts?: { shift?: number; random?: number }, cb?: () => void): void;
|
|
164
|
+
combineBool(srcs: string[], target: string): void;
|
|
165
|
+
combineMax(srcs: string[], target: string): void;
|
|
166
|
+
timer(src: string | string[], target: string, time: number): void;
|
|
167
|
+
mqtt: {
|
|
168
|
+
sub(topic: string | string[], opts?: any, cb?: (topic: string, val: any, obj: any, prev: any, msg: any) => void): void;
|
|
169
|
+
pub(topic: string | string[], payload: any, opts?: { qos?: number; retain?: boolean }): void;
|
|
170
|
+
get(topic: string): any;
|
|
171
|
+
set(topic: string | string[], val: any): void;
|
|
172
|
+
getProp(topic: string, ...prop: string[]): any;
|
|
173
|
+
link(source: string | string[], target: string | string[], value?: any): void;
|
|
174
|
+
age(topic: string): number;
|
|
175
|
+
};
|
|
176
|
+
api: {
|
|
177
|
+
get(path: string, handler: (req: any) => any): void;
|
|
178
|
+
post(path: string, handler: (req: any, body: any) => any): void;
|
|
179
|
+
put(path: string, handler: (req: any, body: any) => any): void;
|
|
180
|
+
delete(path: string, handler: (req: any) => any): void;
|
|
181
|
+
};
|
|
182
|
+
db: {
|
|
183
|
+
get(id: string): any;
|
|
184
|
+
set(id: string, doc: object): void;
|
|
185
|
+
extend(id: string, partial: object): void;
|
|
186
|
+
delete(id: string): void;
|
|
187
|
+
prop(id: string, method: 'set' | 'create' | 'del', prop: string, val?: any): void;
|
|
188
|
+
sub(pattern: string, callback: (id: string, doc: any) => void): void;
|
|
189
|
+
query(filter: string | null, mapFn: Function, reduceFn?: Function): any[];
|
|
190
|
+
};
|
|
191
|
+
matter: {
|
|
192
|
+
sub(nodeId: string, endpointId: number, cluster: string, attr: string, cb: (val: any, old: any) => void): number;
|
|
193
|
+
unsub(listenerId: number): void;
|
|
194
|
+
get(nodeId: string, endpointId: number, cluster: string, attr: string): Promise<any>;
|
|
195
|
+
send(nodeId: string, endpointId: number, cluster: string, command: string, args?: object): Promise<any>;
|
|
196
|
+
on(nodeId: string, endpointId: number, cluster: string, event: string, cb: (val: any) => void): number;
|
|
197
|
+
};
|
|
198
|
+
influx: {
|
|
199
|
+
query(fluxQuery: string): Promise<any[]>;
|
|
200
|
+
write(measurement: string, fields: object, tags?: object, timestamp?: number | Date): Promise<void>;
|
|
201
|
+
getLast(topic: string, n: number): Promise<Array<{ ts: number; val: any }>>;
|
|
202
|
+
getRange(topic: string, from: number | string | Date, to: number | string | Date): Promise<Array<{ ts: number; val: any }>>;
|
|
203
|
+
};
|
|
204
|
+
elastic: {
|
|
205
|
+
search(index: string, query: object): Promise<{ hits: any[]; total: number }>;
|
|
206
|
+
get(index: string, id: string): Promise<object | null>;
|
|
207
|
+
index(index: string, doc: object, id?: string): Promise<{ id: string }>;
|
|
208
|
+
find(index: string, field: string, text: string, size?: number): Promise<any[]>;
|
|
209
|
+
};
|
|
210
|
+
};
|
|
211
|
+
`;vr(async()=>{var fe;I(v,localStorage.getItem(gi)!=="false"),I(Xe,localStorage.getItem(Li)==="true"),Wc.typescript.javascriptDefaults.addExtraLib(on,"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=Wa.createModel("","javascript"),Qt=Wa.create(Ct,{model:Ft,theme:"vs-dark",automaticLayout:!0,minimap:{enabled:!1},fontSize:14,lineNumbers:"on",scrollBeyondLastLine:!1}),Qt.onDidChangeModelContent(()=>{if(ei)return;const _t=u(c).find(Bt=>Bt.path===u(h));_t&&(_t.dirty=Qt.getValue()!==_t.savedContent),He&&clearTimeout(He),He=setTimeout(nt,600)}),de=fR(_t=>{const Bt=_t.msg.match(/^([^:\n]+\.js):\s/);if(!Bt)return;const Kt=Bt[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 ki(),lt();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 W=JSON.parse(localStorage.getItem(Ke)??"[]"),re=localStorage.getItem(Mt);for(const _t of W)await rn(_t,!1);const Ne=re&&u(c).some(_t=>_t.path===re)?re:((fe=u(c)[0])==null?void 0:fe.path)??null;Ne&&await G(Ne),Oe=!0}),aw(()=>{var W;He&&clearTimeout(He),de==null||de();for(const re of u(c))(W=re.model)==null||W.dispose();Ft==null||Ft.dispose(),Qt==null||Qt.dispose()});async function ki(){try{if(I(t,await G7(),!0),!xt){let re=function(Ne){for(const fe of Ne)fe.type==="dir"&&(W[fe.path]=!0,fe.children&&re(fe.children))};xt=!0;const W={};re(u(t)),I(i,W,!0)}I(f,"")}catch(W){I(f,W.message,!0)}}function jn(W){u(i)[W]=!u(i)[W]}function Pn(W){switch(W){case"SH":case"BASH":return"$";case"MD":case"MARKDOWN":return"⇓";case"JSON":case"JSONC":return"{}";default:return W}}async function Xn(W,re){try{re?await Ac(`${W}/.shelib`,""):await $m(`${W}/.shelib`),await ki(),await ct("all",re?`lib ${W}`:`unlib ${W}`)}catch(Ne){I(f,Ne.message,!0)}}async function Tn(W,re){const Ne=W.split("/").pop(),fe=W.includes("/")?W.slice(0,W.lastIndexOf("/")):"",_t=fe?`${fe}/.shedisable-${Ne}`:`.shedisable-${Ne}`;try{re?await Ac(_t,""):await $m(_t),await ki(),await ct("all",re?`disable ${W}`:`enable ${W}`)}catch(Bt){I(f,Bt.message,!0)}}async function rn(W,re=!0){var Ne;if(u(c).some(fe=>fe.path===W)){re&&await G(W);return}try{const{content:fe}=await lD(W),_t=WF.parse(`file:///she-scripts/${encodeURIComponent(W)}`);(Ne=Wa.getModel(_t))==null||Ne.dispose();const Bt=Wa.createModel(fe,It(W),_t);I(c,[...u(c),{path:W,dirty:!1,savedContent:fe,model:Bt,logEntries:[]}],!0),re&&await G(W)}catch(fe){I(f,fe.message,!0)}}async function Be(W){await rn(W,!0)}async function G(W){const re=u(c).find(Ne=>Ne.path===W);re!=null&&re.model&&(I(h,W,!0),ei=!0,Qt.setModel(re.model),ei=!1,nt())}async function Re(W){var fe;const re=u(c).find(_t=>_t.path===W);if(!re||re.dirty&&!await un.show(`Discard unsaved changes to ${W}?`,{confirm:"Discard"}))return;const Ne=u(c).findIndex(_t=>_t.path===W);if((fe=re.model)==null||fe.dispose(),I(c,u(c).filter(_t=>_t.path!==W),!0),u(h)===W){const _t=u(c)[Ne]??u(c)[Ne-1]??null;_t?await G(_t.path):(I(h,null),Qt.setModel(Ft))}}async function lt(){try{I(_,await X7(),!0)}catch{I(_,null)}}async function ct(W,re){if(u(_))try{if(W==="all"?await t8(re):await e8(W,re),u(S))try{await Fy()}catch{}await lt()}catch{}}async function Wt(){if(!u(h))return;const W=u(c).find(re=>re.path===u(h));if(W){I(g,!0);try{const re=Qt.getValue();await Ac(u(h),re),W.savedContent=re,W.dirty=!1,I(f,""),u(y)?await ct([u(h)],`update ${u(h)}`):lt()}catch(re){I(f,re.message,!0)}finally{I(g,!1)}}}async function O(){if(!u(h)||(await Wt(),u(f)))return;const W=await Ki.show("Commit message:",{initial:`update ${u(h)}`,placeholder:"Update script",confirm:"Commit"});if(W)try{if(await Q7(u(h),W),u(S))try{await Fy()}catch{}lt()}catch(re){I(f,"Git: "+re.message)}}async function se(){I(p,!1);try{await Fy(),await lt(),I(f,"")}catch(W){I(f,"Git push: "+W.message)}}async function be(){const W=u(n)?`${u(n)}/`:"",re=await Ki.show("New script name:",{placeholder:W?`${W}myscript.js`:"myscript.js",initial:W,confirm:"Create"});if(!re)return;const Ne=re.endsWith(".js")?`/* global she */
|
|
212
|
+
'use strict';
|
|
213
|
+
|
|
214
|
+
`:"";await Ac(re,Ne),await ki(),await rn(re,!0)}async function j(){const W=u(n)?`${u(n)}/`:"",re=await Ki.show("New folder name:",{placeholder:W?`${W}subfolder`:"myfolder",initial:W,confirm:"Create"});re&&(await Z7(re),u(i)[re]=!0,await ki())}function pe(W,re){W.preventDefault(),I(s,{x:W.clientX,y:W.clientY,entry:re},!0)}function Fe(){I(s,null)}async function ke(W){Fe(),I(n,W,!0),u(i)[W]=!0,await be()}async function Me(W){Fe(),I(n,W,!0),await j()}async function Pe(W){Fe();const re=W.path.includes("/")?W.path.slice(0,W.path.lastIndexOf("/")+1):"",Ne=await Ki.show(W.type==="dir"?"Rename folder:":"Rename script:",{initial:W.name,placeholder:W.name,confirm:"Rename"});if(!Ne||Ne===W.name)return;const fe=re+Ne;try{await cD(W.path,fe);const _t=u(c).find(Bt=>Bt.path===W.path);_t&&(_t.path=fe,u(h)===W.path&&I(h,fe)),await ki(),await ct("all",`rename ${W.path} → ${fe}`)}catch(_t){I(f,_t.message,!0)}}function Pt(W){if(!W.children)return 0;let re=0;for(const Ne of W.children)re++,Ne.type==="dir"&&(re+=Pt(Ne));return re}async function dt(W){Fe();let re=`Delete ${W.type==="dir"?"folder":"file"} "${W.path}"?`;if(W.type==="dir"){const Ne=Pt(W);Ne>0&&(re+=` This will also delete ${Ne} item${Ne===1?"":"s"} inside.`)}if(await un.show(re,{confirm:"Delete",danger:!0})){if(W.type==="dir")for(const Ne of[...u(c)])Ne.path.startsWith(W.path+"/")&&await Re(Ne.path);else await Re(W.path);await $m(W.path),await ki(),await ct("all",`delete ${W.path}`)}}async function Ie(W){Fe();const{content:re}=await lD(W.path);u(V).some(Ne=>Ne.name===W.path)||I(V,[...u(V),{name:W.path,content:re}],!0),I(Xe,!0)}function At(W,re){var Ne;I(r,re,!0),(Ne=W.dataTransfer)==null||Ne.setData("text/plain",re)}function ni(W,re){if(W.preventDefault(),u(r)&&(u(r)===re||re.startsWith(u(r)+"/"))){W.dataTransfer&&(W.dataTransfer.dropEffect="none"),I(a,null);return}W.dataTransfer&&(W.dataTransfer.dropEffect="move"),I(a,re,!0)}function qt(){I(a,null)}async function $t(W,re){var Kt,Ui,$i;W.preventDefault(),I(a,null);const Ne=Array.from(((Kt=W.dataTransfer)==null?void 0:Kt.items)??[]).filter(Wi=>Wi.kind==="file");if(Ne.length>0&&!u(r)){for(const Wi of Ne){const Ai=(Ui=Wi.webkitGetAsEntry)==null?void 0:Ui.call(Wi);Ai&&await ti(Ai,re,!0)}await ki();return}const fe=u(r)??(($i=W.dataTransfer)==null?void 0:$i.getData("text/plain"));if(I(r,null),!fe||fe===re||re.startsWith(fe+"/"))return;const _t=fe.split("/").pop(),Bt=re?`${re}/${_t}`:_t;if(Bt!==fe)try{await cD(fe,Bt);for(const Wi of u(c))if(Wi.path===fe)u(h)===fe&&I(h,Bt,!0),Wi.path=Bt;else if(Wi.path.startsWith(fe+"/")){const Ai=Bt+Wi.path.slice(fe.length);u(h)===Wi.path&&I(h,Ai),Wi.path=Ai}await ki(),await ct("all",`rename ${fe} → ${Bt}`)}catch(Wi){I(f,Wi.message,!0)}}async function ti(W,re,Ne){if(W.isFile){const _t=await(await new Promise((Kt,Ui)=>W.file(Kt,Ui))).text(),Bt=re?`${re}/${W.name}`:W.name;await Ac(Bt,_t),Ne&&W.name.endsWith(".js")&&await Tn(Bt,!0)}else if(W.isDirectory){const fe=W.createReader();let _t=[],Bt;do Bt=await new Promise((Kt,Ui)=>fe.readEntries(Kt,Ui)),_t=[..._t,...Bt];while(Bt.length>0);for(const Kt of _t)await ti(Kt,re?`${re}/${W.name}`:W.name,!1);if(Ne){const Kt=re?`${re}/${W.name}`:W.name;await Tn(Kt,!0)}}}async function J(){if(!u(h)||!await un.show(`Delete ${u(h)}?`,{confirm:"Delete",danger:!0}))return;const W=u(h);await Re(W),await $m(W),await ki(),await ct("all",`delete ${W}`)}function _e(){u(Ti)&&(u(Ti).logEntries=[])}function $e(){I(v,!u(v)),localStorage.setItem(gi,String(u(v)))}function tt(W){return new Date(W).toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1})}function It(W){var fe;const re=((fe=W.split(".").pop())==null?void 0:fe.toLowerCase())??"";return{js:"javascript",mjs:"javascript",cjs:"javascript",ts:"typescript",tsx:"typescript",json:"json",jsonc:"json",md:"markdown",markdown:"markdown",yaml:"yaml",yml:"yaml",sh:"shell",bash:"shell",css:"css",html:"html",xml:"xml",ini:"ini",toml:"ini"}[re]??"plaintext"}let He=null;async function nt(){const W=u(c).find(Ne=>Ne.path===u(h));if(!(W!=null&&W.model))return;const re=W.model;try{const Bt=(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:BF.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(Wa.setModelMarkers(re,"she-syntax",Bt),u(h)){if(Bt.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 Yt(W){En=!0,zi=W.clientX,qn=u(_n),W.preventDefault()}function ai(W){dn=!0,Ln=W.clientY,Wn=u(Zi),W.preventDefault()}function si(W){hn=!0,Kn=W.clientX,Fn=u(vn),W.preventDefault()}function Vi(W){En&&I(_n,Math.max(140,Math.min(500,qn+W.clientX-zi)),!0),dn&&I(Zi,Math.max(60,Math.min(500,Wn-(W.clientY-Ln))),!0),hn&&I(vn,Math.max(200,Math.min(700,Fn-(W.clientX-Kn))),!0)}function kn(){En&&(En=!1,localStorage.setItem("she-scripts-sidebar-width",String(u(_n)))),dn&&(dn=!1,localStorage.setItem("she-scripts-log-height",String(u(Zi)))),hn&&(hn=!1,localStorage.setItem("she-scripts-chat-width",String(u(vn))))}function Mi(W){(W.ctrlKey||W.metaKey)&&W.key==="s"&&(W.preventDefault(),Wt()),W.key==="Escape"&&(I(p,!1),I(s,null))}async function oi(W,re){const Ne=await Ki.show("Save new script as:",{placeholder:"myscript.js",initial:W,confirm:"Create"});if(Ne)try{await Ac(Ne,re),await ki(),await rn(Ne,!0)}catch(fe){I(f,fe.message,!0)}}async function ji(W){var Ne,fe;if(u(hi)&&u(h)){I(Nt,W,!0),await A();return}if(I(Nt,W,!0),await gS(),!u(Rt))return;ii==null||ii.dispose(),mi==null||mi.dispose(),Dt==null||Dt.dispose();const re=((fe=(Ne=u(Ti))==null?void 0:Ne.model)==null?void 0:fe.getValue())??"";ii=Wa.createModel(re,"javascript"),mi=Wa.createModel(W,"javascript"),Dt=Wa.createDiffEditor(u(Rt),{theme:"vs-dark",readOnly:!0,renderSideBySide:!0,automaticLayout:!0,minimap:{enabled:!1},fontSize:13,scrollBeyondLastLine:!1}),Dt.setModel({original:ii,modified:mi})}Mn(()=>{u(h),I(hi,!1),I(zt,!1)});async function A(){if(u(Nt)===null||!u(h))return;const W=u(Nt);I(Nt,null);const re=u(c).find(Ne=>Ne.path===u(h));re!=null&&re.model&&(ei=!0,re.model.setValue(W),ei=!1,re.dirty=!1,re.savedContent=W);try{await Ac(u(h),W),I(f,""),u(y)?await ct([u(h)],`update ${u(h)}`):lt()}catch(Ne){I(f,Ne.message,!0)}xe()}function q(){I(Nt,null),xe()}function xe(){Dt==null||Dt.dispose(),Dt=null,ii==null||ii.dispose(),ii=null,mi==null||mi.dispose(),mi=null}var Ce=oG();is("keydown",sd,Mi),is("mousemove",sd,Vi),is("mouseup",sd,kn);var Ae=yt(Ce);bs(Mg(Ae,{}),W=>un=W,()=>un);var De=C(Ae,2);bs(k8(De,{}),W=>Ki=W,()=>Ki);var oe=C(De,2);{var ht=W=>{var re=IK(),Ne=yt(re),fe=C(Ne,2);let _t;var Bt=x(fe);{var Kt=$i=>{var Wi=LK(),Ai=yt(Wi),Ri=C(Ai,2),wn=C(Ri,4),po=C(wn,2);ne("click",Ai,()=>ke(u(s).entry.path)),ne("click",Ri,()=>Me(u(s).entry.path)),ne("click",wn,()=>Pe(u(s).entry)),ne("click",po,()=>dt(u(s).entry)),T($i,Wi)},Ui=$i=>{var Wi=kK(),Ai=yt(Wi),Ri=C(Ai,2),wn=C(Ri,2),po=C(wn,4);ne("click",Ai,()=>Be(u(s).entry.path)),ne("click",Ri,()=>Pe(u(s).entry)),ne("click",wn,()=>Ie(u(s).entry)),ne("click",po,()=>dt(u(s).entry)),T($i,Wi)};$(Bt,$i=>{u(s).entry.type==="dir"?$i(Kt):$i(Ui,-1)})}Z(()=>_t=jo(fe,"",_t,{left:`${u(s).x??""}px`,top:`${u(s).y??""}px`})),ne("click",Ne,Fe),ne("contextmenu",Ne,$i=>{$i.preventDefault(),Fe()}),T(W,re)};$(oe,W=>{u(s)&&W(ht)})}var Ye=C(oe,2);{var Te=W=>{var re=DK();let Ne;Z(()=>Ne=jo(re,"",Ne,{left:`${u(ve).x??""}px`,top:`${u(ve).y-4}px`})),T(W,re)};$(Ye,W=>{u(ve)&&W(Te)})}var Tt=C(Ye,2),We=x(Tt);let H;{const W=(Ne,fe=iw,_t)=>{let Bt=K0(()=>KF(_t==null?void 0:_t(),!1));var Kt=Ts(),Ui=yt(Kt);{var $i=Ai=>{var Ri=PK(),wn=x(Ri);let po;var No=x(wn);let br;var Gn=C(No,2);let qs;var Sl=x(Gn),io=C(Gn,2);{var Ss=rs=>{var xl=ND();T(rs,xl)},Zr=rt(()=>u(Bn).has(fe().path));$(io,rs=>{u(Zr)&&rs(Ss)})}var Ko=C(io,2),Ro=x(Ko),mo=C(Ko,2),Cl=x(mo),Ih=C(wn,2);{var Og=rs=>{var xl=EK();_i(xl,21,()=>fe().children,Ns=>Ns.path,(Ns,Xr)=>{W(Ns,()=>u(Xr),()=>fe().disabled||u(Bt))}),T(rs,xl)};$(Ih,rs=>{u(i)[fe().path]&&fe().children&&rs(Og)})}Z(()=>{po=jt(wn,1,"dir-row svelte-1pyfjii",null,po,{"dir-selected":u(n)===fe().path,"drag-target":u(a)===fe().path}),Rn(wn,"aria-selected",u(n)===fe().path),br=jt(No,1,"chevron svelte-1pyfjii",null,br,{open:u(i)[fe().path]}),qs=jt(Gn,1,"dir-name svelte-1pyfjii",null,qs,{lib:fe().lib}),K(Sl,fe().name),ty(Ro,fe().lib),ty(Cl,fe().disabled)}),is("dragstart",wn,rs=>At(rs,fe().path)),is("dragover",wn,rs=>ni(rs,fe().path)),is("dragleave",wn,qt),is("drop",wn,rs=>$t(rs,fe().path)),ne("contextmenu",wn,rs=>pe(rs,fe())),ne("click",No,()=>jn(fe().path)),ne("click",Gn,()=>{I(n,fe().path,!0),u(i)[fe().path]=!0}),ne("keydown",Gn,rs=>rs.key==="Enter"&&I(n,fe().path,!0)),is("mouseenter",Ko,ot),is("mouseleave",Ko,Xt),ne("change",Ro,()=>Xn(fe().path,!fe().lib)),ne("change",Cl,()=>Tn(fe().path,!fe().disabled)),T(Ai,Ri)},Wi=Ai=>{const Ri=rt(()=>u(E).has(fe().path)),wn=rt(()=>u(Bn).has(fe().path)),po=rt(()=>u(c).some(nn=>nn.path===fe().path&&nn.dirty)),No=rt(()=>(fe().name.split(".").pop()??"txt").toUpperCase()),br=rt(()=>fe().name.endsWith(".js"));var Gn=AK();let qs;var Sl=x(Gn),io=x(Sl);let Ss;var Zr=x(io);let Ko;var Ro=x(Zr),mo=C(Zr,2),Cl=x(mo),Ih=C(mo,2);{var Og=nn=>{var Ks=ND();T(nn,Ks)};$(Ih,nn=>{u(wn)&&nn(Og)})}var rs=C(Ih);{var xl=nn=>{var Ks=TK();T(nn,Ks)};$(rs,nn=>{u(po)&&nn(xl)})}var Ns=C(rs,2);{var Xr=nn=>{var Ks=MK();T(nn,Ks)};$(Ns,nn=>{u(Ri)&&nn(Xr)})}var Aw=C(io,2);{var wr=nn=>{var Ks=NK();let Yr;var Dh=x(Ks);Z(()=>{Yr=jt(Ks,1,"dis-label svelte-1pyfjii",null,Yr,{"dis-locked":u(Bt)}),Rn(Ks,"title",u(Bt)?"Disabled by parent directory":"Disable — this script will not be executed"),ty(Dh,fe().disabled),Dh.disabled=u(Bt)}),ne("change",Dh,()=>Tn(fe().path,!fe().disabled)),T(nn,Ks)},Ow=nn=>{var Ks=RK();T(nn,Ks)};$(Aw,nn=>{u(br)?nn(wr):nn(Ow,-1)})}Z((nn,Ks,Yr)=>{qs=jt(Gn,1,"tree-file svelte-1pyfjii",null,qs,nn),Ss=jt(io,1,"svelte-1pyfjii",null,Ss,{lib:fe().lib,dis:fe().disabled,err:u(Ri)}),Ko=jt(Zr,1,`badge badge-${Ks??""}`,"svelte-1pyfjii",Ko,{"badge-shelib":fe().lib}),K(Ro,Yr),K(Cl,fe().name)},[()=>({active:u(c).some(nn=>nn.path===fe().path),"active-tab":fe().path===u(h)}),()=>u(No).toLowerCase(),()=>Pn(u(No))]),is("dragstart",Gn,nn=>At(nn,fe().path)),ne("contextmenu",Gn,nn=>pe(nn,fe())),ne("click",io,()=>Be(fe().path)),T(Ai,Gn)};$(Ui,Ai=>{fe().type==="dir"?Ai($i):Ai(Wi,-1)})}T(Ne,Kt)};var Q=x(We),Se=x(Q),Ge=C(Se,2),et=C(Ge,2),it=C(Q,2);{var ft=Ne=>{var fe=OK(),_t=x(fe);Z(()=>K(_t,u(f))),T(Ne,fe)};$(it,Ne=>{u(f)&&Ne(ft)})}var we=C(it,2),vt=x(we);let re;var ut=C(vt,2);_i(ut,17,()=>u(t),Ne=>Ne.path,(Ne,fe)=>{W(Ne,()=>u(fe))}),Z(()=>re=jt(vt,1,"tree-root-drop svelte-1pyfjii",null,re,{"drag-target":u(a)===""})),ne("click",Se,be),ne("click",Ge,j),ne("click",et,ki),is("dragover",vt,Ne=>ni(Ne,"")),is("dragleave",vt,qt),is("drop",vt,Ne=>$t(Ne,""))}var he=C(We,2),bt=C(he,2),Ze=x(bt);{var Le=W=>{var re=WK();_i(re,21,()=>u(c),Ne=>Ne.path,(Ne,fe)=>{var _t=HK();let Bt;var Kt=x(_t),Ui=x(Kt),$i=C(Kt,2);{var Wi=Ri=>{var wn=FK();T(Ri,wn)};$($i,Ri=>{u(fe).dirty&&Ri(Wi)})}var Ai=C($i,2);Z(Ri=>{Bt=jt(_t,1,"tab svelte-1pyfjii",null,Bt,{active:u(fe).path===u(h)}),K(Ui,Ri)},[()=>u(fe).path.split("/").pop()]),ne("click",_t,()=>G(u(fe).path)),ne("keydown",_t,Ri=>Ri.key==="Enter"&&G(u(fe).path)),ne("click",Ai,Ri=>{Ri.stopPropagation(),Re(u(fe).path)}),T(Ne,_t)}),T(W,re)};$(Ze,W=>{u(c).length>0&&W(Le)})}var le=C(Ze,2),me=x(le),Je=x(me),Ht=C(me,2);{var ge=W=>{var re=jK(),Ne=x(re),fe=x(Ne),_t=C(Ne,2);{var Bt=Ai=>{var Ri=BK(),wn=x(Ri);Z(()=>{Rn(Ri,"title",`${u(_).changes.length??""} uncommitted change(s)`),K(wn,`✎${u(_).changes.length??""}`)}),T(Ai,Ri)};$(_t,Ai=>{u(_).changes.length>0&&Ai(Bt)})}var Kt=C(_t,2);{var Ui=Ai=>{var Ri=zK(),wn=x(Ri);Z(()=>{Rn(Ri,"title",`${u(_).ahead??""} commit(s) ahead of upstream`),K(wn,`↑${u(_).ahead??""}`)}),T(Ai,Ri)};$(Kt,Ai=>{u(_).ahead>0&&Ai(Ui)})}var $i=C(Kt,2);{var Wi=Ai=>{var Ri=VK(),wn=x(Ri);Z(()=>{Rn(Ri,"title",`${u(_).behind??""} commit(s) behind upstream`),K(wn,`↓${u(_).behind??""}`)}),T(Ai,Ri)};$($i,Ai=>{u(_).behind>0&&Ai(Wi)})}Z(()=>{Rn(Ne,"title",`Branch: ${u(_).branch??""}`),K(fe,`⎇ ${u(_).branch??""}`)}),T(W,re)};$(Ht,W=>{u(_)&&W(ge)})}var qe=C(Ht,2),gt=x(qe),wt=x(gt),Qe=x(wt),li=C(wt,2),Jt=C(gt,2);{var Un=W=>{var re=UK(),Ne=yt(re),fe=C(Ne,2),_t=x(fe),Bt=C(_t,2),Kt=C(Bt,2);Z(()=>Kt.disabled=!u(_)),ne("click",Ne,()=>I(p,!1)),ne("click",_t,()=>{I(p,!1),Wt()}),ne("click",Bt,()=>{I(p,!1),O()}),ne("click",Kt,se),T(W,re)};$(Jt,W=>{u(p)&&W(Un)})}var tn=C(qe,2);{var ri=W=>{var re=$K();ne("click",re,J),T(W,re)};$(tn,W=>{u(h)&&W(ri)})}var Vt=C(tn,2);let an;var ci=C(le,2),bn=x(ci),Xi=x(bn),ys=x(Xi);bs(ys,W=>Ct=W,()=>Ct);var Mo=C(ys,2);{var qr=W=>{var re=qK();T(W,re)};$(Mo,W=>{u(h)||W(qr)})}var Ta=C(Mo,2);{var Kr=W=>{var re=XK(),Ne=x(re),fe=x(Ne),_t=C(x(fe)),Bt=x(_t),Kt=C(fe,2),Ui=x(Kt),$i=x(Ui),Wi=x($i),Ai=x(Wi),Ri=C(Wi,2),wn=C($i,2);{var po=Gn=>{var qs=ZK(),Sl=yt(qs),io=C(Sl,2),Ss=x(io);{var Zr=Ro=>{var mo=KK();ne("click",mo,()=>{I(zt,!1),I(hi,!0),A()}),T(Ro,mo)},Ko=Ro=>{var mo=GK();ne("click",mo,()=>{I(zt,!1),I(hi,!1)}),T(Ro,mo)};$(Ss,Ro=>{u(hi)?Ro(Ko,-1):Ro(Zr)})}ne("click",Sl,()=>I(zt,!1)),T(Gn,qs)};$(wn,Gn=>{u(zt)&&Gn(po)})}var No=C(Ui,2),br=C(Ne,2);bs(br,Gn=>I(Rt,Gn),()=>u(Rt)),Z(Gn=>{K(Bt,Gn),K(Ai,u(hi)?"Auto-accept ✓":"Accept")},[()=>{var Gn;return(Gn=u(h))==null?void 0:Gn.split("/").pop()}]),ne("click",Wi,A),ne("click",Ri,()=>I(zt,!u(zt))),ne("click",No,q),T(W,re)};$(Ta,W=>{u(Nt)!==null&&W(Kr)})}var qo=C(Xi,2);let yl,Ma;var Ni=x(qo);{var $s=W=>{var re=YK();ne("mousedown",re,ai),T(W,re)};$(Ni,W=>{u(v)&&W($s)})}var Yn=C(Ni,2),ms=x(Yn),Ec=x(ms),Rg=C(Ec);{var Pc=W=>{var re=JK(),Ne=x(re);Z(fe=>K(Ne,`— ${fe??""}`),[()=>u(h).split("/").pop()]),T(W,re)};$(Rg,W=>{u(h)&&W(Pc)})}var Gr=C(ms,2);{var Na=W=>{var re=eG(),Ne=yt(re);_i(Ne,21,()=>ue,Nn,(Ui,$i)=>{var Wi=QK(),Ai=x(Wi),Ri={};Z(()=>{K(Ai,u($i)),Ri!==(Ri=u($i))&&(Wi.value=(Wi.__value=u($i))??"")}),T(Ui,Wi)});var fe=C(Ne,2),_t=C(fe,2),Bt=x(_t),Kt=C(_t,2);ga(Ne,()=>u(F),Ui=>I(F,Ui)),Ei(fe,()=>u(Y),Ui=>I(Y,Ui)),Es(Bt,()=>u(X),Ui=>I(X,Ui)),ne("click",Kt,_e),T(W,re)};$(Gr,W=>{u(v)&&W(Na)})}var Mw=C(Yn,2);{var Nw=W=>{var re=nG(),Ne=x(re);_i(Ne,17,()=>{var Bt;return(((Bt=u(Ti))==null?void 0:Bt.logEntries)??[]).filter(Ue)},Bt=>Bt.ts+Bt.msg,(Bt,Kt)=>{var Ui=tG(),$i=x(Ui),Wi=x($i),Ai=C($i,2),Ri=x(Ai),wn=C(Ai,2),po=x(wn);Z((No,br)=>{jt(Ui,1,`log-line ${u(Kt).level??""}`,"svelte-1pyfjii"),K(Wi,No),K(Ri,br),K(po,u(Kt).msg)},[()=>tt(u(Kt).ts),()=>u(Kt).level.toUpperCase()]),T(Bt,Ui)});var fe=C(Ne,2);{var _t=Bt=>{var Kt=iG();T(Bt,Kt)};$(fe,Bt=>{var Kt;(((Kt=u(Ti))==null?void 0:Kt.logEntries.length)??0)===0&&Bt(_t)})}bs(re,Bt=>I(D,Bt),()=>u(D)),T(W,re)};$(Mw,W=>{u(v)&&W(Nw)})}var Ag=C(bn,2);{var Rw=W=>{var re=sG(),Ne=yt(re),fe=C(Ne,2);let _t;var Bt=x(fe);hK(Bt,{get currentScript(){return u(Hn)},onApply:ji,onCreateFile:oi,get extraFiles(){return u(V)},set extraFiles(Kt){I(V,Kt,!0)}}),Z(()=>_t=jo(fe,"",_t,{width:`${u(vn)??""}px`})),ne("mousedown",Ne,si),T(W,re)};$(Ag,W=>{u(Xe)&&W(Rw)})}Z(()=>{var W;H=jo(We,"",H,{width:`${u(_n)??""}px`}),K(Je,u(h)??"No file selected"),wt.disabled=!((W=u(Ti))!=null&&W.dirty)||u(g),K(Qe,u(g)?"Saving…":"Save"),li.disabled=!u(h),an=jt(Vt,1,"ai-toggle svelte-1pyfjii",null,an,{"ai-open":u(Xe)}),Rn(Vt,"title",u(Xe)?"Close AI assistant":"Open AI assistant"),yl=jt(qo,1,"log-panel svelte-1pyfjii",null,yl,{collapsed:!u(v)}),Ma=jo(qo,"",Ma,{height:u(v)?`${u(Zi)}px`:"26px"}),K(Ec,`${u(v)?"▾":"▸"} Script Log `)}),ne("mousedown",he,Yt),ne("click",wt,Wt),ne("click",li,()=>I(p,!u(p))),ne("click",Vt,()=>I(Xe,!u(Xe))),ne("click",ms,$e),T(o,Ce),To()}_r(["click","contextmenu","keydown","change","mousedown"]);const NR="she-theme";function aG(){return localStorage.getItem(NR)??"dark"}function lG(o){localStorage.setItem(NR,o);const e=document.documentElement;o==="system"?e.removeAttribute("data-theme"):e.setAttribute("data-theme",o)}var pf={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=pf.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,U;return U=function(){b=!1,k&&(P.apply(m,k),k=!1)},P=function(){b?k=arguments:(l.apply(m,arguments),setTimeout(U,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 V(l,d){for(var m=0;m<l.length;m++)if(l[m]===d)return m;return-1}var F="data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=";function Y(l){return window["webkit"+l]||window["moz"+l]||window["ms"+l]}var X=0;function ue(l){var d=+new Date,m=Math.max(0,16-(d-X));return X=d+m,window.setTimeout(l,m)}var Ee=window.requestAnimationFrame||Y("RequestAnimationFrame")||ue,Ue=window.cancelAnimationFrame||Y("CancelAnimationFrame")||Y("CancelRequestAnimationFrame")||function(l){window.clearTimeout(l)};function ve(l,d,m){if(m&&Ee===ue)l.call(d);else return Ee.call(window,r(l,d))}function ot(l){l&&Ue.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:V,emptyImageUrl:F,requestFn:Ee,cancelFn:Ue,requestAnimFrame:ve,cancelAnimFrame:ot};function Ct(){}Ct.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&&(Qt(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,U=b._initHooks.length;P<U;P++)b._initHooks[P].call(this)}},d},Ct.include=function(l){var d=this.prototype.options;return n(this.prototype,l),l.options&&(this.prototype.options=d,this.mergeOptions(l.options)),this},Ct.mergeOptions=function(l){return n(this.prototype.options,l),this},Ct.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 Qt(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,U=l.length;P<U;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 U=this._listens(l,d,m);if(U!==!1){var te=b[U];this._firingCount&&(te.fn=f,this._events[l]=b=b.slice()),b.splice(U,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,U=k.length;P<U;P++){var te=k[P],ce=te.fn;te.once&&this.off(l,ce,te.ctx),ce.call(te.ctx||this,b)}this._firingCount--}}return m&&this._propagateEvent(b),this},listens:function(l,d,m,b){typeof l!="string"&&console.warn('"string" type argument expected');var k=d;typeof d!="function"&&(b=!!d,k=void 0,m=void 0);var P=this._events&&this._events[l];if(P&&P.length&&this._listens(l,k,m)!==!1)return!0;if(b){for(var U in this._eventParents)if(this._eventParents[U].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 ei=Ct.extend(Ft);function de(l,d,m){this.x=m?Math.round(l):l,this.y=m?Math.round(d):d}var xt=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(Oe(l))},_add:function(l){return this.x+=l.x,this.y+=l.y,this},subtract:function(l){return this.clone()._subtract(Oe(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=xt(this.x),this.y=xt(this.y),this},distanceTo:function(l){l=Oe(l);var d=l.x-this.x,m=l.y-this.y;return Math.sqrt(d*d+m*m)},equals:function(l){return l=Oe(l),l.x===this.x&&l.y===this.y},contains:function(l){return l=Oe(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 Oe(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 Xe(l,d){if(l)for(var m=d?[l,d]:l,b=0,k=m.length;b<k;b++)this.extend(m[b])}Xe.prototype={extend:function(l){var d,m;if(!l)return this;if(l instanceof de||typeof l[0]=="number"||"x"in l)d=m=Oe(l);else if(l=Nt(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 Oe((this.min.x+this.max.x)/2,(this.min.y+this.max.y)/2,l)},getBottomLeft:function(){return Oe(this.min.x,this.max.y)},getTopRight:function(){return Oe(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=Oe(l):l=Nt(l),l instanceof Xe?(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=Nt(l);var d=this.min,m=this.max,b=l.min,k=l.max,P=k.x>=d.x&&b.x<=m.x,U=k.y>=d.y&&b.y<=m.y;return P&&U},overlaps:function(l){l=Nt(l);var d=this.min,m=this.max,b=l.min,k=l.max,P=k.x>d.x&&b.x<m.x,U=k.y>d.y&&b.y<m.y;return P&&U},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 Nt(Oe(d.x-b,d.y-k),Oe(m.x+b,m.y+k))},equals:function(l){return l?(l=Nt(l),this.min.equals(l.getTopLeft())&&this.max.equals(l.getBottomRight())):!1}};function Nt(l,d){return!l||l instanceof Xe?l:new Xe(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 Rt)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(Dt(l)||zt(l)):this;return!d&&!m?(this._southWest=new Rt(b.lat,b.lng),this._northEast=new Rt(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 Rt(d.lat-b,d.lng-k),new Rt(m.lat+b,m.lng+k))},getCenter:function(){return new Rt((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 Rt(this.getNorth(),this.getWest())},getSouthEast:function(){return new Rt(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 Rt||"lat"in l?l=Dt(l):l=zt(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=zt(l);var d=this._southWest,m=this._northEast,b=l.getSouthWest(),k=l.getNorthEast(),P=k.lat>=d.lat&&b.lat<=m.lat,U=k.lng>=d.lng&&b.lng<=m.lng;return P&&U},overlaps:function(l){l=zt(l);var d=this._southWest,m=this._northEast,b=l.getSouthWest(),k=l.getNorthEast(),P=k.lat>d.lat&&b.lat<m.lat,U=k.lng>d.lng&&b.lng<m.lng;return P&&U},toBBoxString:function(){return[this.getWest(),this.getSouth(),this.getEast(),this.getNorth()].join(",")},equals:function(l,d){return l?(l=zt(l),this._southWest.equals(l.getSouthWest(),d)&&this._northEast.equals(l.getNorthEast(),d)):!1},isValid:function(){return!!(this._southWest&&this._northEast)}};function zt(l,d){return l instanceof hi?l:new hi(l,d)}function Rt(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)}Rt.prototype={equals:function(l,d){if(!l)return!1;l=Dt(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 mi.distance(this,Dt(l))},wrap:function(){return mi.wrapLatLng(this)},toBounds:function(l){var d=180*l/40075017,m=d/Math.cos(Math.PI/180*this.lat);return zt([this.lat-d,this.lng-m],[this.lat+d,this.lng+m])},clone:function(){return new Rt(this.lat,this.lng,this.alt)}};function Dt(l,d,m){return l instanceof Rt?l:N(l)&&typeof l[0]!="object"?l.length===3?new Rt(l[0],l[1],l[2]):l.length===2?new Rt(l[0],l[1]):null:l==null?l:typeof l=="object"&&"lat"in l?new Rt(l.lat,"lng"in l?l.lng:l.lon,l.alt):d===void 0?null:new Rt(l,d,m)}var ii={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 Xe(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 Rt(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(),U=l.getNorthEast(),te=new Rt(P.lat-b,P.lng-k),ce=new Rt(U.lat-b,U.lng-k);return new hi(te,ce)}},mi=n({},ii,{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),U=Math.sin((d.lng-l.lng)*m/2),te=P*P+Math.cos(b)*Math.cos(k)*U*U,ce=2*Math.atan2(Math.sqrt(te),Math.sqrt(1-te));return this.R*ce}}),_n=6378137,Zi={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 Rt((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 Xe([-l,-l],[l,l])})()};function vn(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}vn.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 En(l,d,m,b){return new vn(l,d,m,b)}var zi=n({},mi,{code:"EPSG:3857",projection:Zi,transformation:(function(){var l=.5/(Math.PI*Zi.R);return En(l,.5,-l,.5)})()}),qn=n({},zi,{code:"EPSG:900913"});function dn(l){return document.createElementNS("http://www.w3.org/2000/svg",l)}function Ln(l,d){var m="",b,k,P,U,te,ce;for(b=0,P=l.length;b<P;b++){for(te=l[b],k=0,U=te.length;k<U;k++)ce=te[k],m+=(k?"L":"M")+ce.x+" "+ce.y;m+=d?Ie.svg?"z":"x":""}return m||"M0 0"}var Wn=document.documentElement.style,hn="ActiveXObject"in window,Kn=hn&&!document.addEventListener,Fn="msLaunchUri"in navigator&&!("documentMode"in document),Hn=dt("webkit"),Bn=dt("android"),un=dt("android 2")||dt("android 3"),Ki=parseInt(/WebKit\/([0-9]+)|$/.exec(navigator.userAgent)[1],10),Ti=Bn&&dt("Google")&&Ki<537&&!("AudioNode"in window),Ke=!!window.opera,Mt=!Fn&&dt("chrome"),gi=dt("gecko")&&!Hn&&!Ke&&!hn,Li=!Mt&&dt("safari"),Ci=dt("phantom"),on="OTransition"in Wn,ki=navigator.platform.indexOf("Win")===0,jn=hn&&"transition"in Wn,Pn="WebKitCSSMatrix"in window&&"m11"in new window.WebKitCSSMatrix&&!un,Xn="MozPerspective"in Wn,Tn=!window.L_DISABLE_3D&&(jn||Pn||Xn)&&!on&&!Ci,rn=typeof orientation<"u"||dt("mobile"),Be=rn&&Hn,G=rn&&Pn,Re=!window.PointerEvent&&window.MSPointerEvent,lt=!!(window.PointerEvent||Re),ct="ontouchstart"in window||!!window.TouchEvent,Wt=!window.L_NO_TOUCH&&(ct||lt),O=rn&&Ke,se=rn&&gi,be=(window.devicePixelRatio||window.screen.deviceXDPI/window.screen.logicalXDPI)>1,j=(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})(),pe=(function(){return!!document.createElement("canvas").getContext})(),Fe=!!(document.createElementNS&&dn("svg").createSVGRect),ke=!!Fe&&(function(){var l=document.createElement("div");return l.innerHTML="<svg/>",(l.firstChild&&l.firstChild.namespaceURI)==="http://www.w3.org/2000/svg"})(),Me=!Fe&&(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}})(),Pe=navigator.platform.indexOf("Mac")===0,Pt=navigator.platform.indexOf("Linux")===0;function dt(l){return navigator.userAgent.toLowerCase().indexOf(l)>=0}var Ie={ie:hn,ielt9:Kn,edge:Fn,webkit:Hn,android:Bn,android23:un,androidStock:Ti,opera:Ke,chrome:Mt,gecko:gi,safari:Li,phantom:Ci,opera12:on,win:ki,ie3d:jn,webkit3d:Pn,gecko3d:Xn,any3d:Tn,mobile:rn,mobileWebkit:Be,mobileWebkit3d:G,msPointer:Re,pointer:lt,touch:Wt,touchNative:ct,mobileOpera:O,mobileGecko:se,retina:be,passiveEvents:j,canvas:pe,svg:Fe,vml:Me,inlineSvg:ke,mac:Pe,linux:Pt},At=Ie.msPointer?"MSPointerDown":"pointerdown",ni=Ie.msPointer?"MSPointerMove":"pointermove",qt=Ie.msPointer?"MSPointerUp":"pointerup",$t=Ie.msPointer?"MSPointerCancel":"pointercancel",ti={touchstart:At,touchmove:ni,touchend:qt,touchcancel:$t},J={touchstart:Vi,touchmove:si,touchend:si,touchcancel:si},_e={},$e=!1;function tt(l,d,m){return d==="touchstart"&&ai(),J[d]?(m=J[d].bind(this,m),l.addEventListener(ti[d],m,!1),m):(console.warn("wrong event specified:",d),f)}function It(l,d,m){if(!ti[d]){console.warn("wrong event specified:",d);return}l.removeEventListener(ti[d],m,!1)}function He(l){_e[l.pointerId]=l}function nt(l){_e[l.pointerId]&&(_e[l.pointerId]=l)}function Yt(l){delete _e[l.pointerId]}function ai(){$e||(document.addEventListener(At,He,!0),document.addEventListener(ni,nt,!0),document.addEventListener(qt,Yt,!0),document.addEventListener($t,Yt,!0),$e=!0)}function si(l,d){if(d.pointerType!==(d.MSPOINTER_TYPE_MOUSE||"mouse")){d.touches=[];for(var m in _e)d.touches.push(_e[m]);d.changedTouches=[d],l(d)}}function Vi(l,d){d.MSPOINTER_TYPE_TOUCH&&d.pointerType===d.MSPOINTER_TYPE_TOUCH&&Xi(d),si(l,d)}function kn(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 oi(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 U=Mo(P);if(!(U.some(function(ce){return ce instanceof HTMLLabelElement&&ce.attributes.for})&&!U.some(function(ce){return ce instanceof HTMLInputElement||ce instanceof HTMLSelectElement}))){var te=Date.now();te-m<=Mi?(b++,b===2&&d(kn(P))):b=1,m=te}}}return l.addEventListener("click",k),{dblclick:d,simDblclick:k}}function ji(l,d){l.removeEventListener("dblclick",d.dblclick),l.removeEventListener("click",d.simDblclick)}var A=it(["transform","webkitTransform","OTransform","MozTransform","msTransform"]),q=it(["webkitTransition","transition","OTransition","MozTransition","msTransition"]),xe=q==="webkitTransition"||q==="OTransition"?q+"End":"transitionend";function Ce(l){return typeof l=="string"?document.getElementById(l):l}function Ae(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 De(l,d,m){var b=document.createElement(l);return b.className=d||"",m&&m.appendChild(b),b}function oe(l){var d=l.parentNode;d&&d.removeChild(l)}function ht(l){for(;l.firstChild;)l.removeChild(l.firstChild)}function Ye(l){var d=l.parentNode;d&&d.lastChild!==l&&d.appendChild(l)}function Te(l){var d=l.parentNode;d&&d.firstChild!==l&&d.insertBefore(l,d.firstChild)}function Tt(l,d){if(l.classList!==void 0)return l.classList.contains(d);var m=Se(l);return m.length>0&&new RegExp("(^|\\s)"+d+"(\\s|$)").test(m)}function We(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(!Tt(l,d)){var P=Se(l);Q(l,(P?P+" ":"")+d)}}function H(l,d){l.classList!==void 0?l.classList.remove(d):Q(l,v((" "+Se(l)+" ").replace(" "+d+" "," ")))}function Q(l,d){l.className.baseVal===void 0?l.className=d:l.className.baseVal=d}function Se(l){return l.correspondingElement&&(l=l.correspondingElement),l.className.baseVal===void 0?l.className:l.className.baseVal}function Ge(l,d){"opacity"in l.style?l.style.opacity=d:"filter"in l.style&&et(l,d)}function et(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 it(l){for(var d=document.documentElement.style,m=0;m<l.length;m++)if(l[m]in d)return l[m];return!1}function ft(l,d,m){var b=d||new de(0,0);l.style[A]=(Ie.ie3d?"translate("+b.x+"px,"+b.y+"px)":"translate3d("+b.x+"px,"+b.y+"px,0)")+(m?" scale("+m+")":"")}function we(l,d){l._leaflet_pos=d,Ie.any3d?ft(l,d):(l.style.left=d.x+"px",l.style.top=d.y+"px")}function vt(l){return l._leaflet_pos||new de(0,0)}var ut,he,bt;if("onselectstart"in document)ut=function(){Qe(window,"selectstart",Xi)},he=function(){Jt(window,"selectstart",Xi)};else{var Ze=it(["userSelect","WebkitUserSelect","OUserSelect","MozUserSelect","msUserSelect"]);ut=function(){if(Ze){var l=document.documentElement.style;bt=l[Ze],l[Ze]="none"}},he=function(){Ze&&(document.documentElement.style[Ze]=bt,bt=void 0)}}function Le(){Qe(window,"dragstart",Xi)}function le(){Jt(window,"dragstart",Xi)}var me,Je;function Ht(l){for(;l.tabIndex===-1;)l=l.parentNode;l.style&&(ge(),me=l,Je=l.style.outlineStyle,l.style.outlineStyle="none",Qe(window,"keydown",ge))}function ge(){me&&(me.style.outlineStyle=Je,me=void 0,Je=void 0,Jt(window,"keydown",ge))}function qe(l){do l=l.parentNode;while((!l.offsetWidth||!l.offsetHeight)&&l!==document.body);return l}function gt(l){var d=l.getBoundingClientRect();return{x:d.width/l.offsetWidth||1,y:d.height/l.offsetHeight||1,boundingClientRect:d}}var wt={__proto__:null,TRANSFORM:A,TRANSITION:q,TRANSITION_END:xe,get:Ce,getStyle:Ae,create:De,remove:oe,empty:ht,toFront:Ye,toBack:Te,hasClass:Tt,addClass:We,removeClass:H,setClass:Q,getClass:Se,setOpacity:Ge,testProp:it,setTransform:ft,setPosition:we,getPosition:vt,get disableTextSelection(){return ut},get enableTextSelection(){return he},disableImageDrag:Le,enableImageDrag:le,preventOutline:Ht,restoreOutline:ge,getSizedParentNode:qe,getScale:gt};function Qe(l,d,m,b){if(d&&typeof d=="object")for(var k in d)ri(l,k,d[k],m);else{d=_(d);for(var P=0,U=d.length;P<U;P++)ri(l,d[P],m,b)}return this}var li="_leaflet_events";function Jt(l,d,m,b){if(arguments.length===1)Un(l),delete l[li];else if(d&&typeof d=="object")for(var k in d)Vt(l,k,d[k],m);else if(d=_(d),arguments.length===2)Un(l,function(te){return V(d,te)!==-1});else for(var P=0,U=d.length;P<U;P++)Vt(l,d[P],m,b);return this}function Un(l,d){for(var m in l[li]){var b=m.split(/\d/)[0];(!d||d(b))&&Vt(l,b,null,null,m)}}var tn={mouseenter:"mouseover",mouseleave:"mouseout",wheel:!("onwheel"in window)&&"mousewheel"};function ri(l,d,m,b){var k=d+c(m)+(b?"_"+c(b):"");if(l[li]&&l[li][k])return this;var P=function(te){return m.call(b||l,te||window.event)},U=P;!Ie.touchNative&&Ie.pointer&&d.indexOf("touch")===0?P=tt(l,d,P):Ie.touch&&d==="dblclick"?P=oi(l,P):"addEventListener"in l?d==="touchstart"||d==="touchmove"||d==="wheel"||d==="mousewheel"?l.addEventListener(tn[d]||d,P,Ie.passiveEvents?{passive:!1}:!1):d==="mouseenter"||d==="mouseleave"?(P=function(te){te=te||window.event,qo(l,te)&&U(te)},l.addEventListener(tn[d],P,!1)):l.addEventListener(d,U,!1):l.attachEvent("on"+d,P),l[li]=l[li]||{},l[li][k]=P}function Vt(l,d,m,b,k){k=k||d+c(m)+(b?"_"+c(b):"");var P=l[li]&&l[li][k];if(!P)return this;!Ie.touchNative&&Ie.pointer&&d.indexOf("touch")===0?It(l,d,P):Ie.touch&&d==="dblclick"?ji(l,P):"removeEventListener"in l?l.removeEventListener(tn[d]||d,P,!1):l.detachEvent("on"+d,P),l[li][k]=null}function an(l){return l.stopPropagation?l.stopPropagation():l.originalEvent?l.originalEvent._stopped=!0:l.cancelBubble=!0,this}function ci(l){return ri(l,"wheel",an),this}function bn(l){return Qe(l,"mousedown touchstart dblclick contextmenu",an),l._leaflet_disable_click=!0,this}function Xi(l){return l.preventDefault?l.preventDefault():l.returnValue=!1,this}function ys(l){return Xi(l),an(l),this}function Mo(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=gt(d),b=m.boundingClientRect;return new de((l.clientX-b.left)/m.x-d.clientLeft,(l.clientY-b.top)/m.y-d.clientTop)}var Ta=Ie.linux&&Ie.chrome?window.devicePixelRatio:Ie.mac?window.devicePixelRatio*3:window.devicePixelRatio>0?2*window.devicePixelRatio:1;function Kr(l){return Ie.edge?l.wheelDeltaY/2:l.deltaY&&l.deltaMode===0?-l.deltaY/Ta: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 qo(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:Qe,off:Jt,stopPropagation:an,disableScrollPropagation:ci,disableClickPropagation:bn,preventDefault:Xi,stop:ys,getPropagationPath:Mo,getMousePosition:qr,getWheelDelta:Kr,isExternalTarget:qo,addListener:Qe,removeListener:Jt},Ma=ei.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=vt(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=ve(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(),we(this._el,m),this.fire("step")},_complete:function(){ot(this._animId),this._inProgress=!1,this.fire("end")},_easeOut:function(l){return 1-Math.pow(1-l,this._easeOutPower)}}),Ni=ei.extend({options:{crs:zi,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(Dt(d.center),d.zoom,{reset:!0}),this.callInitHooks(),this._zoomAnimated=q&&Ie.any3d&&!Ie.mobileOpera&&this.options.zoomAnimation,this._zoomAnimated&&(this._createAnimProxy(),Qe(this._proxy,xe,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(Dt(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||(Ie.any3d?this.options.zoomDelta:1),this.setZoom(this._zoom+l,d)},zoomOut:function(l,d){return l=l||(Ie.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),U=P.subtract(k).multiplyBy(1-1/b),te=this.containerPointToLatLng(k.add(U));return this.setView(te,d,{zoom:m})},_getBoundsCenterZoom:function(l,d){d=d||{},l=l.getBounds?l.getBounds():zt(l);var m=Oe(d.paddingTopLeft||d.padding||[0,0]),b=Oe(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),U=this.project(l.getSouthWest(),k),te=this.project(l.getNorthEast(),k),ce=this.unproject(U.add(te).divideBy(2).add(P),k);return{center:ce,zoom:k}},fitBounds:function(l,d){if(l=zt(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=Oe(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 Ma,this._panAnim.on({step:this._onPanTransitionStep,end:this._onPanTransitionEnd},this)),d.noMoveStart||this.fire("movestart"),d.animate!==!1){We(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||!Ie.any3d)return this.setView(l,d,m);this._stop();var b=this.project(this.getCenter()),k=this.project(l),P=this.getSize(),U=this._zoom;l=Dt(l),d=d===void 0?U:d;var te=Math.max(P.x,P.y),ce=te*this.getZoomScale(U,d),Ve=k.distanceTo(b)||1,Ot=1.42,bi=Ot*Ot;function Gi(_s){var _m=_s?-1:1,iA=_s?ce:te,nA=ce*ce-te*te+_m*bi*bi*Ve*Ve,sA=2*iA*bi*Ve,zw=nA/sA,PL=Math.sqrt(zw*zw+1)-zw,oA=PL<1e-9?-18:Math.log(PL);return oA}function no(_s){return(Math.exp(_s)-Math.exp(-_s))/2}function Is(_s){return(Math.exp(_s)+Math.exp(-_s))/2}function Go(_s){return no(_s)/Is(_s)}var _o=Gi(0);function Mh(_s){return te*(Is(_o)/Is(_o+Ot*_s))}function JR(_s){return te*(Is(_o)*Go(_o+Ot*_s)-no(_o))/bi}function QR(_s){return 1-Math.pow(1-_s,1.5)}var eA=Date.now(),DL=(Gi(1)-_o)/Ot,tA=m.duration?1e3*m.duration:1e3*DL*.8;function EL(){var _s=(Date.now()-eA)/tA,_m=QR(_s)*DL;_s<=1?(this._flyToFrame=ve(EL,this),this._move(this.unproject(b.add(k.subtract(b).multiplyBy(JR(_m)/Ve)),U),this.getScaleZoom(te/Mh(_m),U),{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=zt(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,zt(l));return m.equals(b)||this.panTo(b,d),this._enforcingBounds=!1,this},panInside:function(l,d){d=d||{};var m=Oe(d.paddingTopLeft||d.padding||[0,0]),b=Oe(d.paddingBottomRight||d.padding||[0,0]),k=this.project(this.getCenter()),P=this.project(l),U=this.getPixelBounds(),te=Nt([U.min.add(m),U.max.subtract(b)]),ce=te.getSize();if(!te.contains(P)){this._enforcingBounds=!0;var Ve=P.subtract(te.getCenter()),Ot=te.extend(P).getSize().subtract(ce);k.x+=Ve.x<0?-Ot.x:Ot.x,k.y+=Ve.y<0?-Ot.y:Ot.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 Rt(d,m),k=b.toBounds(l.coords.accuracy*2),P=this._locateOptions;if(P.setView){var U=this.getBoundsZoom(k);this.setView(b,P.maxZoom?Math.min(U,P.maxZoom):U)}var te={latlng:b,bounds:k,timestamp:l.timestamp};for(var ce in l.coords)typeof l.coords[ce]=="number"&&(te[ce]=l.coords[ce]);this.fire("locationfound",te)}},addHandler:function(l,d){if(!d)return this;var m=this[l]=new d(this);return this._handlers.push(m),this.options[l]&&m.enable(),this},remove:function(){if(this._initEvents(!0),this.options.maxBounds&&this.off("moveend",this._panInsideMaxBounds),this._containerId!==this._container._leaflet_id)throw new Error("Map container is being reused by another instance");try{delete this._container._leaflet_id,delete this._containerId}catch{this._container._leaflet_id=void 0,this._containerId=void 0}this._locationWatchId!==void 0&&this.stopLocate(),this._stop(),oe(this._mapPane),this._clearControlPos&&this._clearControlPos(),this._resizeRequest&&(ot(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)oe(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=De("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=zt(l),m=Oe(m||[0,0]);var b=this.getZoom()||0,k=this.getMinZoom(),P=this.getMaxZoom(),U=l.getNorthWest(),te=l.getSouthEast(),ce=this.getSize().subtract(m),Ve=Nt(this.project(te,b),this.project(U,b)).getSize(),Ot=Ie.any3d?this.options.zoomSnap:1,bi=ce.x/Ve.x,Gi=ce.y/Ve.y,no=d?Math.max(bi,Gi):Math.min(bi,Gi);return b=this.getScaleZoom(no,b),Ot&&(b=Math.round(b/(Ot/100))*(Ot/100),b=d?Math.ceil(b/Ot)*Ot:Math.floor(b/Ot)*Ot),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 Xe(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(Dt(l),d)},unproject:function(l,d){return d=d===void 0?this._zoom:d,this.options.crs.pointToLatLng(Oe(l),d)},layerPointToLatLng:function(l){var d=Oe(l).add(this.getPixelOrigin());return this.unproject(d)},latLngToLayerPoint:function(l){var d=this.project(Dt(l))._round();return d._subtract(this.getPixelOrigin())},wrapLatLng:function(l){return this.options.crs.wrapLatLng(Dt(l))},wrapLatLngBounds:function(l){return this.options.crs.wrapLatLngBounds(zt(l))},distance:function(l,d){return this.options.crs.distance(Dt(l),Dt(d))},containerPointToLayerPoint:function(l){return Oe(l).subtract(this._getMapPanePos())},layerPointToContainerPoint:function(l){return Oe(l).add(this._getMapPanePos())},containerPointToLatLng:function(l){var d=this.containerPointToLayerPoint(Oe(l));return this.layerPointToLatLng(d)},latLngToContainerPoint:function(l){return this.layerPointToContainerPoint(this.latLngToLayerPoint(Dt(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=Ce(l);if(d){if(d._leaflet_id)throw new Error("Map container is already initialized.")}else throw new Error("Map container not found.");Qe(d,"scroll",this._onScroll,this),this._containerId=c(d)},_initLayout:function(){var l=this._container;this._fadeAnimated=this.options.fadeAnimation&&Ie.any3d,We(l,"leaflet-container"+(Ie.touch?" leaflet-touch":"")+(Ie.retina?" leaflet-retina":"")+(Ie.ielt9?" leaflet-oldie":"")+(Ie.safari?" leaflet-safari":"")+(this._fadeAnimated?" leaflet-fade-anim":""));var d=Ae(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),we(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||(We(l.markerPane,"leaflet-zoom-hide"),We(l.shadowPane,"leaflet-zoom-hide"))},_resetView:function(l,d,m){we(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 ot(this._flyToFrame),this._panAnim&&this._panAnim.stop(),this},_rawPanBy:function(l){we(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?Jt:Qe;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),Ie.any3d&&this.options.transform3DLimit&&(l?this.off:this.on).call(this,"moveend",this._onMoveEnd)},_onResize:function(){ot(this._resizeRequest),this._resizeRequest=ve(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,U=!1;P;){if(b=this._targets[c(P)],b&&(d==="click"||d==="preclick")&&this._draggableMoved(b)){U=!0;break}if(b&&b.listens(d,!0)&&(k&&!qo(P,l)||(m.push(b),k))||P===this._container)break;P=P.parentNode}return!m.length&&!U&&!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"&&Ht(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=[],U=0;U<m.length;U++)m[U].listens(d,!0)&&P.push(m[U]);k=P.concat(k)}if(k.length){d==="contextmenu"&&Xi(l);var te=k[0],ce={originalEvent:l};if(l.type!=="keypress"&&l.type!=="keydown"&&l.type!=="keyup"){var Ve=te.getLatLng&&(!te._radius||te._radius<=10);ce.containerPoint=Ve?this.latLngToContainerPoint(te.getLatLng()):this.mouseEventToContainerPoint(l),ce.layerPoint=this.containerPointToLayerPoint(ce.containerPoint),ce.latlng=Ve?te.getLatLng():this.layerPointToLatLng(ce.layerPoint)}for(U=0;U<k.length;U++)if(k[U].fire(d,ce,!0),ce.originalEvent._stopped||k[U].options.bubblingMouseEvents===!1&&V(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 vt(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 Nt([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 Xe(b.subtract(k),b.add(k)),U=this._getBoundsOffset(P,m,d);return Math.abs(U.x)<=1&&Math.abs(U.y)<=1?l:this.unproject(b.add(U),d)},_limitOffset:function(l,d){if(!d)return l;var m=this.getPixelBounds(),b=new Xe(m.min.add(l),m.max.add(l));return l.add(this._getBoundsOffset(b,d))},_getBoundsOffset:function(l,d,m){var b=Nt(this.project(d.getNorthEast(),m),this.project(d.getSouthWest(),m)),k=b.min.subtract(l.min),P=b.max.subtract(l.max),U=this._rebound(k.x,-P.x),te=this._rebound(k.y,-P.y);return new de(U,te)},_rebound:function(l,d){return l+d>0?Math.round(l-d)/2:Math.max(0,Math.ceil(l))-Math.max(0,Math.floor(d))},_limitZoom:function(l){var d=this.getMinZoom(),m=this.getMaxZoom(),b=Ie.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(){H(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=De("div","leaflet-proxy leaflet-zoom-animated");this._panes.mapPane.appendChild(l),this.on("zoomanim",function(d){var m=A,b=this._proxy.style[m];ft(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(){oe(this._proxy),this.off("load moveend",this._animMoveEnd,this),delete this._proxy},_animMoveEnd:function(){var l=this.getCenter(),d=this.getZoom();ft(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:(ve(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,We(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&&H(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 $s(l,d){return new Ni(l,d)}var Yn=Ct.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 We(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?(oe(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()}}),ms=function(l){return new Yn(l)};Ni.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=De("div",d+"control-container",this._container);function b(k,P){var U=d+k+" "+d+P;l[k+P]=De("div",U,m)}b("top","left"),b("top","right"),b("bottom","left"),b("bottom","right")},_clearControlPos:function(){for(var l in this._controlCorners)oe(this._controlCorners[l]);oe(this._controlContainer),delete this._controlCorners,delete this._controlContainer}});var Ec=Yn.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 Yn.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(){We(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?(We(this._section,"leaflet-control-layers-scrollbar"),this._section.style.height=l+"px"):H(this._section,"leaflet-control-layers-scrollbar"),this._checkDisabledLayers(),this},collapse:function(){return H(this._container,"leaflet-control-layers-expanded"),this},_initLayout:function(){var l="leaflet-control-layers",d=this._container=De("div",l),m=this.options.collapsed;d.setAttribute("aria-haspopup",!0),bn(d),ci(d);var b=this._section=De("section",l+"-list");m&&(this._map.on("click",this.collapse,this),Qe(d,{mouseenter:this._expandSafely,mouseleave:this.collapse},this));var k=this._layersLink=De("a",l+"-toggle",d);k.href="#",k.title="Layers",k.setAttribute("role","button"),Qe(k,{keydown:function(P){P.keyCode===13&&this._expandSafely()},click:function(P){Xi(P),this._expandSafely()}},this),m||this.expand(),this._baseLayersList=De("div",l+"-base",b),this._separator=De("div",l+"-separator",b),this._overlaysList=De("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;ht(this._baseLayersList),ht(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),Qe(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 U=l.overlay?this._overlaysList:this._baseLayersList;return U.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,Qe(l,"click",Xi),this.expand();var d=this;setTimeout(function(){Jt(l,"click",Xi),d._preventClick=!1})}}),Rg=function(l,d,m){return new Ec(l,d,m)},Pc=Yn.extend({options:{position:"topleft",zoomInText:'<span aria-hidden="true">+</span>',zoomInTitle:"Zoom in",zoomOutText:'<span aria-hidden="true">−</span>',zoomOutTitle:"Zoom out"},onAdd:function(l){var d="leaflet-control-zoom",m=De("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=De("a",m,b);return P.innerHTML=l,P.href="#",P.title=d,P.setAttribute("role","button"),P.setAttribute("aria-label",d),bn(P),Qe(P,"click",ys),Qe(P,"click",k,this),Qe(P,"click",this._refocusOnMap,this),P},_updateDisabled:function(){var l=this._map,d="leaflet-disabled";H(this._zoomInButton,d),H(this._zoomOutButton,d),this._zoomInButton.setAttribute("aria-disabled","false"),this._zoomOutButton.setAttribute("aria-disabled","false"),(this._disabled||l._zoom===l.getMinZoom())&&(We(this._zoomOutButton,d),this._zoomOutButton.setAttribute("aria-disabled","true")),(this._disabled||l._zoom===l.getMaxZoom())&&(We(this._zoomInButton,d),this._zoomInButton.setAttribute("aria-disabled","true"))}});Ni.mergeOptions({zoomControl:!0}),Ni.addInitHook(function(){this.options.zoomControl&&(this.zoomControl=new Pc,this.addControl(this.zoomControl))});var Gr=function(l){return new Pc(l)},Na=Yn.extend({options:{position:"bottomleft",maxWidth:100,metric:!0,imperial:!0},onAdd:function(l){var d="leaflet-control-scale",m=De("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=De("div",d,m)),l.imperial&&(this._iScale=De("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 Na(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>',Ag=Yn.extend({options:{position:"bottomright",prefix:'<a href="https://leafletjs.com" title="A JavaScript library for interactive maps">'+(Ie.inlineSvg?Nw+" ":"")+"Leaflet</a>"},initialize:function(l){y(this,l),this._attributions={}},onAdd:function(l){l.attributionControl=this,this._container=De("div","leaflet-control-attribution"),bn(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> ')}}});Ni.mergeOptions({attributionControl:!0}),Ni.addInitHook(function(){this.options.attributionControl&&new Ag().addTo(this)});var Rw=function(l){return new Ag(l)};Yn.Layers=Ec,Yn.Zoom=Pc,Yn.Scale=Na,Yn.Attribution=Ag,ms.layers=Rg,ms.zoom=Gr,ms.scale=Mw,ms.attribution=Rw;var W=Ct.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}});W.addTo=function(l,d){return l.addHandler(d,this),this};var re={Events:Ft},Ne=Ie.touch?"touchstart mousedown":"mousedown",fe=ei.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||(Qe(this._dragStartTarget,Ne,this._onDown,this),this._enabled=!0)},disable:function(){this._enabled&&(fe._dragging===this&&this.finishDrag(!0),Jt(this._dragStartTarget,Ne,this._onDown,this),this._enabled=!1,this._moved=!1)},_onDown:function(l){if(this._enabled&&(this._moved=!1,!Tt(this._element,"leaflet-zoom-anim"))){if(l.touches&&l.touches.length!==1){fe._dragging===this&&this.finishDrag();return}if(!(fe._dragging||l.shiftKey||l.which!==1&&l.button!==1&&!l.touches)&&(fe._dragging=this,this._preventOutline&&Ht(this._element),Le(),ut(),!this._moving)){this.fire("down");var d=l.touches?l.touches[0]:l,m=qe(this._element);this._startPoint=new de(d.clientX,d.clientY),this._startPos=vt(this._element),this._parentScale=gt(m);var b=l.type==="mousedown";Qe(document,b?"mousemove":"touchmove",this._onMove,this),Qe(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,Xi(l),this._moved||(this.fire("dragstart"),this._moved=!0,We(document.body,"leaflet-dragging"),this._lastTarget=l.target||l.srcElement,window.SVGElementInstance&&this._lastTarget instanceof window.SVGElementInstance&&(this._lastTarget=this._lastTarget.correspondingUseElement),We(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),we(this._element,this._newPos),this.fire("drag",l)},_onUp:function(){this._enabled&&this.finishDrag()},finishDrag:function(l){H(document.body,"leaflet-dragging"),this._lastTarget&&(H(this._lastTarget,"leaflet-drag-target"),this._lastTarget=null),Jt(document,"mousemove touchmove",this._onMove,this),Jt(document,"mouseup touchend touchcancel",this._onUp,this),le(),he();var d=this._moved&&this._moving;this._moving=!1,fe._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,U,te,ce,Ve,Ot,bi,Gi;for(P=0,Ot=l.length;P<Ot;P++)l[P]._code=qs(l[P],d);for(te=0;te<4;te++){for(bi=k[te],b=[],P=0,Ot=l.length,U=Ot-1;P<Ot;U=P++)ce=l[P],Ve=l[U],ce._code&bi?Ve._code&bi||(Gi=Gn(Ve,ce,bi,d,m),Gi._code=qs(Gi,d),b.push(Gi)):(Ve._code&bi&&(Gi=Gn(Ve,ce,bi,d,m),Gi._code=qs(Gi,d),b.push(Gi)),b.push(ce));l=b}return l}function Bt(l,d){var m,b,k,P,U,te,ce,Ve,Ot;if(!l||l.length===0)throw new Error("latlngs not passed");Ss(l)||(console.warn("latlngs are not flat! Only the first ring will be used"),l=l[0]);var bi=Dt([0,0]),Gi=zt(l),no=Gi.getNorthWest().distanceTo(Gi.getSouthWest())*Gi.getNorthEast().distanceTo(Gi.getNorthWest());no<1700&&(bi=Kt(l));var Is=l.length,Go=[];for(m=0;m<Is;m++){var _o=Dt(l[m]);Go.push(d.project(Dt([_o.lat-bi.lat,_o.lng-bi.lng])))}for(te=ce=Ve=0,m=0,b=Is-1;m<Is;b=m++)k=Go[m],P=Go[b],U=k.y*P.x-P.y*k.x,ce+=(k.x+P.x)*U,Ve+=(k.y+P.y)*U,te+=U*3;te===0?Ot=Go[0]:Ot=[ce/te,Ve/te];var Mh=d.unproject(Oe(Ot));return Dt([Mh.lat+bi.lat,Mh.lng+bi.lng])}function Kt(l){for(var d=0,m=0,b=0,k=0;k<l.length;k++){var P=Dt(l[k]);d+=P.lat,m+=P.lng,b++}return Dt([d/b,m/b])}var Ui={__proto__:null,clipPolygon:_t,polygonCenter:Bt,centroid:Kt};function $i(l,d){if(!d||!l.length)return l.slice();var m=d*d;return l=po(l,m),l=Ri(l,m),l}function Wi(l,d,m){return Math.sqrt(io(l,d,m,!0))}function Ai(l,d,m){return io(l,d,m)}function Ri(l,d){var m=l.length,b=typeof Uint8Array<"u"?Uint8Array:Array,k=new b(m);k[0]=k[m-1]=1,wn(l,k,d,0,m-1);var P,U=[];for(P=0;P<m;P++)k[P]&&U.push(l[P]);return U}function wn(l,d,m,b,k){var P=0,U,te,ce;for(te=b+1;te<=k-1;te++)ce=io(l[te],l[b],l[k],!0),ce>P&&(U=te,P=ce);P>m&&(d[U]=1,wn(l,d,m,b,U),wn(l,d,m,U,k))}function po(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 No;function br(l,d,m,b,k){var P=b?No:qs(l,m),U=qs(d,m),te,ce,Ve;for(No=U;;){if(!(P|U))return[l,d];if(P&U)return!1;te=P||U,ce=Gn(l,d,te,m,k),Ve=qs(ce,m),te===P?(l=ce,P=Ve):(d=ce,U=Ve)}}function Gn(l,d,m,b,k){var P=d.x-l.x,U=d.y-l.y,te=b.min,ce=b.max,Ve,Ot;return m&8?(Ve=l.x+P*(ce.y-l.y)/U,Ot=ce.y):m&4?(Ve=l.x+P*(te.y-l.y)/U,Ot=te.y):m&2?(Ve=ce.x,Ot=l.y+U*(ce.x-l.x)/P):m&1&&(Ve=te.x,Ot=l.y+U*(te.x-l.x)/P),new de(Ve,Ot,k)}function qs(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 io(l,d,m,b){var k=d.x,P=d.y,U=m.x-k,te=m.y-P,ce=U*U+te*te,Ve;return ce>0&&(Ve=((l.x-k)*U+(l.y-P)*te)/ce,Ve>1?(k=m.x,P=m.y):Ve>0&&(k+=U*Ve,P+=te*Ve)),U=l.x-k,te=l.y-P,b?U*U+te*te:new de(k,P)}function Ss(l){return!N(l[0])||typeof l[0][0]!="object"&&typeof l[0][0]<"u"}function Zr(l){return console.warn("Deprecated use of _flat, please use L.LineUtil.isFlat instead."),Ss(l)}function Ko(l,d){var m,b,k,P,U,te,ce,Ve;if(!l||l.length===0)throw new Error("latlngs not passed");Ss(l)||(console.warn("latlngs are not flat! Only the first ring will be used"),l=l[0]);var Ot=Dt([0,0]),bi=zt(l),Gi=bi.getNorthWest().distanceTo(bi.getSouthWest())*bi.getNorthEast().distanceTo(bi.getNorthWest());Gi<1700&&(Ot=Kt(l));var no=l.length,Is=[];for(m=0;m<no;m++){var Go=Dt(l[m]);Is.push(d.project(Dt([Go.lat-Ot.lat,Go.lng-Ot.lng])))}for(m=0,b=0;m<no-1;m++)b+=Is[m].distanceTo(Is[m+1])/2;if(b===0)Ve=Is[0];else for(m=0,P=0;m<no-1;m++)if(U=Is[m],te=Is[m+1],k=U.distanceTo(te),P+=k,P>b){ce=(P-b)/k,Ve=[te.x-ce*(te.x-U.x),te.y-ce*(te.y-U.y)];break}var _o=d.unproject(Oe(Ve));return Dt([_o.lat+Ot.lat,_o.lng+Ot.lng])}var Ro={__proto__:null,simplify:$i,pointToSegmentDistance:Wi,closestPointOnSegment:Ai,clipSegment:br,_getEdgeIntersection:Gn,_getBitCode:qs,_sqClosestPointOnSegment:io,isFlat:Ss,_flat:Zr,polylineCenter:Ko},mo={project:function(l){return new de(l.lng,l.lat)},unproject:function(l){return new Rt(l.y,l.x)},bounds:new Xe([-180,-90],[180,90])},Cl={R:6378137,R_MINOR:6356752314245179e-9,bounds:new Xe([-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),U=P*Math.sin(b),te=Math.tan(Math.PI/4-b/2)/Math.pow((1-U)/(1+U),P/2);return b=-m*Math.log(Math.max(te,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),U=Math.PI/2-2*Math.atan(P),te=0,ce=.1,Ve;te<15&&Math.abs(ce)>1e-7;te++)Ve=k*Math.sin(U),Ve=Math.pow((1-Ve)/(1+Ve),k/2),ce=Math.PI/2-2*Math.atan(P*Ve)-U,U+=ce;return new Rt(U*d,l.x*d/m)}},Ih={__proto__:null,LonLat:mo,Mercator:Cl,SphericalMercator:Zi},Og=n({},mi,{code:"EPSG:3395",projection:Cl,transformation:(function(){var l=.5/(Math.PI*Cl.R);return En(l,.5,-l,.5)})()}),rs=n({},mi,{code:"EPSG:4326",projection:mo,transformation:En(1/180,1,-1/180,.5)}),xl=n({},ii,{projection:mo,transformation:En(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});ii.Earth=mi,ii.EPSG3395=Og,ii.EPSG3857=zi,ii.EPSG900913=qn,ii.EPSG4326=rs,ii.Simple=xl;var Ns=ei.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})}}});Ni.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 Xr=Ns.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 Xr(l,d)},wr=Xr.extend({addLayer:function(l){return this.hasLayer(l)?this:(l.addEventParent(this),Xr.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),Xr.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)},nn=Ct.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=Oe(b),P=Oe(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 Ie.retina&&this.options[l+"RetinaUrl"]||this.options[l+"Url"]}});function Ks(l){return new nn(l)}var Yr=nn.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 Yr.imagePath!="string"&&(Yr.imagePath=this._detectIconPath()),(this.options.imagePath||Yr.imagePath)+nn.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=De("div","leaflet-default-icon-path",document.body),d=Ae(l,"background-image")||Ae(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=W.extend({initialize:function(l){this._marker=l},addHooks:function(){var l=this._marker._icon;this._draggable||(this._draggable=new fe(l,l,!0)),this._draggable.on({dragstart:this._onDragStart,predrag:this._onPreDrag,drag:this._onDrag,dragend:this._onDragEnd},this).enable(),We(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&&H(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=vt(d._icon),U=m.getPixelBounds(),te=m.getPixelOrigin(),ce=Nt(U.min._subtract(te).add(k),U.max._subtract(te).subtract(k));if(!ce.contains(P)){var Ve=Oe((Math.max(ce.max.x,P.x)-ce.max.x)/(U.max.x-ce.max.x)-(Math.min(ce.min.x,P.x)-ce.min.x)/(U.min.x-ce.min.x),(Math.max(ce.max.y,P.y)-ce.max.y)/(U.max.y-ce.max.y)-(Math.min(ce.min.y,P.y)-ce.min.y)/(U.min.y-ce.min.y)).multiplyBy(b);m.panBy(Ve,{animate:!1}),this._draggable._newPos._add(Ve),this._draggable._startPos._add(Ve),we(d._icon,this._draggable._newPos),this._onDrag(l),this._panRequest=ve(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&&(ot(this._panRequest),this._panRequest=ve(this._adjustPan.bind(this,l)))},_onDrag:function(l){var d=this._marker,m=d._shadow,b=vt(d._icon),k=d._map.layerPointToLatLng(b);m&&we(m,b),d._latlng=k,l.latlng=k,l.oldLatLng=this._oldLatLng,d.fire("move",l).fire("drag",l)},_onDragEnd:function(l){ot(this._panRequest),delete this._oldLatLng,this._marker.fire("moveend").fire("dragend",l)}}),am=Ns.extend({options:{icon:new Yr,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=Dt(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=Dt(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||"")),We(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&&Qe(m,"focus",this._panOnFocus,this);var k=l.icon.createShadow(this._shadow),P=!1;k!==this._shadow&&(this._removeShadow(),P=!0),k&&(We(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&&Jt(this._icon,"focus",this._panOnFocus,this),oe(this._icon),this.removeInteractiveTarget(this._icon),this._icon=null},_removeShadow:function(){this._shadow&&oe(this._shadow),this._shadow=null},_setPos:function(l){this._icon&&we(this._icon,l),this._shadow&&we(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&&(We(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&&Ge(this._icon,l),this._shadow&&Ge(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?Oe(d.iconSize):Oe(0,0),b=d.iconAnchor?Oe(d.iconAnchor):Oe(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 RR(l,d){return new am(l,d)}var Ll=Ns.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=Dt(l),this._radius=this.options.radius},setLatLng:function(l){var d=this._latlng;return this._latlng=Dt(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 Xe(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 AR(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=Dt(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===mi.distance){var k=Math.PI/180,P=this._mRadius/mi.R/k,U=m.project([d+P,l]),te=m.project([d-P,l]),ce=U.add(te).divideBy(2),Ve=m.unproject(ce).lat,Ot=Math.acos((Math.cos(P*k)-Math.sin(d*k)*Math.sin(Ve*k))/(Math.cos(d*k)*Math.cos(Ve*k)))/k;(isNaN(Ot)||Ot===0)&&(Ot=P/Math.cos(Math.PI/180*d)),this._point=ce.subtract(m.getPixelOrigin()),this._radius=isNaN(Ot)?0:ce.x-m.project([Ve,l-Ot]).x,this._radiusY=ce.y-U.y}else{var bi=b.unproject(b.project(this._latlng).subtract([this._mRadius,0]));this._point=m.latLngToLayerPoint(this._latlng),this._radius=this._point.x-m.latLngToLayerPoint(bi).x}this._updateBounds()}});function OR(l,d,m){return new Fw(l,d,m)}var Ra=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=io,k,P,U=0,te=this._parts.length;U<te;U++)for(var ce=this._parts[U],Ve=1,Ot=ce.length;Ve<Ot;Ve++){k=ce[Ve-1],P=ce[Ve];var bi=b(l,k,P,!0);bi<d&&(d=bi,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=Dt(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 Ss(this._latlngs)?this._latlngs:this._latlngs[0]},_convertLatLngs:function(l){for(var d=[],m=Ss(l),b=0,k=l.length;b<k;b++)m?(d[b]=Dt(l[b]),this._bounds.extend(d[b])):d[b]=this._convertLatLngs(l[b]);return d},_project:function(){var l=new Xe;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 Xe([this._rawPxBounds.min.subtract(d),this._rawPxBounds.max.add(d)]))},_projectLatlngs:function(l,d,m){var b=l[0]instanceof Rt,k=l.length,P,U;if(b){for(U=[],P=0;P<k;P++)U[P]=this._map.latLngToLayerPoint(l[P]),m.extend(U[P]);d.push(U)}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,U,te,ce;for(m=0,k=0,P=this._rings.length;m<P;m++)for(ce=this._rings[m],b=0,U=ce.length;b<U-1;b++)te=br(ce[b],ce[b+1],l,b,!0),te&&(d[k]=d[k]||[],d[k].push(te[0]),(te[1]!==ce[b+1]||b===U-2)&&(d[k].push(te[1]),k++))}},_simplifyPoints:function(){for(var l=this._parts,d=this.options.smoothFactor,m=0,b=l.length;m<b;m++)l[m]=$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,U,te,ce=this._clickTolerance();if(!this._pxBounds||!this._pxBounds.contains(l))return!1;for(m=0,P=this._parts.length;m<P;m++)for(te=this._parts[m],b=0,U=te.length,k=U-1;b<U;k=b++)if(!(!d&&b===0)&&Wi(l,te[k],te[b])<=ce)return!0;return!1}});function FR(l,d){return new Ra(l,d)}Ra._flat=Zr;var Eh=Ra.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 Bt(this._defaultShape(),this._map.options.crs)},_convertLatLngs:function(l){var d=Ra.prototype._convertLatLngs.call(this,l),m=d.length;return m>=2&&d[0]instanceof Rt&&d[0].equals(d[m-1])&&d.pop(),d},_setLatLngs:function(l){Ra.prototype._setLatLngs.call(this,l),Ss(this._latlngs)&&(this._latlngs=[this._latlngs])},_defaultShape:function(){return Ss(this._latlngs[0])?this._latlngs[0]:this._latlngs[0][0]},_clipPoints:function(){var l=this._renderer._bounds,d=this.options.weight,m=new de(d,d);if(l=new Xe(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,U,te,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],U=0,Ve=m.length,te=Ve-1;U<Ve;te=U++)b=m[U],k=m[te],b.y>l.y!=k.y>l.y&&l.x<(k.x-b.x)*(l.y-b.y)/(k.y-b.y)+b.x&&(d=!d);return d||Ra.prototype._containsPoint.call(this,l,!0)}});function HR(l,d){return new Eh(l,d)}var Aa=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 U=cm(l,P);return U?(U.feature=um(l),U.defaultOptions=U.options,this.resetStyle(U),P.onEachFeature&&P.onEachFeature(l,U),this.addLayer(U)):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,U=d&&d.coordsToLatLng||Hw,te,ce,Ve,Ot;if(!b&&!m)return null;switch(m.type){case"Point":return te=U(b),dL(P,l,te,d);case"MultiPoint":for(Ve=0,Ot=b.length;Ve<Ot;Ve++)te=U(b[Ve]),k.push(dL(P,l,te,d));return new wr(k);case"LineString":case"MultiLineString":return ce=dm(b,m.type==="LineString"?0:1,U),new Ra(ce,d);case"Polygon":case"MultiPolygon":return ce=dm(b,m.type==="Polygon"?1:2,U),new Eh(ce,d);case"GeometryCollection":for(Ve=0,Ot=m.geometries.length;Ve<Ot;Ve++){var bi=cm({geometry:m.geometries[Ve],type:"Feature",properties:l.properties},d);bi&&k.push(bi)}return new wr(k);case"FeatureCollection":for(Ve=0,Ot=m.features.length;Ve<Ot;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 Rt(l[1],l[0],l[2])}function dm(l,d,m){for(var b=[],k=0,P=l.length,U;k<P;k++)U=d?dm(l[k],d-1,m):(m||Hw)(l[k]),b.push(U);return b}function Ww(l,d){return l=Dt(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,U=l.length;P<U;P++)k.push(d?hm(l[P],Ss(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),Ra.include({toGeoJSON:function(l){var d=!Ss(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=!Ss(this._latlngs),m=d&&!Ss(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})}}),Xr.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 U=um(P);U.type==="FeatureCollection"?b.push.apply(b,U.features):b.push(U)}}}),m?Ph(this,{geometries:b,type:"GeometryCollection"}):{type:"FeatureCollection",features:b}}});function hL(l,d){return new Aa(l,d)}var WR=hL,gm=Ns.extend({options:{opacity:1,alt:"",interactive:!1,crossOrigin:!1,errorOverlayUrl:"",zIndex:1,className:""},initialize:function(l,d,m){this._url=l,this._bounds=zt(d),y(this,m)},onAdd:function(){this._image||(this._initImage(),this.options.opacity<1&&this._updateOpacity()),this.options.interactive&&(We(this._image,"leaflet-interactive"),this.addInteractiveTarget(this._image)),this.getPane().appendChild(this._image),this._reset()},onRemove:function(){oe(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&&Ye(this._image),this},bringToBack:function(){return this._map&&Te(this._image),this},setUrl:function(l){return this._url=l,this._image&&(this._image.src=l),this},setBounds:function(l){return this._bounds=zt(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:De("img");if(We(d,"leaflet-image-layer"),this._zoomAnimated&&We(d,"leaflet-zoom-animated"),this.options.className&&We(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;ft(this._image,m,d)},_reset:function(){var l=this._image,d=new Xe(this._map.latLngToLayerPoint(this._bounds.getNorthWest()),this._map.latLngToLayerPoint(this._bounds.getSouthEast())),m=d.getSize();we(l,d.min),l.style.width=m.x+"px",l.style.height=m.y+"px"},_updateOpacity:function(){Ge(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()}}),BR=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:De("video");if(We(d,"leaflet-image-layer"),this._zoomAnimated&&We(d,"leaflet-zoom-animated"),this.options.className&&We(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 U=De("source");U.src=this._url[P],d.appendChild(U)}}});function zR(l,d,m){return new uL(l,d,m)}var gL=gm.extend({_initImage:function(){var l=this._image=this._url;We(l,"leaflet-image-layer"),this._zoomAnimated&&We(l,"leaflet-zoom-animated"),this.options.className&&We(l,this.options.className),l.onselectstart=f,l.onmousemove=f}});function VR(l,d,m){return new gL(l,d,m)}var Jr=Ns.extend({options:{interactive:!1,offset:[0,0],className:"",pane:void 0,content:""},initialize:function(l,d){l&&(l instanceof Rt||N(l))?(this._latlng=Dt(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&&Ge(this._container,0),clearTimeout(this._removeTimeout),this.getPane().appendChild(this._container),this.update(),l._fadeAnimated&&Ge(this._container,1),this.bringToFront(),this.options.interactive&&(We(this._container,"leaflet-interactive"),this.addInteractiveTarget(this._container))},onRemove:function(l){l._fadeAnimated?(Ge(this._container,0),this._removeTimeout=setTimeout(r(oe,void 0,this._container),200)):oe(this._container),this.options.interactive&&(H(this._container,"leaflet-interactive"),this.removeInteractiveTarget(this._container))},getLatLng:function(){return this._latlng},setLatLng:function(l){return this._latlng=Dt(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&&Ye(this._container),this},bringToBack:function(){return this._map&&Te(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=Oe(this.options.offset),m=this._getAnchor();this._zoomAnimated?we(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]}});Ni.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}}),Ns.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=Jr.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,Jr.prototype.openOn.call(this,l)},onAdd:function(l){Jr.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",an))},onRemove:function(l){Jr.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",an))},getEvents:function(){var l=Jr.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=De("div",l+" "+(this.options.className||"")+" leaflet-zoom-animated"),m=this._wrapper=De("div",l+"-content-wrapper",d);if(this._contentNode=De("div",l+"-content",m),bn(d),ci(this._contentNode),Qe(d,"contextmenu",an),this._tipContainer=De("div",l+"-tip-container",d),this._tip=De("div",l+"-tip",this._tipContainer),this.options.closeButton){var b=this._closeButton=De("a",l+"-close-button",d);b.setAttribute("role","button"),b.setAttribute("aria-label","Close popup"),b.href="#close",b.innerHTML='<span aria-hidden="true">×</span>',Qe(b,"click",function(k){Xi(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",We(l,P)):H(l,P),this._containerWidth=this._container.offsetWidth},_animateZoom:function(l){var d=this._map._latLngToNewLayerPoint(this._latlng,l.zoom,l.center),m=this._getAnchor();we(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(Ae(this._container,"marginBottom"),10)||0,m=this._container.offsetHeight+d,b=this._containerWidth,k=new de(this._containerLeft,-m-this._containerBottom);k._add(vt(this._container));var P=l.layerPointToContainerPoint(k),U=Oe(this.options.autoPanPadding),te=Oe(this.options.autoPanPaddingTopLeft||U),ce=Oe(this.options.autoPanPaddingBottomRight||U),Ve=l.getSize(),Ot=0,bi=0;P.x+b+ce.x>Ve.x&&(Ot=P.x+b-Ve.x+ce.x),P.x-Ot-te.x<0&&(Ot=P.x-te.x),P.y+m+ce.y>Ve.y&&(bi=P.y+m-Ve.y+ce.y),P.y-bi-te.y<0&&(bi=P.y-te.y),(Ot||bi)&&(this.options.keepInView&&(this._autopanning=!0),l.fire("autopanstart").panBy([Ot,bi]))}},_getAnchor:function(){return Oe(this._source&&this._source._getPopupAnchor?this._source._getPopupAnchor():[0,0])}}),jR=function(l,d){return new fm(l,d)};Ni.mergeOptions({closePopupOnClick:!0}),Ni.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}}),Ns.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)){ys(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=Jr.extend({options:{pane:"tooltipPane",offset:[0,0],direction:"auto",permanent:!1,sticky:!1,opacity:.9},onAdd:function(l){Jr.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){Jr.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=Jr.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=De("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()),U=b.layerPointToContainerPoint(l),te=this.options.direction,ce=k.offsetWidth,Ve=k.offsetHeight,Ot=Oe(this.options.offset),bi=this._getAnchor();te==="top"?(d=ce/2,m=Ve):te==="bottom"?(d=ce/2,m=0):te==="center"?(d=ce/2,m=Ve/2):te==="right"?(d=0,m=Ve/2):te==="left"?(d=ce,m=Ve/2):U.x<P.x?(te="right",d=0,m=Ve/2):(te="left",d=ce+(Ot.x+bi.x)*2,m=Ve/2),l=l.subtract(Oe(d,m,!0)).add(Ot).add(bi),H(k,"leaflet-tooltip-right"),H(k,"leaflet-tooltip-left"),H(k,"leaflet-tooltip-top"),H(k,"leaflet-tooltip-bottom"),We(k,"leaflet-tooltip-"+te),we(k,l)},_updatePosition:function(){var l=this._map.latLngToLayerPoint(this._latlng);this._setPosition(l)},setOpacity:function(l){this.options.opacity=l,this._container&&Ge(this._container,l)},_animateZoom:function(l){var d=this._map._latLngToNewLayerPoint(this._latlng,l.zoom,l.center);this._setPosition(d)},_getAnchor:function(){return Oe(this._source&&this._source._getTooltipAnchor&&!this.options.sticky?this._source._getTooltipAnchor():[0,0])}}),UR=function(l,d){return new pm(l,d)};Ni.include({openTooltip:function(l,d,m){return this._initOverlay(pm,l,d,m).openOn(this),this},closeTooltip:function(l){return l.close(),this}}),Ns.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&&(Qe(d,"focus",function(){this._tooltip._source=l,this.openTooltip()},this),Qe(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=nn.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?(ht(d),d.appendChild(m.html)):d.innerHTML=m.html!==!1?m.html:"",m.bgPos){var b=Oe(m.bgPos);d.style.backgroundPosition=-b.x+"px "+-b.y+"px"}return this._setIconStyles(d,"icon"),d},createShadow:function(){return null}});function $R(l){return new fL(l)}nn.Default=Yr;var Fg=Ns.extend({options:{tileSize:256,opacity:1,updateWhenIdle:Ie.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(),oe(this._container),l._removeZoomLimit(this),this._container=null,this._tileZoom=void 0},bringToFront:function(){return this._map&&(Ye(this._container),this._setAutoZIndex(Math.max)),this},bringToBack:function(){return this._map&&(Te(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&&!Ie.ielt9){Ge(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);Ge(k.el,P),P<1?d=!0:(k.active?m=!0:this._onOpaqueTile(k),k.active=!0)}}m&&!this._noPrune&&this._pruneTiles(),d&&(ot(this._fadeFrame),this._fadeFrame=ve(this._updateOpacity,this))}},_onOpaqueTile:f,_initContainer:function(){this._container||(this._container=De("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)):(oe(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=De("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)oe(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),U=m-1,te=new de(+k,+P);te.z=+U;var ce=this._tileCoordsToKey(te),Ve=this._tiles[ce];return Ve&&Ve.active?(Ve.retain=!0,!0):(Ve&&Ve.loaded&&(Ve.retain=!0),U>b?this._retainParent(k,P,U,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 U=new de(k,P);U.z=m+1;var te=this._tileCoordsToKey(U),ce=this._tiles[te];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();Ie.any3d?ft(l.el,k,b):we(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 Xe(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(),U=[],te=this.options.keepBuffer,ce=new Xe(k.getBottomLeft().subtract([te,-te]),k.getTopRight().add([te,-te]));if(!(isFinite(k.min.x)&&isFinite(k.min.y)&&isFinite(k.max.x)&&isFinite(k.max.y)))throw new Error("Attempted to load an infinite number of tiles");for(var Ve in this._tiles){var Ot=this._tiles[Ve].coords;(Ot.z!==this._tileZoom||!ce.contains(new de(Ot.x,Ot.y)))&&(this._tiles[Ve].current=!1)}if(Math.abs(m-this._tileZoom)>1){this._setView(l,m);return}for(var bi=k.min.y;bi<=k.max.y;bi++)for(var Gi=k.min.x;Gi<=k.max.x;Gi++){var no=new de(Gi,bi);if(no.z=this._tileZoom,!!this._isValidTile(no)){var Is=this._tiles[this._tileCoordsToKey(no)];Is?Is.current=!0:U.push(no)}}if(U.sort(function(_o,Mh){return _o.distanceTo(P)-Mh.distanceTo(P)}),U.length!==0){this._loading||(this._loading=!0,this.fire("loading"));var Go=document.createDocumentFragment();for(Gi=0;Gi<U.length;Gi++)this._addTile(U[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 zt(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),U=d.unproject(k,l.z);return[P,U]},_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&&(oe(d.el),delete this._tiles[l],this.fire("tileunload",{tile:d.el,coords:this._keyToTileCoords(l)}))},_initTile:function(l){We(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,Ie.ielt9&&this.options.opacity<1&&Ge(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&&ve(r(this._tileReady,this,l,null,k)),we(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?(Ge(m.el,0),ot(this._fadeFrame),this._fadeFrame=ve(this._updateOpacity,this)):(m.active=!0,this._pruneTiles()),d||(We(m.el,"leaflet-tile-loaded"),this.fire("tileload",{tile:m.el,coords:l})),this._noTilesToLoad()&&(this._loading=!1,this.fire("load"),Ie.ielt9||!this._map._fadeAnimated?ve(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 Xe(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 qR(l){return new Fg(l)}var Th=Fg.extend({options:{minZoom:0,maxZoom:18,subdomains:"abc",errorTileUrl:"",zoomOffset:0,tms:!1,zoomReverse:!1,detectRetina:!1,crossOrigin:!1,referrerPolicy:!1},initialize:function(l,d){this._url=l,d=y(this,d),d.detectRetina&&Ie.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 Qe(m,"load",r(this._tileOnLoad,this,d,m)),Qe(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:Ie.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){Ie.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=F;var m=this._tiles[l].coords;oe(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",F),Fg.prototype._removeTile.call(this,l)},_tileReady:function(l,d,m){if(!(!this._map||m&&m.getAttribute("src")===F))return Fg.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&&Ie.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=Nt(m.project(d[0]),m.project(d[1])),k=b.min,P=b.max,U=(this._wmsVersion>=1.3&&this._crs===rs?[k.y,k.x,P.y,P.x]:[k.x,k.y,P.x,P.y]).join(","),te=Th.prototype.getTileUrl.call(this,l);return te+S(this.wmsParams,te,this.options.uppercase)+(this.options.uppercase?"&BBOX=":"&bbox=")+U},setParams:function(l,d){return n(this.wmsParams,l),d||this.redraw(),this}});function KR(l,d){return new mL(l,d)}Th.WMS=mL,pL.wms=KR;var Oa=Ns.extend({options:{padding:.1},initialize:function(l){y(this,l),c(this),this._layers=this._layers||{}},onAdd:function(){this._container||(this._initContainer(),We(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));Ie.any3d?ft(this._container,P,m):we(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 Xe(m,m.add(d.multiplyBy(1+l*2)).round()),this._center=this._map.getCenter(),this._zoom=this._map.getZoom()}}),_L=Oa.extend({options:{tolerance:0},getEvents:function(){var l=Oa.prototype.getEvents.call(this);return l.viewprereset=this._onViewPreReset,l},_onViewPreReset:function(){this._postponeUpdatePaths=!0},onAdd:function(){Oa.prototype.onAdd.call(this),this._draw()},_initContainer:function(){var l=this._container=document.createElement("canvas");Qe(l,"mousemove",this._onMouseMove,this),Qe(l,"click dblclick mousedown mouseup contextmenu",this._onClick,this),Qe(l,"mouseout",this._handleMouseOut,this),l._leaflet_disable_events=!0,this._ctx=l.getContext("2d")},_destroyContainer:function(){ot(this._redrawRequest),delete this._ctx,oe(this._container),Jt(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)){Oa.prototype._update.call(this);var l=this._bounds,d=this._container,m=l.getSize(),b=Ie.retina?2:1;we(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",Ie.retina&&this._ctx.scale(2,2),this._ctx.translate(-l.min.x,-l.min.y),this.fire("update")}},_reset:function(){Oa.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||ve(this._redraw,this))},_extendRedrawBounds:function(l){if(l._pxBounds){var d=(l.options.weight||0)+1;this._redrawBounds=this._redrawBounds||new Xe,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,U=l._parts,te=U.length,ce=this._ctx;if(te){for(ce.beginPath(),m=0;m<te;m++){for(b=0,k=U[m].length;b<k;b++)P=U[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&&(H(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&&(We(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 Ie.canvas?new _L(l):null}var Hg=(function(){try{return document.namespaces.add("lvml","urn:schemas-microsoft-com:vml"),function(l){return document.createElement("<lvml:"+l+' class="lvml">')}}catch{}return function(l){return document.createElement("<"+l+' xmlns="urn:schemas-microsoft.com:vml" class="lvml">')}})(),GR={_initContainer:function(){this._container=De("div","leaflet-vml-container")},_update:function(){this._map._animatingZoom||(Oa.prototype._update.call(this),this.fire("update"))},_initPath:function(l){var d=l._container=Hg("shape");We(d,"leaflet-vml-shape "+(this.options.className||"")),d.coordsize="1 1",l._path=Hg("path"),d.appendChild(l._path),this._updateStyle(l),this._layers[c(l)]=l},_addPath:function(l){var d=l._container;this._container.appendChild(d),l.options.interactive&&l.addInteractiveTarget(d)},_removePath:function(l){var d=l._container;oe(d),l.removeInteractiveTarget(d),delete this._layers[c(l)]},_updateStyle:function(l){var d=l._stroke,m=l._fill,b=l.options,k=l._container;k.stroked=!!b.stroke,k.filled=!!b.fill,b.stroke?(d||(d=l._stroke=Hg("stroke")),k.appendChild(d),d.weight=b.weight+"px",d.color=b.color,d.opacity=b.opacity,b.dashArray?d.dashStyle=N(b.dashArray)?b.dashArray.join(" "):b.dashArray.replace(/( *, *)/g," "):d.dashStyle="",d.endcap=b.lineCap.replace("butt","flat"),d.joinstyle=b.lineJoin):d&&(k.removeChild(d),l._stroke=null),b.fill?(m||(m=l._fill=Hg("fill")),k.appendChild(m),m.color=b.fillColor||b.color,m.opacity=b.fillOpacity):m&&(k.removeChild(m),l._fill=null)},_updateCircle:function(l){var d=l._point.round(),m=Math.round(l._radius),b=Math.round(l._radiusY||m);this._setPath(l,l._empty()?"M0 0":"AL "+d.x+","+d.y+" "+m+","+b+" 0,"+65535*360)},_setPath:function(l,d){l._path.v=d},_bringToFront:function(l){Ye(l._container)},_bringToBack:function(l){Te(l._container)}},mm=Ie.vml?Hg:dn,Wg=Oa.extend({_initContainer:function(){this._container=mm("svg"),this._container.setAttribute("pointer-events","none"),this._rootGroup=mm("g"),this._container.appendChild(this._rootGroup)},_destroyContainer:function(){oe(this._container),Jt(this._container),delete this._container,delete this._rootGroup,delete this._svgSize},_update:function(){if(!(this._map._animatingZoom&&this._bounds)){Oa.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)),we(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&&We(d,l.options.className),l.options.interactive&&We(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){oe(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,Ln(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){Ye(l._path)},_bringToBack:function(l){Te(l._path)}});Ie.vml&&Wg.include(GR);function bL(l){return Ie.svg||Ie.vml?new Wg(l):null}Ni.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=zt(l),[l.getSouthWest(),l.getNorthWest(),l.getNorthEast(),l.getSouthEast()]}});function ZR(l,d){return new wL(l,d)}Wg.create=mm,Wg.pointsToPath=Ln,Aa.geometryToLayer=cm,Aa.coordsToLatLng=Hw,Aa.coordsToLatLngs=dm,Aa.latLngToCoords=Ww,Aa.latLngsToCoords=hm,Aa.getFeature=Ph,Aa.asFeature=um,Ni.mergeOptions({boxZoom:!0});var yL=W.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(){Qe(this._container,"mousedown",this._onMouseDown,this)},removeHooks:function(){Jt(this._container,"mousedown",this._onMouseDown,this)},moved:function(){return this._moved},_destroy:function(){oe(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(),ut(),Le(),this._startPoint=this._map.mouseEventToContainerPoint(l),Qe(document,{contextmenu:ys,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseMove:function(l){this._moved||(this._moved=!0,this._box=De("div","leaflet-zoom-box",this._container),We(this._container,"leaflet-crosshair"),this._map.fire("boxzoomstart")),this._point=this._map.mouseEventToContainerPoint(l);var d=new Xe(this._point,this._startPoint),m=d.getSize();we(this._box,d.min),this._box.style.width=m.x+"px",this._box.style.height=m.y+"px"},_finish:function(){this._moved&&(oe(this._box),H(this._container,"leaflet-crosshair")),he(),le(),Jt(document,{contextmenu:ys,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())}});Ni.addInitHook("addHandler","boxZoom",yL),Ni.mergeOptions({doubleClickZoom:!0});var SL=W.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)}});Ni.addInitHook("addHandler","doubleClickZoom",SL),Ni.mergeOptions({dragging:!0,inertia:!0,inertiaDeceleration:3400,inertiaMaxSpeed:1/0,easeLinearity:.2,worldCopyJump:!1,maxBoundsViscosity:0});var CL=W.extend({addHooks:function(){if(!this._draggable){var l=this._map;this._draggable=new fe(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))}We(this._map._container,"leaflet-grab leaflet-touch-drag"),this._draggable.enable(),this._positions=[],this._times=[]},removeHooks:function(){H(this._map._container,"leaflet-grab"),H(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=zt(this._map.options.maxBounds);this._offsetLimit=Nt(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,U=Math.abs(k+m)<Math.abs(P+m)?k:P;this._draggable._absPos=this._draggable._newPos.clone(),this._draggable._newPos.x=U},_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,U=m.easeLinearity,te=k.multiplyBy(U/P),ce=te.distanceTo([0,0]),Ve=Math.min(m.inertiaMaxSpeed,ce),Ot=te.multiplyBy(Ve/ce),bi=Ve/(m.inertiaDeceleration*U),Gi=Ot.multiplyBy(-bi/2).round();!Gi.x&&!Gi.y?d.fire("moveend"):(Gi=d._limitOffset(Gi,d.options.maxBounds),ve(function(){d.panBy(Gi,{duration:bi,easeLinearity:U,noMoveStart:!0,animate:!0})}))}}});Ni.addInitHook("addHandler","dragging",CL),Ni.mergeOptions({keyboard:!0,keyboardPanDelta:80});var xL=W.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"),Qe(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(),Jt(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(){Qe(document,"keydown",this._onKeyDown,this)},_removeHooks:function(){Jt(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=Oe(b).multiplyBy(3)),m.options.maxBounds&&(b=m._limitOffset(Oe(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;ys(l)}}});Ni.addInitHook("addHandler","keyboard",xL),Ni.mergeOptions({scrollWheelZoom:!0,wheelDebounceTime:40,wheelPxPerZoomLevel:60});var LL=W.extend({addHooks:function(){Qe(this._map._container,"wheel",this._onWheelScroll,this),this._delta=0},removeHooks:function(){Jt(this._map._container,"wheel",this._onWheelScroll,this)},_onWheelScroll:function(l){var d=Kr(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),ys(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,U=l._limitZoom(d+(this._delta>0?P:-P))-d;this._delta=0,this._startTime=null,U&&(l.options.scrollWheelZoom==="center"?l.setZoom(d+U):l.setZoomAround(this._lastMousePos,d+U))}});Ni.addInitHook("addHandler","scrollWheelZoom",LL);var XR=600;Ni.mergeOptions({tapHold:Ie.touchNative&&Ie.safari&&Ie.mobile,tapTolerance:15});var kL=W.extend({addHooks:function(){Qe(this._map._container,"touchstart",this._onDown,this)},removeHooks:function(){Jt(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()&&(Qe(document,"touchend",Xi),Qe(document,"touchend touchcancel",this._cancelClickPrevent),this._simulateEvent("contextmenu",d))},this),XR),Qe(document,"touchend touchcancel contextmenu",this._cancel,this),Qe(document,"touchmove",this._onMove,this)}},_cancelClickPrevent:function l(){Jt(document,"touchend",Xi),Jt(document,"touchend touchcancel",l)},_cancel:function(){clearTimeout(this._holdTimeout),Jt(document,"touchend touchcancel contextmenu",this._cancel,this),Jt(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)}});Ni.addInitHook("addHandler","tapHold",kL),Ni.mergeOptions({touchZoom:Ie.touch,bounceAtZoomLimits:!0});var IL=W.extend({addHooks:function(){We(this._map._container,"leaflet-touch-zoom"),Qe(this._map._container,"touchstart",this._onTouchStart,this)},removeHooks:function(){H(this._map._container,"leaflet-touch-zoom"),Jt(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(),Qe(document,"touchmove",this._onTouchMove,this),Qe(document,"touchend touchcancel",this._onTouchEnd,this),Xi(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),ot(this._animRequest);var U=r(d._move,d,this._center,this._zoom,{pinch:!0,round:!1},void 0);this._animRequest=ve(U,this,!0),Xi(l)}},_onTouchEnd:function(){if(!this._moved||!this._zooming){this._zooming=!1;return}this._zooming=!1,ot(this._animRequest),Jt(document,"touchmove",this._onTouchMove,this),Jt(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))}});Ni.addInitHook("addHandler","touchZoom",IL),Ni.BoxZoom=yL,Ni.DoubleClickZoom=SL,Ni.Drag=CL,Ni.Keyboard=xL,Ni.ScrollWheelZoom=LL,Ni.TapHold=kL,Ni.TouchZoom=IL,t.Bounds=Xe,t.Browser=Ie,t.CRS=ii,t.Canvas=_L,t.Circle=Fw,t.CircleMarker=lm,t.Class=Ct,t.Control=Yn,t.DivIcon=fL,t.DivOverlay=Jr,t.DomEvent=yl,t.DomUtil=wt,t.Draggable=fe,t.Evented=ei,t.FeatureGroup=wr,t.GeoJSON=Aa,t.GridLayer=Fg,t.Handler=W,t.Icon=nn,t.ImageOverlay=gm,t.LatLng=Rt,t.LatLngBounds=hi,t.Layer=Ns,t.LayerGroup=Xr,t.LineUtil=Ro,t.Map=Ni,t.Marker=am,t.Mixin=re,t.Path=Ll,t.Point=de,t.PolyUtil=Ui,t.Polygon=Eh,t.Polyline=Ra,t.Popup=fm,t.PosAnimation=Ma,t.Projection=Ih,t.Rectangle=wL,t.Renderer=Oa,t.SVG=Wg,t.SVGOverlay=gL,t.TileLayer=Th,t.Tooltip=pm,t.Transformation=vn,t.Util=Xt,t.VideoOverlay=uL,t.bind=r,t.bounds=Nt,t.canvas=vL,t.circle=OR,t.circleMarker=AR,t.control=ms,t.divIcon=$R,t.extend=n,t.featureGroup=Ow,t.geoJSON=hL,t.geoJson=WR,t.gridLayer=qR,t.icon=Ks,t.imageOverlay=BR,t.latLng=Dt,t.latLngBounds=zt,t.layerGroup=Aw,t.map=$s,t.marker=RR,t.point=Oe,t.polygon=HR,t.polyline=FR,t.popup=jR,t.rectangle=ZR,t.setOptions=y,t.stamp=c,t.svg=bL,t.svgOverlay=VR,t.tileLayer=pL,t.tooltip=UR,t.transformation=En,t.version=i,t.videoOverlay=zR;var YR=window.L;t.noConflict=function(){return window.L=YR,this},window.L=t}))})(pf,pf.exports)),pf.exports}var hG=dG();const Xg=pR(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",In=(o,e=iw)=>{var t=pG(),i=C(x(t),2),n=x(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></section>'),PG=R('<section id="sec-git" class="svelte-767znw"><h3 class="svelte-767znw">Git</h3> <div class="field field--check svelte-767znw"><span></span> <label class="check-label svelte-767znw"><input type="checkbox" class="svelte-767znw"/> <span class="checkmark svelte-767znw"></span> Auto-commit on save <!></label></div> <div class="field field--check svelte-767znw"><span></span> <label class="check-label svelte-767znw"><input type="checkbox" class="svelte-767znw"/> <span class="checkmark svelte-767znw"></span> Auto-push after commit <!></label></div></section>'),TG=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>'),MG=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>'),NG=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>'),RG=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>'),AG=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>'),OG=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>'),FG=R("<option> </option>"),HG=R('<span class="free-badge svelte-767znw">FREE</span> ',1),WG=R(' — <a target="_blank" rel="noreferrer" class="svelte-767znw">Get API key ↗</a>',1),BG=R("<div><!> <!></div>"),zG=R('<div class="field svelte-767znw"><label class="svelte-767znw">Base URL <!></label> <input type="text" class="svelte-767znw"/></div>'),VG=R('<div class="field svelte-767znw"><label class="svelte-767znw">API key <!></label> <input type="password" placeholder="sk-…" autocomplete="off" class="svelte-767znw"/></div>'),jG=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>'),UG=R('<div class="config-form svelte-767znw"><!> <!> <!> <!> <!> <!> <!> <!> <!> <!> <!></div>'),$G=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 qG(o,e){Po(e,!0),delete Xg.Icon.Default.prototype._getIconUrl,Xg.Icon.Default.mergeOptions({iconUrl:uG,iconRetinaUrl:gG,shadowUrl:fG});let t=z(wi(aG())),i=z("~/.she"),n=z("mqtt"),s=z(""),r=z(""),a=z(""),c=z(""),h=z(""),g=z(""),f=z("logic"),p=z("var"),v=z(!1),_=z(8080),y=z(""),S=z("none"),D=z(""),E=z("X-Remote-User"),N=z(""),V=z(!1),F=z(""),Y=z(""),X=z(""),ue=z(!1),Ee=z(!1),Ue=z(!1),ve=z(48.7408),ot=z(9.1778),Xt=z(!1),Ct=z(void 0),Qt=z(!1),Ft=z(null),ei=z("info"),de=z(""),xt=z(""),Oe=z(!1),Xe=z(!1),Nt=z("");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 zt=z("ollama"),Rt=z("ollama"),Dt=z(""),ii=z(""),mi=z("");const _n={};let Zi="ollama";function vn(j,pe){return j==="anthropic"?"anthropic":j==="ollama"?"ollama":pe?pe.includes("localhost:1234")?"lmstudio":pe.includes("groq.com")?"groq":pe.includes("googleapis.com")?"gemini":"openai":"openai"}function En(){_n[Zi]={baseUrl:u(Dt),model:u(ii),apiKey:u(mi)};const j=hi.find(Fe=>Fe.id===u(zt));if(!j)return;I(Rt,j.provider,!0);const pe=_n[u(zt)];I(Dt,(pe==null?void 0:pe.baseUrl)??j.baseUrl,!0),I(ii,(pe==null?void 0:pe.model)??j.defaultModel,!0),I(mi,(pe==null?void 0:pe.apiKey)??"",!0),Zi=u(zt)}const zi=rt(()=>hi.find(j=>j.id===u(zt)));let qn=z(wi({}));const dn=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"]);Mn(()=>{if(!u(Ct))return;const j=typeof u(ve)=="number"?u(ve):48.7408,pe=typeof u(ot)=="number"?u(ot):9.1778,Fe=Xg.map(u(Ct)).setView([j,pe],10);Xg.tileLayer("https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png",{attribution:'© <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a>'}).addTo(Fe);const ke=Xg.marker([j,pe],{draggable:!0}).addTo(Fe);I(Ft,ke,!0);const Me=Pe=>{I(ve,+Pe.lat.toFixed(6)),I(ot,+Pe.lng.toFixed(6))};return ke.on("dragend",()=>Me(ke.getLatLng())),Fe.on("click",Pe=>{ke.setLatLng(Pe.latlng),Me(Pe.latlng)}),()=>{I(Ft,null),Fe.remove()}}),Mn(()=>{!u(Ft)||u(ve)===""||u(ot)===""||u(Ft).setLatLng([Number(u(ve)),Number(u(ot))])});let Ln;function Wn(){if(!navigator.geolocation){Ln.show("Geolocation is not supported by this browser.",{alert:!0});return}I(Qt,!0),navigator.geolocation.getCurrentPosition(j=>{I(ve,+j.coords.latitude.toFixed(6)),I(ot,+j.coords.longitude.toFixed(6)),I(Qt,!1)},()=>{I(Qt,!1)})}let hn=z(!0),Kn=z(!1),Fn=z(""),Hn=z(""),Bn=z(""),un=z("appearance");const Ki=[{id:"appearance",label:"Appearance",terms:["theme","color","dark","light"]},{id:"auth",label:"Authentication",terms:["auth","password","login","proxy","header","nginx","authentik","secure"]},{id:"mqtt",label:"MQTT",terms:["broker","url","client","name","variable","prefix"]},{id:"webserver",label:"Web server",terms:["port","http","server","bind","address"]},{id:"scripts",label:"Scripts",terms:["directory","watch","hot reload","dir"]},{id:"git",label:"Git",terms:["git","auto commit","auto push","commit","push","repository"]},{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 Ti=rt(()=>Ki.filter(j=>{const pe=u(Bn).trim().toLowerCase();return!pe||j.label.toLowerCase().includes(pe)||j.terms.some(Fe=>Fe.includes(pe))}));function Ke(j){var pe;I(un,j,!0),(pe=document.getElementById("sec-"+j))==null||pe.scrollIntoView({behavior:"smooth",block:"start"})}vr(async()=>{try{const j=await gf();j.dataDir&&I(i,j.dataDir,!0)}catch{}try{const j=await G1();if(typeof j.url=="string"&&j.url)try{const ke=new URL(j.url);I(n,ke.protocol.replace(":",""),!0),I(s,ke.host,!0)}catch{I(s,j.url,!0)}typeof j.mqttUsername=="string"&&I(r,j.mqttUsername,!0),typeof j.mqttPassword=="string"&&I(a,j.mqttPassword,!0),typeof j.mqttCa=="string"&&I(c,j.mqttCa,!0),typeof j.mqttCert=="string"&&I(h,j.mqttCert,!0),typeof j.mqttKey=="string"&&I(g,j.mqttKey,!0),typeof j.name=="string"&&I(f,j.name,!0),typeof j.variablePrefix=="string"&&I(p,j.variablePrefix,!0),typeof j.disableVariables=="boolean"&&I(v,j.disableVariables,!0),typeof j.port=="number"&&I(_,j.port,!0),typeof j.bindAddress=="string"&&I(y,j.bindAddress,!0),typeof j.auth=="string"&&I(S,j.auth,!0),typeof j.proxyHeader=="string"&&I(E,j.proxyHeader,!0),typeof j.proxyLogoutUrl=="string"&&I(N,j.proxyLogoutUrl,!0),typeof j.dir=="string"&&I(X,j.dir,!0),typeof j.disableWatch=="boolean"&&I(ue,j.disableWatch,!0),typeof j.gitAutoCommit=="boolean"&&I(Ee,j.gitAutoCommit,!0),typeof j.gitAutoPush=="boolean"&&I(Ue,j.gitAutoPush,!0),typeof j.latitude=="number"&&I(ve,j.latitude,!0),typeof j.longitude=="number"&&I(ot,j.longitude,!0),typeof j.verbosity=="string"&&I(ei,j.verbosity,!0),typeof j.dbPath=="string"&&I(de,j.dbPath,!0),typeof j.dbPrefix=="string"&&I(xt,j.dbPrefix,!0),typeof j.dbPublish=="boolean"&&I(Oe,j.dbPublish,!0),typeof j.dbRetain=="boolean"&&I(Xe,j.dbRetain,!0);const pe=j.redis;pe!=null&&pe.url&&I(Nt,pe.url,!0);const Fe=j.ai;Fe!=null&&Fe.provider&&I(Rt,Fe.provider,!0),Fe!=null&&Fe.baseUrl&&I(Dt,Fe.baseUrl,!0),Fe!=null&&Fe.model&&I(ii,Fe.model,!0),Fe!=null&&Fe.apiKey&&I(mi,Fe.apiKey,!0),I(zt,vn(u(Rt),u(Dt)),!0),Zi=u(zt),I(qn,Object.fromEntries(Object.entries(j).filter(([ke])=>!dn.has(ke))),!0)}catch(j){I(Hn,j.message,!0)}finally{I(hn,!1)}});async function Mt(){if(I(Y,""),I(F,""),u(S)==="password"&&!u(D)){I(Y,"A password is required to enable password authentication.");return}I(V,!0);try{await K7(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(F,"Authentication settings saved.")}catch(j){I(Y,j.message,!0)}finally{I(V,!1)}}async function gi(){I(Hn,""),I(Fn,"");const j={...u(qn)};u(s)&&(j.url=`${u(n)}://${u(s)}`),j.name=u(f),j.variablePrefix=u(p),u(v)&&(j.disableVariables=!0),u(r)&&(j.mqttUsername=u(r)),u(a)&&(j.mqttPassword=u(a)),u(c)&&(j.mqttCa=u(c)),u(h)&&(j.mqttCert=u(h)),u(g)&&(j.mqttKey=u(g)),u(_)!==""&&(j.port=Number(u(_))),u(y)&&(j.bindAddress=u(y)),u(X)&&(j.dir=u(X)),u(ue)&&(j.disableWatch=!0),u(Ee)&&(j.gitAutoCommit=!0),u(Ue)&&(j.gitAutoPush=!0),u(ve)!==""&&(j.latitude=Number(u(ve))),u(ot)!==""&&(j.longitude=Number(u(ot))),j.verbosity=u(ei),u(de)&&(j.dbPath=u(de),u(xt)&&(j.dbPrefix=u(xt)),u(Oe)&&(j.dbPublish=!0,u(Xe)&&(j.dbRetain=!0))),u(Nt)&&(j.redis={url:u(Nt)}),u(Rt)&&(j.ai={provider:u(Rt),...u(Dt)?{baseUrl:u(Dt)}:{},...u(ii)?{model:u(ii)}:{},...u(mi)?{apiKey:u(mi)}:{}}),I(Kn,!0);try{const pe=await i8(j);window.dispatchEvent(new CustomEvent("she:config-changed")),I(Fn,pe.restartRequired?"Saved — restart required to apply changes.":"Saved.",!0)}catch(pe){I(Hn,pe.message,!0)}finally{I(Kn,!1)}}var Li=$G(),Ci=yt(Li);bs(Mg(Ci,{}),j=>Ln=j,()=>Ln);var on=C(Ci,2),ki=x(on),jn=x(ki),Pn=C(x(jn),2),Xn=C(jn,2);_i(Xn,21,()=>Ki,j=>j.id,(j,pe)=>{var Fe=Ts(),ke=yt(Fe);{var Me=Pt=>{var dt=mG();let Ie;var At=x(dt);Z(()=>{Ie=jt(dt,1,"section-link svelte-767znw",null,Ie,{active:u(un)===u(pe).id}),K(At,u(pe).label)}),ne("click",dt,()=>Ke(u(pe).id)),T(Pt,dt)},Pe=rt(()=>u(Ti).some(Pt=>Pt.id===u(pe).id));$(ke,Pt=>{u(Pe)&&Pt(Me)})}T(j,Fe)});var Tn=C(ki,2),rn=x(Tn),Be=C(x(rn),2);{var G=j=>{var pe=_G(),Fe=x(pe);Z(()=>K(Fe,u(Hn))),T(j,pe)};$(Be,j=>{u(Hn)&&j(G)})}var Re=C(Be,2);{var lt=j=>{var pe=vG(),Fe=x(pe);Z(()=>K(Fe,u(Fn))),T(j,pe)};$(Re,j=>{u(Fn)&&j(lt)})}var ct=C(Re,2),Wt=x(ct),O=C(rn,2);{var se=j=>{var pe=bG();T(j,pe)},be=j=>{var pe=UG(),Fe=x(pe);{var ke=oe=>{var ht=wG(),Ye=C(x(ht),2),Te=C(x(Ye),2),Tt=x(Te);Tt.value=Tt.__value="dark";var We=C(Tt);We.value=We.__value="light";var H=C(We);H.value=H.__value="system",ne("change",Te,()=>lG(u(t))),ga(Te,()=>u(t),Q=>I(t,Q)),T(oe,ht)},Me=rt(()=>u(Ti).some(oe=>oe.id==="appearance"));$(Fe,oe=>{u(Me)&&oe(ke)})}var Pe=C(Fe,2);{var Pt=oe=>{var ht=SG(),Ye=C(x(ht),2),Te=x(Ye),Tt=C(x(Te));In(Tt,()=>"Transport protocol. Use mqtts or wss for TLS encryption.");var We=C(Te,2),H=x(We);H.value=H.__value="mqtt";var Q=C(H);Q.value=Q.__value="mqtts";var Se=C(Q);Se.value=Se.__value="ws";var Ge=C(Se);Ge.value=Ge.__value="wss";var et=C(Ye,2),it=x(et),ft=C(x(it));In(ft,()=>"Hostname and optional port of the MQTT broker. Example: 192.168.1.1:1883. Leave empty to run without MQTT.");var we=C(it,2),vt=C(et,2),ut=x(vt),he=C(x(ut));In(he,()=>"MQTT broker username. Leave empty if the broker does not require authentication.");var bt=C(ut,2),Ze=C(vt,2),Le=x(Ze),le=C(x(Le));In(le,()=>"MQTT broker password. Stored in plain text in config.json.");var me=C(Le,2),Je=C(Ze,2);{var Ht=ci=>{var bn=yG(),Xi=yt(bn),ys=x(Xi),Mo=C(x(ys));In(Mo,()=>"PEM-encoded CA certificate to verify the broker's TLS certificate. Leave empty to use the system's default CA store.");var qr=C(ys,2),Ta=C(Xi,2),Kr=x(Ta),qo=C(x(Kr));In(qo,()=>"PEM-encoded client certificate for mutual TLS authentication.");var yl=C(Kr,2),Ma=C(Ta,2),Ni=x(Ma),$s=C(x(Ni));In($s,()=>"PEM-encoded private key matching the client certificate.");var Yn=C(Ni,2);Ei(qr,()=>u(c),ms=>I(c,ms)),Ei(yl,()=>u(h),ms=>I(h,ms)),Ei(Yn,()=>u(g),ms=>I(g,ms)),T(ci,bn)};$(Je,ci=>{(u(n)==="mqtts"||u(n)==="wss")&&ci(Ht)})}var ge=C(Je,2),qe=x(ge),gt=C(x(qe));In(gt,()=>'MQTT client ID and topic prefix used for the "connected" status message. Default: she');var wt=C(qe,2),Qe=C(ge,2),li=x(Qe),Jt=C(x(li));In(Jt,()=>"Topic prefix for the variable system (var/set/name → var/status/name). Default: var");var Un=C(li,2),tn=C(Qe,2),ri=C(x(tn),2),Vt=x(ri),an=C(Vt,4);In(an,()=>"When enabled, var/set/… messages are not processed and no var/status/… retained messages are published."),ga(We,()=>u(n),ci=>I(n,ci)),Ei(we,()=>u(s),ci=>I(s,ci)),Ei(bt,()=>u(r),ci=>I(r,ci)),Ei(me,()=>u(a),ci=>I(a,ci)),Ei(wt,()=>u(f),ci=>I(f,ci)),Ei(Un,()=>u(p),ci=>I(p,ci)),Es(Vt,()=>u(v),ci=>I(v,ci)),T(oe,ht)},dt=rt(()=>u(Ti).some(oe=>oe.id==="mqtt"));$(Pe,oe=>{u(dt)&&oe(Pt)})}var Ie=C(Pe,2);{var At=oe=>{var ht=IG(),Ye=C(x(ht),2),Te=x(Ye),Tt=C(x(Te));In(Tt,()=>"none: no authentication required. password: single-user password login. proxy: trust a header set by nginx/authentik.");var We=C(Te,2),H=x(We);H.value=H.__value="none";var Q=C(H);Q.value=Q.__value="password";var Se=C(Q);Se.value=Se.__value="proxy";var Ge=C(Ye,2);{var et=le=>{var me=CG(),Je=x(me),Ht=x(Je),ge=C(Ht);In(ge,()=>"Set a new password. Leave empty to keep the current password (if already set).");var qe=C(Je,2);Z(()=>K(Ht,`${u(D)?"New password":"Password"} `)),Ei(qe,()=>u(D),gt=>I(D,gt)),T(le,me)};$(Ge,le=>{u(S)==="password"&&le(et)})}var it=C(Ge,2);{var ft=le=>{var me=xG(),Je=yt(me),Ht=x(Je),ge=C(x(Ht));In(ge,()=>"The HTTP header that nginx/authentik sets after successful authentication. Default: X-Remote-User");var qe=C(Ht,2),gt=C(Je,2),wt=x(gt),Qe=C(x(wt));In(Qe,()=>"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 li=C(wt,2);Ei(qe,()=>u(E),Jt=>I(E,Jt)),Ei(li,()=>u(N),Jt=>I(N,Jt)),T(le,me)};$(it,le=>{u(S)==="proxy"&&le(ft)})}var we=C(it,2);{var vt=le=>{var me=LG(),Je=x(me);Z(()=>K(Je,u(Y))),T(le,me)};$(we,le=>{u(Y)&&le(vt)})}var ut=C(we,2);{var he=le=>{var me=kG(),Je=x(me);Z(()=>K(Je,u(F))),T(le,me)};$(ut,le=>{u(F)&&le(he)})}var bt=C(ut,2),Ze=C(x(bt),2),Le=x(Ze);Z(()=>{Ze.disabled=u(V)||u(S)==="password"&&!u(D),K(Le,u(V)?"Saving…":"Apply authentication settings")}),ga(We,()=>u(S),le=>I(S,le)),ne("click",Ze,Mt),T(oe,ht)},ni=rt(()=>u(Ti).some(oe=>oe.id==="auth"));$(Ie,oe=>{u(ni)&&oe(At)})}var qt=C(Ie,2);{var $t=oe=>{var ht=DG(),Ye=C(x(ht),2),Te=x(Ye),Tt=C(x(Te));In(Tt,()=>"HTTP server port. Use 0 to let the OS pick a free port. Default: 8080");var We=C(Te,2),H=C(Ye,2),Q=x(H),Se=C(x(Q));In(Se,()=>"Interface she listens on. Use 127.0.0.1 when running behind nginx (recommended with proxy auth). Default: 0.0.0.0");var Ge=C(Q,2);Ei(We,()=>u(_),et=>I(_,et)),Ei(Ge,()=>u(y),et=>I(y,et)),T(oe,ht)},ti=rt(()=>u(Ti).some(oe=>oe.id==="webserver"));$(qt,oe=>{u(ti)&&oe($t)})}var J=C(qt,2);{var _e=oe=>{var ht=EG(),Ye=C(x(ht),2),Te=x(Ye),Tt=C(x(Te));In(Tt,()=>"Directory that is watched for .js script files. Defaults to {dataDir}/scripts");var We=C(Te,2),H=C(Ye,2),Q=C(x(H),2),Se=x(Q),Ge=C(Se,4);In(Ge,()=>"When enabled the daemon will not watch for file changes and will not hot-reload scripts."),Z(()=>Rn(We,"placeholder",`${u(i)??""}/scripts (default)`)),Ei(We,()=>u(X),et=>I(X,et)),Es(Se,()=>u(ue),et=>I(ue,et)),T(oe,ht)},$e=rt(()=>u(Ti).some(oe=>oe.id==="scripts"));$(J,oe=>{u($e)&&oe(_e)})}var tt=C(J,2);{var It=oe=>{var ht=PG(),Ye=C(x(ht),2),Te=C(x(Ye),2),Tt=x(Te),We=C(Tt,4);In(We,()=>"When enabled, saving or renaming/deleting a script automatically creates a git commit. Only effective when the scripts directory is inside a git repository.");var H=C(Ye,2),Q=C(x(H),2),Se=x(Q),Ge=C(Se,4);In(Ge,()=>"When enabled, every commit (manual or automatic) is immediately pushed to the remote."),Es(Tt,()=>u(Ee),et=>I(Ee,et)),Es(Se,()=>u(Ue),et=>I(Ue,et)),T(oe,ht)},He=rt(()=>u(Ti).some(oe=>oe.id==="git"));$(tt,oe=>{u(He)&&oe(It)})}var nt=C(tt,2);{var Yt=oe=>{var ht=MG(),Ye=C(x(ht),2),Te=x(Ye),Tt=C(x(Te));In(Tt,()=>"Geographic latitude used for sunrise/sunset calculations. Default: 48.7408 (Stuttgart)");var We=C(Te,2),H=C(Ye,2),Q=x(H),Se=C(x(Q));In(Se,()=>"Geographic longitude used for sunrise/sunset calculations. Default: 9.1778 (Stuttgart)");var Ge=C(Q,2),et=C(H,2),it=C(x(et),2),ft=x(it),we=x(ft);{var vt=le=>{var me=Fr("…");T(le,me)},ut=le=>{var me=Fr("📍 Use my location");T(le,me)};$(we,le=>{u(Qt)?le(vt):le(ut,-1)})}var he=C(ft,2),bt=x(he),Ze=C(et,2);{var Le=le=>{var me=TG(),Je=C(x(me),2);bs(Je,Ht=>I(Ct,Ht),()=>u(Ct)),T(le,me)};$(Ze,le=>{u(Xt)&&le(Le)})}Z(()=>{ft.disabled=u(Qt),K(bt,u(Xt)?"Hide map":"Pick on map")}),Ei(We,()=>u(ve),le=>I(ve,le)),Ei(Ge,()=>u(ot),le=>I(ot,le)),ne("click",ft,Wn),ne("click",he,()=>I(Xt,!u(Xt))),T(oe,ht)},ai=rt(()=>u(Ti).some(oe=>oe.id==="solar"));$(nt,oe=>{u(ai)&&oe(Yt)})}var si=C(nt,2);{var Vi=oe=>{var ht=NG(),Ye=C(x(ht),2),Te=x(Ye),Tt=C(x(Te));In(Tt,()=>"Minimum log level. debug shows all messages including MQTT traffic details.");var We=C(Te,2),H=x(We);H.value=H.__value="debug";var Q=C(H);Q.value=Q.__value="info";var Se=C(Q);Se.value=Se.__value="warn";var Ge=C(Se);Ge.value=Ge.__value="error",ga(We,()=>u(ei),et=>I(ei,et)),T(oe,ht)},kn=rt(()=>u(Ti).some(oe=>oe.id==="logging"));$(si,oe=>{u(kn)&&oe(Vi)})}var Mi=C(si,2);{var oi=oe=>{var ht=AG(),Ye=C(x(ht),2),Te=x(Ye),Tt=C(x(Te));In(Tt,()=>"Path to the sheDB data directory. Defaults to {dataDir}/db. Leave empty to disable sheDB.");var We=C(Te,2),H=C(Ye,2),Q=x(H),Se=C(x(Q));In(Se,()=>"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 Ge=C(Q,2),et=C(H,2),it=C(x(et),2);let ft;var we=x(it),vt=C(we,4);In(vt,()=>'When enabled, every document change is published to {dbPrefix}doc/{id}. Individual views can publish independently via their own "mqttpub" setting.');var ut=C(et,2);{var he=bt=>{var Ze=RG(),Le=C(x(Ze),2);let le;var me=x(Le),Je=C(me,4);In(Je,()=>"When enabled, MQTT messages for document changes are published as retained messages."),Z(()=>{le=jt(Le,1,"check-label svelte-767znw",null,le,{muted:!u(de)}),me.disabled=!u(de)}),Es(me,()=>u(Xe),Ht=>I(Xe,Ht)),T(bt,Ze)};$(ut,bt=>{u(Oe)&&bt(he)})}Z(()=>{Rn(We,"placeholder",`defaults to ${u(i)??""}/db`),Ge.disabled=!u(de),ft=jt(it,1,"check-label svelte-767znw",null,ft,{muted:!u(de)}),we.disabled=!u(de)}),Ei(We,()=>u(de),bt=>I(de,bt)),Ei(Ge,()=>u(xt),bt=>I(xt,bt)),Es(we,()=>u(Oe),bt=>I(Oe,bt)),T(oe,ht)},ji=rt(()=>u(Ti).some(oe=>oe.id==="shedb"));$(Mi,oe=>{u(ji)&&oe(oi)})}var A=C(Mi,2);{var q=oe=>{var ht=OG(),Ye=C(x(ht),2),Te=x(Ye),Tt=C(x(Te));In(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 We=C(Te,2);Ei(We,()=>u(Nt),H=>I(Nt,H)),T(oe,ht)},xe=rt(()=>u(Ti).some(oe=>oe.id==="redis"));$(A,oe=>{u(xe)&&oe(q)})}var Ce=C(A,2);{var Ae=oe=>{var ht=jG(),Ye=C(x(ht),2),Te=x(Ye),Tt=C(x(Te));In(Tt,()=>"Choose a provider. Free options need a free API key from the provider's website — no credit card required.");var We=C(Te,2);_i(We,21,()=>hi,Nn,(he,bt)=>{var Ze=FG(),Le=x(Ze),le={};Z(()=>{K(Le,u(bt).label),le!==(le=u(bt).id)&&(Ze.value=(Ze.__value=u(bt).id)??"")}),T(he,Ze)});var H=C(Ye,2);{var Q=he=>{var bt=BG();let Ze;var Le=x(bt);{var le=Ht=>{var ge=HG(),qe=C(yt(ge));Z(()=>K(qe,` ${u(zi).freeNote??""}`)),T(Ht,ge)};$(Le,Ht=>{u(zi).freeNote&&Ht(le)})}var me=C(Le,2);{var Je=Ht=>{var ge=WG(),qe=C(yt(ge));Z(()=>Rn(qe,"href",u(zi).apiKeyUrl)),T(Ht,ge)};$(me,Ht=>{u(zi).apiKeyUrl&&Ht(Je)})}Z(()=>Ze=jt(bt,1,"preset-note svelte-767znw",null,Ze,{free:!!u(zi).freeNote})),T(he,bt)};$(H,he=>{var bt,Ze;((bt=u(zi))!=null&&bt.freeNote||(Ze=u(zi))!=null&&Ze.apiKeyUrl)&&he(Q)})}var Se=C(H,2);{var Ge=he=>{var bt=zG(),Ze=x(bt),Le=C(x(Ze));In(Le,()=>"Base URL of the LLM API. Auto-filled for cloud presets. For Ollama: http://localhost:11434.");var le=C(Ze,2);Z(()=>{var me;return Rn(le,"placeholder",u(zt)==="ollama"?"http://localhost:11434":u(zt)==="lmstudio"?"http://localhost:1234":((me=u(zi))==null?void 0:me.baseUrl)??"")}),Ei(le,()=>u(Dt),me=>I(Dt,me)),T(he,bt)};$(Se,he=>{u(zt)!=="anthropic"&&he(Ge)})}var et=C(Se,2),it=x(et),ft=C(x(it));In(ft,()=>"Model identifier. Suggested default is filled in when you choose a preset.");var we=C(it,2),vt=C(et,2);{var ut=he=>{var bt=VG(),Ze=x(bt),Le=C(x(Ze));In(Le,()=>"Stored in config.json. Not needed for local providers.");var le=C(Ze,2);Ei(le,()=>u(mi),me=>I(mi,me)),T(he,bt)};$(vt,he=>{u(zt)!=="ollama"&&u(zt)!=="lmstudio"&&he(ut)})}Z(()=>{var he;return Rn(we,"placeholder",((he=u(zi))==null?void 0:he.defaultModel)||"e.g. llama3.2")}),ne("change",We,En),ga(We,()=>u(zt),he=>I(zt,he)),Ei(we,()=>u(ii),he=>I(ii,he)),T(oe,ht)},De=rt(()=>u(Ti).some(oe=>oe.id==="ai"));$(Ce,oe=>{u(De)&&oe(Ae)})}T(j,pe)};$(O,j=>{u(hn)?j(se):j(be,-1)})}Z(()=>{ct.disabled=u(Kn),K(Wt,u(Kn)?"Saving…":"Save")}),Ei(Pn,()=>u(Bn),j=>I(Bn,j)),ne("click",ct,gi),T(o,Li),To()}_r(["click","change"]);var KG=R("<option> </option>"),GG=R('<div><span class="ts svelte-18loop9"> </span> <span class="lvl svelte-18loop9"> </span> <span class="msg svelte-18loop9"> </span></div>'),ZG=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 XG(o,e){Po(e,!0);let t=z(wi(y8())),i,n=z(!0),s=z("all"),r=z(""),a=z(!1);const c=["all","debug","info","warn","error"],h={debug:0,info:1,warn:2,error:3};fR(X=>{I(t,[...u(t).slice(-1999),X],!0)}),vr(()=>{i&&(i.scrollTop=i.scrollHeight)}),Mn(()=>{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=ZG(),_=x(v),y=C(x(_),2);_i(y,21,()=>c,Nn,(X,ue)=>{var Ee=KG(),Ue=x(Ee),ve={};Z(()=>{K(Ue,u(ue)),ve!==(ve=u(ue))&&(Ee.value=(Ee.__value=u(ue))??"")}),T(X,Ee)});var S=C(y,2),D=C(S,2),E=x(D),N=C(D,2),V=x(N),F=C(N,2),Y=C(_,2);_i(Y,21,()=>u(t).filter(f),X=>X.ts+X.msg,(X,ue)=>{var Ee=GG(),Ue=x(Ee),ve=x(Ue),ot=C(Ue,2),Xt=x(ot),Ct=C(ot,2),Qt=x(Ct);Z((Ft,ei)=>{jt(Ee,1,`line ${u(ue).level??""}`,"svelte-18loop9"),K(ve,Ft),K(Xt,ei),K(Qt,u(ue).msg)},[()=>p(u(ue).ts),()=>u(ue).level.toUpperCase()]),T(X,Ee)}),bs(Y,X=>i=X,()=>i),ga(y,()=>u(s),X=>I(s,X)),Ei(S,()=>u(r),X=>I(r,X)),Es(E,()=>u(a),X=>I(a,X)),Es(V,()=>u(n),X=>I(n,X)),ne("click",F,g),T(o,v),To()}_r(["click"]);var YG=R('<span class="chat-model svelte-1twuiul"><!></span>'),JG=R('<button class="clear-btn svelte-1twuiul" title="Clear conversation">✕</button>'),QG=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>'),e9=R('Working on view <code class="svelte-1twuiul"> </code>',1),t9=R('<button class="chip svelte-1twuiul"> </button>'),i9=R('<div class="suggestions svelte-1twuiul"><p class="suggestions-hint svelte-1twuiul"><!></p> <!></div>'),n9=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>'),s9=R('<button class="expand-btn svelte-1twuiul"> </button>'),o9=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>'),r9=R('<div class="apply-view-row svelte-1twuiul"><button class="apply-view-btn svelte-1twuiul"> </button></div>'),a9=R('<!> <div class="msg-content svelte-1twuiul"><!> <!></div>',1),l9=R("<div><!></div>"),c9=R('<div class="message assistant svelte-1twuiul"><div class="msg-content svelte-1twuiul"><span class="status-shimmer svelte-1twuiul"> </span></div></div>'),d9=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>'),h9=R('<div class="message assistant streaming svelte-1twuiul"><div class="msg-content svelte-1twuiul"></div></div>'),u9=R('<div class="chat-error svelte-1twuiul"> </div>'),g9=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>'),f9=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>'),p9=R('<button class="stop-btn svelte-1twuiul" title="Stop generation">■</button>'),m9=R('<button class="send-btn svelte-1twuiul">↑</button>'),_9=R('<option class="svelte-1twuiul"> </option>'),v9=R('<select class="model-select svelte-1twuiul"></select>'),b9=R('<span class="model-name svelte-1twuiul"> </span>'),w9=R('<button class="info-btn svelte-1twuiul" title="Model info">ℹ</button>'),y9=R('<div class="model-bar svelte-1twuiul"><span class="model-provider svelte-1twuiul"> </span> <!> <!></div>'),S9=R('<p class="info-status svelte-1twuiul">Loading…</p>'),C9=R('<p class="info-status info-err svelte-1twuiul"> </p>'),x9=R('<dt class="svelte-1twuiul">Ollama version</dt><dd class="svelte-1twuiul"> </dd>',1),L9=R('<dt class="svelte-1twuiul">Family</dt><dd class="svelte-1twuiul"> </dd>',1),k9=R('<dt class="svelte-1twuiul">Parameters</dt><dd class="svelte-1twuiul"> </dd>',1),I9=R('<dt class="svelte-1twuiul">Quantization</dt><dd class="svelte-1twuiul"> </dd>',1),D9=R('<div class="running-model svelte-1twuiul"> </div>'),E9=R('<dt class="svelte-1twuiul">Loaded</dt> <dd class="svelte-1twuiul"></dd>',1),P9=R('<dt class="svelte-1twuiul">Loaded</dt><dd class="dim svelte-1twuiul">Not in memory</dd>',1),T9=R('<dl class="svelte-1twuiul"><!> <!> <!> <!> <!></dl>'),M9=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>'),N9=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 R9(o,e){Po(e,!0),Fv.registerLanguage("javascript",bR),Dn.use({breaks:!0,gfm:!0});let t=ng(e,"currentView",3,null);const i="she:viewchat:messages";let n=z(wi(JSON.parse(localStorage.getItem(i)??"[]"))),s=z(null),r=z(""),a=z(!1),c=z(""),h=z(null),g=z(wi([])),f=z(wi(localStorage.getItem("she:selectedModel")??""));Mn(()=>{localStorage.setItem(i,JSON.stringify(u(n)))});let p=z(wi(new Set)),v=z(!1),_=z(null),y=z(!1),S=z(""),D=null,E=z(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 V=z(!0),F=z(!0),Y=z(!0),X=z(wi([])),ue=z(!0),Ee=z(!1),Ue,ve=z(wi([])),ot=z(0),Xt,Ct;const Qt=rt(()=>({apiref:!1,shedb:u(V),sampleDocs:u(F),tools:u(Y)})),Ft=rt(()=>{var A;return((A=u(h))==null?void 0:A.configured)??!1}),ei=rt(()=>u(ot)+new TextEncoder().encode(u(r)).length),de=rt(()=>u(ue)?t():null);async function xt(){try{const A=await lR();I(h,A,!0),A.configured&&!u(f)&&I(f,A.model,!0)}catch{}}Mn(()=>(window.addEventListener("she:config-changed",xt),()=>window.removeEventListener("she:config-changed",xt))),vr(()=>{xt()}),Mn(()=>{u(f)&&localStorage.setItem("she:selectedModel",u(f))}),Mn(()=>{var A;(A=u(h))!=null&&A.provider&&cR().then(q=>{I(g,q.models,!0),!u(f)&&q.models.length>0&&I(f,q.models[0],!0)}).catch(()=>{})}),Mn(()=>{u(f),I(_,null),I(S,"")}),Mn(()=>{const A=u(Qt),q=u(de),xe=u(X);u(Ft)&&hR({context:A,currentView:q??null,extraFiles:xe.length>0?xe:void 0}).then(Ce=>{I(ot,new TextEncoder().encode(Ce.prompt).length,!0)}).catch(()=>{})}),Mn(()=>{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)}),Mn(()=>{var A;Ct&&(u(n).length+(((A=u(s))==null?void 0:A.length)??0),requestAnimationFrame(()=>{Ct&&(Ct.scrollTop=Ct.scrollHeight)}))});function Oe(A){const q=[],xe=/```(\w*)\n([\s\S]*?)```/g;let Ce=0,Ae;for(;(Ae=xe.exec(A))!==null;)Ae.index>Ce&&q.push({type:"text",text:A.slice(Ce,Ae.index)}),q.push({type:"code",lang:Ae[1]||"text",text:Ae[2].trimEnd()}),Ce=Ae.index+Ae[0].length;return Ce<A.length&&q.push({type:"text",text:A.slice(Ce)}),q}function Xe(A){const q=[],xe=/```(\w*)\n([\s\S]*?)```/g;let Ce=0,Ae;for(;(Ae=xe.exec(A))!==null;)Ae.index>Ce&&q.push({type:"text",text:A.slice(Ce,Ae.index)}),q.push({type:"code",lang:Ae[1]||"text",text:Ae[2].trimEnd()}),Ce=Ae.index+Ae[0].length;const De=A.slice(Ce),oe=De.match(/```(\w*)\n([\s\S]*)$/);return oe?(oe.index>0&&q.push({type:"text",text:De.slice(0,oe.index)}),q.push({type:"code",lang:oe[1]||"text",text:oe[2]})):De&&q.push({type:"text",text:De}),q}function Nt(A){const q={};for(const xe of A)if(xe.type==="code"){if(xe.lang==="filter")q.filter=xe.text.trim();else if(Zi(xe.lang)){const Ce=xe.text.split(`
|
|
218
|
+
`)[0].trim();Ce==="// @view-map"?q.map=xe.text.split(`
|
|
219
|
+
`).slice(1).join(`
|
|
220
|
+
`).trim():Ce==="// @view-reduce"&&(q.reduce=xe.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 zt(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 Rt=15;function Dt(A){return A.split(`
|
|
223
|
+
`).length>Rt}function ii(A){const q=new Set(u(p));q.has(A)?q.delete(A):q.add(A),I(p,q,!0)}function mi(A,q){if(Zi(q))try{return Fv.highlight(A,{language:"javascript"}).value}catch{}return A.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">")}function _n(A){return Dn.parse(A)}function Zi(A){return!A||A==="js"||A==="javascript"}function vn(A){navigator.clipboard.writeText(A).catch(()=>{})}async function En(){if(I(v,!0),!(u(_)||u(y))){I(y,!0),I(S,"");try{I(_,await dR(u(f)||u(h).model),!0)}catch(A){I(S,A.message,!0)}I(y,!1)}}function zi(A){return A>=1e9?`${(A/1e9).toFixed(1)} GB`:A>=1e6?`${(A/1e6).toFixed(0)} MB`:`${A} B`}function qn(A){const q=A.match(/\.([^.]+)$/);return q?q[1].toUpperCase():"?"}function dn(A){switch(A){case"SH":case"BASH":return"$";case"MD":case"MARKDOWN":return"↓";case"JSON":case"JSONC":return"{}";default:return A}}function Ln(A){I(X,u(X).filter((q,xe)=>xe!==A),!0)}function Wn(){Ue.click()}async function hn(A){if(!(!A||A.length===0))for(const q of Array.from(A)){const xe=await q.text();I(X,[...u(X),{name:q.name,content:xe}],!0)}}function Kn(A){const q=A.target;hn(q.files),q.value=""}function Fn(A){var q;A.preventDefault(),I(Ee,!1),hn(((q=A.dataTransfer)==null?void 0:q.files)??null)}function Hn(A){var q;(q=A.dataTransfer)!=null&&q.types.includes("Files")&&(A.preventDefault(),I(Ee,!0))}function Bn(){I(Ee,!1)}async function un(){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(ve,[],!0);try{await uR({messages:u(n),currentView:u(de),context:u(Qt),modelOverride:u(f)||void 0,extraFiles:u(X).length>0?u(X):void 0},q=>{I(s,(u(s)??"")+q)},D.signal,q=>{I(ve,[...u(ve),q],!0)}),I(n,[...u(n),{role:"assistant",content:u(s)??"",toolEvents:u(ve).length>0?[...u(ve)]:void 0}],!0),I(ve,[],!0)}catch(q){if(q.name==="AbortError"){const xe=u(s);xe!=null&&xe.trim()&&I(n,[...u(n),{role:"assistant",content:xe+`
|
|
224
|
+
|
|
225
|
+
*[stopped]*`,toolEvents:u(ve).length>0?[...u(ve)]:void 0}],!0)}else I(c,q.message,!0)}finally{D=null,I(s,null),I(ve,[],!0),I(a,!1)}}}function Ki(){D==null||D.abort()}function Ti(A){A.key==="Enter"&&!A.shiftKey&&(A.preventDefault(),un())}function Ke(){I(n,[],!0),I(c,"")}const Mt=["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 gi(A){I(r,A,!0),Xt==null||Xt.focus()}var Li=N9(),Ci=yt(Li),on=x(Ci),ki=C(x(on),2);{var jn=A=>{var q=YG(),xe=x(q);{var Ce=De=>{var oe=Fr();Z(()=>K(oe,`${u(h).provider??""} · ${(u(f)||u(h).model)??""}`)),T(De,oe)},Ae=De=>{var oe=Fr("Not configured");T(De,oe)};$(xe,De=>{u(Ft)?De(Ce):De(Ae,-1)})}Z(()=>Rn(q,"title",`Provider: ${u(h).provider??""}`)),T(A,q)};$(ki,A=>{u(h)&&A(jn)})}var Pn=C(ki,2);{var Xn=A=>{var q=JG();ne("click",q,Ke),T(A,q)};$(Pn,A=>{u(n).length>0&&A(Xn)})}var Tn=C(on,2),rn=x(Tn);{var Be=A=>{var q=QG();T(A,q)},G=A=>{var q=i9(),xe=x(q),Ce=x(xe);{var Ae=ht=>{var Ye=e9(),Te=C(yt(Ye)),Tt=x(Te);Z(()=>K(Tt,t().id)),T(ht,Ye)},De=ht=>{var Ye=Fr("No view selected. Ask a general sheDB view question.");T(ht,Ye)};$(Ce,ht=>{t()?ht(Ae):ht(De,-1)})}var oe=C(xe,2);_i(oe,17,()=>Mt,Nn,(ht,Ye)=>{var Te=t9(),Tt=x(Te);Z(()=>K(Tt,u(Ye))),ne("click",Te,()=>gi(u(Ye))),T(ht,Te)}),T(A,q)};$(rn,A=>{u(Ft)?u(n).length===0&&u(s)===null&&A(G,1):A(Be)})}var Re=C(rn,2);_i(Re,17,()=>u(n),Nn,(A,q,xe)=>{var Ce=l9(),Ae=x(Ce);{var De=ht=>{var Ye=n9(),Te=x(Ye);Z(()=>K(Te,u(q).content)),T(ht,Ye)},oe=ht=>{const Ye=rt(()=>Oe(u(q).content)),Te=rt(()=>Nt(u(Ye)));var Tt=a9(),We=yt(Tt);{var H=ft=>{var we=FD();_i(we,21,()=>u(q).toolEvents,Nn,(vt,ut)=>{var he=Ts(),bt=yt(he);{var Ze=le=>{var me=AD(),Je=C(x(me)),Ht=x(Je);Z(ge=>K(Ht,ge),[()=>u(ut).name.replace(/_/g," ")]),T(le,me)},Le=le=>{var me=OD(),Je=C(x(me)),Ht=x(Je);Z(ge=>K(Ht,ge),[()=>u(ut).name.replace(/_/g," ")]),T(le,me)};$(bt,le=>{u(ut).type==="tool_call"?le(Ze):le(Le,-1)})}T(vt,he)}),T(ft,we)};$(We,ft=>{var we;(we=u(q).toolEvents)!=null&&we.length&&ft(H)})}var Q=C(We,2),Se=x(Q);_i(Se,17,()=>u(Ye),Nn,(ft,we,vt)=>{var ut=Ts(),he=yt(ut);{var bt=Le=>{var le=HD();jl(le,()=>_n(u(we).text),!0),T(Le,le)},Ze=Le=>{const le=rt(()=>`${xe}:${vt}`),me=rt(()=>Dt(u(we).text)),Je=rt(()=>u(p).has(u(le))),Ht=rt(()=>u(we).lang==="filter");var ge=o9(),qe=x(ge),gt=x(qe),wt=x(gt),Qe=C(gt,2),li=x(Qe),Jt=C(qe,2);let Un;var tn=x(Jt),ri=x(tn);jl(ri,()=>mi(u(we).text,u(we).lang??""),!0);var Vt=C(tn,2);{var an=ci=>{var bn=s9(),Xi=x(bn);Z(()=>K(Xi,u(Je)?"▲ collapse":"▼ expand")),ne("click",bn,()=>ii(u(le))),T(ci,bn)};$(Vt,ci=>{u(me)&&ci(an)})}Z(()=>{K(wt,u(Ht)?"filter":u(we).lang),Un=jt(Jt,1,"code-body svelte-1twuiul",null,Un,{collapsed:u(me)&&!u(Je)})}),ne("click",li,()=>vn(u(we).text)),T(Le,ge)};$(he,Le=>{u(we).type==="text"?Le(bt):Le(Ze,-1)})}T(ft,ut)});var Ge=C(Se,2);{var et=ft=>{var we=r9(),vt=x(we),ut=x(vt);Z(he=>K(ut,he),[()=>zt(u(Te))]),ne("click",vt,()=>e.onApplyView(u(Te))),T(ft,we)},it=rt(()=>hi(u(Te))&&e.onApplyView);$(Ge,ft=>{u(it)&&ft(et)})}T(ht,Tt)};$(Ae,ht=>{u(q).role==="user"?ht(De):ht(oe,-1)})}Z(()=>jt(Ce,1,`message ${u(q).role??""}`,"svelte-1twuiul")),T(A,Ce)});var lt=C(Re,2);{var ct=A=>{var q=FD();_i(q,21,()=>u(ve),Nn,(xe,Ce)=>{var Ae=Ts(),De=yt(Ae);{var oe=Ye=>{var Te=AD(),Tt=C(x(Te)),We=x(Tt);Z(H=>K(We,H),[()=>u(Ce).name.replace(/_/g," ")]),T(Ye,Te)},ht=Ye=>{var Te=OD(),Tt=C(x(Te)),We=x(Tt);Z(H=>K(We,H),[()=>u(Ce).name.replace(/_/g," ")]),T(Ye,Te)};$(De,Ye=>{u(Ce).type==="tool_call"?Ye(oe):Ye(ht,-1)})}T(xe,Ae)}),T(A,q)};$(lt,A=>{u(ve).length>0&&A(ct)})}var Wt=C(lt,2);{var O=A=>{var q=c9(),xe=x(q),Ce=x(xe),Ae=x(Ce);Z(()=>K(Ae,N[u(E)])),T(A,q)};$(Wt,A=>{u(a)&&u(s)===null&&u(ve).length===0&&A(O)})}var se=C(Wt,2);{var be=A=>{var q=h9(),xe=x(q);_i(xe,21,()=>Xe(u(s)),Nn,(Ce,Ae)=>{var De=Ts(),oe=yt(De);{var ht=Te=>{var Tt=HD();jl(Tt,()=>_n(u(Ae).text),!0),T(Te,Tt)},Ye=Te=>{var Tt=d9(),We=x(Tt),H=x(We),Q=x(H),Se=C(We,2),Ge=x(Se);jl(Ge,()=>mi(u(Ae).text,u(Ae).lang??""),!0),Z(()=>K(Q,u(Ae).lang)),T(Te,Tt)};$(oe,Te=>{u(Ae).type==="text"?Te(ht):Te(Ye,-1)})}T(Ce,De)}),T(A,q)};$(se,A=>{u(s)!==null&&A(be)})}bs(Tn,A=>Ct=A,()=>Ct);var j=C(Tn,2);{var pe=A=>{var q=u9(),xe=x(q);Z(()=>K(xe,u(c))),T(A,q)};$(j,A=>{u(c)&&A(pe)})}var Fe=C(j,2),ke=x(Fe),Me=x(ke),Pe=C(ke,2),Pt=x(Pe),dt=C(Pe,2),Ie=x(dt),At=C(dt,2),ni=x(At),qt=C(Fe,2),$t=x(qt);{var ti=A=>{var q=g9();let xe;var Ce=C(x(q),2),Ae=x(Ce),De=C(Ce,2),oe=x(De);Z(()=>{xe=jt(q,1,"file-chip svelte-1twuiul",null,xe,{inactive:!u(ue)}),K(Ae,t().id),Rn(De,"title",u(ue)?"Remove from context":"Re-add to context"),K(oe,u(ue)?"×":"+")}),ne("click",De,()=>I(ue,!u(ue))),T(A,q)};$($t,A=>{t()&&A(ti)})}var J=C($t,2);_i(J,17,()=>u(X),Nn,(A,q,xe)=>{const Ce=rt(()=>qn(u(q).name));var Ae=f9(),De=x(Ae),oe=x(De),ht=C(De,2),Ye=x(ht),Te=C(ht,2);Z((Tt,We)=>{jt(De,1,`badge badge-${Tt??""}`,"svelte-1twuiul"),K(oe,We),K(Ye,u(q).name)},[()=>u(Ce).toLowerCase(),()=>dn(u(Ce))]),ne("click",Te,()=>Ln(xe)),T(A,Ae)});var _e=C(J,2),$e=C(_e,2);bs($e,A=>Ue=A,()=>Ue);var tt=C(qt,2);let It;var He=x(tt);let nt;var Yt=x(He);bs(Yt,A=>Xt=A,()=>Xt);var ai=C(He,2);{var si=A=>{var q=p9();ne("click",q,Ki),T(A,q)},Vi=A=>{var q=m9();Z(xe=>q.disabled=xe,[()=>!u(r).trim()||!u(Ft)]),ne("click",q,un),T(A,q)};$(ai,A=>{u(a)?A(si):A(Vi,-1)})}var kn=C(tt,2);{var Mi=A=>{var q=y9(),xe=x(q),Ce=x(xe),Ae=C(xe,2);{var De=Te=>{var Tt=v9();_i(Tt,21,()=>u(g),Nn,(We,H)=>{var Q=_9(),Se=x(Q),Ge={};Z(()=>{K(Se,u(H)),Ge!==(Ge=u(H))&&(Q.value=(Q.__value=u(H))??"")}),T(We,Q)}),Z(()=>Tt.disabled=u(a)),ga(Tt,()=>u(f),We=>I(f,We)),T(Te,Tt)},oe=Te=>{var Tt=b9(),We=x(Tt);Z(()=>K(We,u(f)||u(h).model)),T(Te,Tt)};$(Ae,Te=>{u(g).length>0?Te(De):Te(oe,-1)})}var ht=C(Ae,2);{var Ye=Te=>{var Tt=w9();ne("click",Tt,En),T(Te,Tt)};$(ht,Te=>{u(h).provider==="ollama"&&Te(Ye)})}Z(()=>K(Ce,u(h).provider)),T(A,q)};$(kn,A=>{u(Ft)&&u(h)&&A(Mi)})}var oi=C(Ci,2);{var ji=A=>{var q=M9(),xe=x(q),Ce=x(xe),Ae=x(Ce),De=x(Ae),oe=C(Ae,2),ht=C(Ce,2),Ye=x(ht);{var Te=H=>{var Q=S9();T(H,Q)},Tt=H=>{var Q=C9(),Se=x(Q);Z(()=>K(Se,u(S))),T(H,Q)},We=H=>{var Q=T9(),Se=x(Q);{var Ge=Le=>{var le=x9(),me=C(yt(le)),Je=x(me);Z(()=>K(Je,u(_).version)),T(Le,le)};$(Se,Le=>{u(_).version&&Le(Ge)})}var et=C(Se,2);{var it=Le=>{var le=L9(),me=C(yt(le)),Je=x(me);Z(()=>K(Je,u(_).details.family)),T(Le,le)};$(et,Le=>{var le;(le=u(_).details)!=null&&le.family&&Le(it)})}var ft=C(et,2);{var we=Le=>{var le=k9(),me=C(yt(le)),Je=x(me);Z(()=>K(Je,u(_).details.parameter_size)),T(Le,le)};$(ft,Le=>{var le;(le=u(_).details)!=null&&le.parameter_size&&Le(we)})}var vt=C(ft,2);{var ut=Le=>{var le=I9(),me=C(yt(le)),Je=x(me);Z(()=>K(Je,u(_).details.quantization_level)),T(Le,le)};$(vt,Le=>{var le;(le=u(_).details)!=null&&le.quantization_level&&Le(ut)})}var he=C(vt,2);{var bt=Le=>{var le=E9(),me=C(yt(le),2);_i(me,21,()=>u(_).running,Nn,(Je,Ht)=>{var ge=D9(),qe=x(ge);Z(gt=>K(qe,`${u(Ht).name??""} · ${gt??""} VRAM`),[()=>zi(u(Ht).size_vram)]),T(Je,ge)}),T(Le,le)},Ze=Le=>{var le=P9();T(Le,le)};$(he,Le=>{u(_).running&&u(_).running.length>0?Le(bt):u(_).running!==null&&Le(Ze,1)})}T(H,Q)};$(Ye,H=>{u(y)?H(Te):u(S)?H(Tt,1):u(_)&&H(We,2)})}Z(()=>{var H;return K(De,`Ollama · ${(u(f)||((H=u(h))==null?void 0:H.model))??""}`)}),ne("click",q,()=>I(v,!1)),ne("click",xe,H=>H.stopPropagation()),ne("click",oe,()=>I(v,!1)),T(A,q)};$(oi,A=>{u(v)&&A(ji)})}Z(A=>{K(ni,A),It=jt(tt,1,"input-row svelte-1twuiul",null,It,{"drag-over":u(Ee)}),nt=jt(He,1,"textarea-wrap svelte-1twuiul",null,nt,{loading:u(a)}),Rn(Yt,"placeholder",u(Ft)?"Ask anything… (Enter to send, Shift+Enter for newline, drag & drop files to add context)":"AI not configured"),Yt.disabled=u(a)||!u(Ft)},[()=>zi(u(ei))]),Es(Me,()=>u(V),A=>I(V,A)),Es(Pt,()=>u(F),A=>I(F,A)),Es(Ie,()=>u(Y),A=>I(Y,A)),ne("click",_e,Wn),ne("change",$e,Kn),is("dragover",tt,Hn),is("dragleave",tt,Bn),is("drop",tt,Fn),ne("keydown",Yt,Ti),Ei(Yt,()=>u(r),A=>I(r,A)),T(o,Li),To()}_r(["click","change","keydown"]);var A9=R('<div class="me svelte-1pxdb1"></div>');function By(o,e){Po(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=Wa.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()),Mn(()=>{!s||s.getValue()===t()||(r=!0,s.setValue(t()),r=!1)});var a=A9();bs(a,c=>n=c,()=>n),T(o,a),To()}var O9=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 — 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),F9=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>'),H9=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>'),W9=R('<div class="monaco-doc-wrap svelte-rrt0o"><!></div>'),B9=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),z9=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>'),V9=R('<div class="new-item-form svelte-rrt0o"><input placeholder="myView" class="svelte-rrt0o"/> <button class="svelte-rrt0o">Create</button></div> <!>',1),j9=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>'),U9=R('<span class="badge-error svelte-rrt0o">error</span>'),$9=R('<span class="badge-ok svelte-rrt0o"> </span>'),q9=R('<pre class="result-error svelte-rrt0o"> </pre>'),K9=R('<pre class="result-json svelte-rrt0o"> </pre>'),G9=R('<div class="view-result svelte-rrt0o"><div class="result-header svelte-rrt0o">Result <!></div> <!></div>'),Z9=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 · 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>'),X9=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),Y9=R('<div class="chat-resize-handle svelte-rrt0o" role="separator"></div> <div class="chat-pane svelte-rrt0o"><!></div>',1),J9=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>'),Q9=R('<div class="db-root svelte-rrt0o" role="presentation"><div class="panel-tabs svelte-rrt0o"><button>Documents</button> <button>Views</button> <!></div> <!></div>');function eZ(o,e){Po(e,!0);const t=Be=>{var G=O9(),Re=yt(G);bs(Mg(Re,{}),lt=>dn=lt,()=>dn),T(Be,G)};let i=z(wi([])),n=z(null),s=z("{}"),r=z(!1),a=z(null);const c="she-db-selected-view";let h=z(wi([])),g=z(wi(localStorage.getItem(c))),f=z("#"),p=z("// emit(this.someProperty)"),v=z(""),_=z(""),y=z(!1),S=z(!1),D=z(null),E=z(!1),N=z(null),V=z("she/db/view/");const F="she-db-panel";let Y=z(wi(localStorage.getItem(F)??"docs")),X=z(""),ue=z(!1),Ee=z(null),Ue=z(""),ve=z(!1),ot=z(null);const Xt="she-db-sidebar-width";let Ct=z(wi(parseInt(localStorage.getItem(Xt)??"220",10))),Qt=!1,Ft=0,ei=0;const de="she-db-chat-width",xt="she-db-chat-open";let Oe=z(localStorage.getItem(xt)==="true"),Xe=z(wi(parseInt(localStorage.getItem(de)??"320",10))),Nt=!1,hi=0,zt=0;const Rt=rt(()=>u(g)?{id:u(g),filter:u(f),map:u(p),reduce:u(v)}:null);function Dt(Be){Be.filter!==void 0&&I(f,Be.filter,!0),Be.map!==void 0&&I(p,Be.map,!0),Be.reduce!==void 0&&I(v,Be.reduce,!0)}Mn(()=>{localStorage.setItem(xt,String(u(Oe)))}),Mn(()=>{localStorage.setItem(F,u(Y))}),Mn(()=>{u(g)?localStorage.setItem(c,u(g)):localStorage.removeItem(c)});function ii(Be){Qt=!0,Ft=Be.clientX,ei=u(Ct),Be.preventDefault()}function mi(Be){Qt&&I(Ct,Math.max(140,Math.min(500,ei+Be.clientX-Ft)),!0),Nt&&I(Xe,Math.max(240,Math.min(600,zt-(Be.clientX-hi))),!0)}function _n(){Qt&&(Qt=!1,localStorage.setItem(Xt,String(u(Ct)))),Nt&&(Nt=!1,localStorage.setItem(de,String(u(Xe))))}function Zi(Be){Nt=!0,hi=Be.clientX,zt=u(Xe),Be.preventDefault()}async function vn(){try{I(i,await sR(),!0)}catch{}}async function En(){try{I(h,await oR(),!0)}catch{}}async function zi(Be){I(n,Be,!0),I(a,null),I(r,!0);try{const G=await n8(Be);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 qn(){if(u(n)){I(a,null);try{const Be=JSON.parse(u(s));await dD(u(n),Be)}catch(Be){I(a,Be instanceof Error?Be.message:String(Be),!0)}}}let dn;async function Ln(){if(u(n)&&await dn.show(`Delete document "${u(n)}"?`,{confirm:"Delete",danger:!0}))try{await s8(u(n)),I(n,null),I(s,"{}")}catch(Be){I(a,Be instanceof Error?Be.message:String(Be),!0)}}async function Wn(){const Be=u(X).trim();if(Be){I(Ee,null);try{await dD(Be,{}),I(ue,!1),I(X,""),await zi(Be)}catch(G){I(Ee,G instanceof Error?G.message:String(G),!0)}}}async function hn(Be){I(g,Be,!0),I(N,null),I(E,!0),I(D,null);try{const G=await o8(Be);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(Be).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 Be={map:u(p)};u(f).trim()&&(Be.filter=u(f).trim()),u(v).trim()&&(Be.reduce=u(v).trim()),u(_).trim()&&(Be.description=u(_).trim()),u(y)&&(Be.mqttpub=!0),u(S)&&(Be.retain=!0),await hD(u(g),Be)}catch(Be){I(N,Be instanceof Error?Be.message:String(Be),!0)}}}async function Fn(){if(u(g))try{I(D,await Hy(u(g)),!0)}catch(Be){I(N,Be instanceof Error?Be.message:String(Be),!0)}}async function Hn(){if(u(g)&&await dn.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(Be){I(N,Be instanceof Error?Be.message:String(Be),!0)}}async function Bn(){if(!u(Ue).trim())return;const Be=u(Ue).trim();I(ot,null);try{await hD(Be,{map:"// emit(this.someProperty)"}),I(ve,!1),I(Ue,""),await En(),await hn(Be)}catch(G){I(ot,G instanceof Error?G.message:String(G),!0)}}let un=z(""),Ki=z(""),Ti=rt(()=>[...u(i)].filter(Be=>!u(un)||Be.toLowerCase().includes(u(un).toLowerCase())).sort()),Ke=rt(()=>[...u(h)].filter(Be=>!u(Ki)||Be.toLowerCase().includes(u(Ki).toLowerCase())).sort());vr(()=>{vn(),En().then(()=>{u(g)&&u(h).includes(u(g))?hn(u(g)):I(g,null)}),G1().then(ct=>{const Wt=ct.dbPrefix||"she/db/",O=Wt.endsWith("/")?Wt:Wt+"/";I(V,O+"view/")}).catch(()=>{});const Be=Gl("db:ids",ct=>{I(i,ct.ids??[],!0)}),G=Gl("db:viewIds",ct=>{I(h,ct.ids??[],!0)}),Re=Gl("db:change",async ct=>{const Wt=ct.id;u(n)===Wt&&(ct.doc===null?(I(n,null),I(s,"{}")):I(s,JSON.stringify(ct.doc,null,2),!0))}),lt=Gl("db:viewUpdate",async ct=>{const Wt=ct.id;u(g)===Wt&&I(D,await Hy(Wt).catch(()=>null),!0)});return()=>{Be(),G(),Re(),lt()}});var Mt=Q9(),gi=x(Mt),Li=x(gi);let Ci;var on=C(Li,2);let ki;var jn=C(on,2);{var Pn=Be=>{var G=F9();let Re;Z(()=>{Re=jt(G,1,"ai-toggle svelte-rrt0o",null,Re,{"ai-open":u(Oe)}),Rn(G,"title",u(Oe)?"Close AI assistant":"Open AI assistant")}),ne("click",G,()=>I(Oe,!u(Oe))),T(Be,G)};$(jn,Be=>{u(Y)==="views"&&Be(Pn)})}var Xn=C(gi,2);{var Tn=Be=>{var G=z9(),Re=x(G);let lt;var ct=x(Re),Wt=x(ct),O=C(ct,2);{var se=dt=>{var Ie=H9(),At=yt(Ie),ni=x(At),qt=C(ni,2),$t=C(At,2);{var ti=J=>{var _e=WD(),$e=x(_e);Z(()=>K($e,u(Ee))),T(J,_e)};$($t,J=>{u(Ee)&&J(ti)})}ne("keydown",ni,J=>J.key==="Enter"&&Wn()),Ei(ni,()=>u(X),J=>I(X,J)),ne("click",qt,Wn),T(dt,Ie)};$(O,dt=>{u(ue)&&dt(se)})}var be=C(O,2),j=x(be),pe=C(be,2);_i(pe,20,()=>u(Ti),dt=>dt,(dt,Ie)=>{var At=BD();let ni;var qt=x(At);Z(()=>{ni=jt(At,1,"flat-item svelte-rrt0o",null,ni,{"active-item":u(n)===Ie}),K(qt,Ie)}),ne("click",At,()=>zi(Ie)),T(dt,At)});var Fe=C(Re,2),ke=C(Fe,2),Me=x(ke);{var Pe=dt=>{var Ie=B9(),At=yt(Ie),ni=x(At),qt=x(ni),$t=C(ni,2),ti=C($t,2),J=C(At,2);{var _e=He=>{var nt=zD(),Yt=x(nt);Z(()=>K(Yt,u(a))),T(He,nt)};$(J,He=>{u(a)&&He(_e)})}var $e=C(J,2);{var tt=He=>{var nt=VD();T(He,nt)},It=He=>{var nt=W9(),Yt=x(nt);By(Yt,{language:"json",get value(){return u(s)},set value(ai){I(s,ai,!0)}}),T(He,nt)};$($e,He=>{u(r)?He(tt):He(It,-1)})}Z(()=>K(qt,u(n))),ne("click",$t,qn),ne("click",ti,Ln),T(dt,Ie)},Pt=dt=>{t(dt)};$(Me,dt=>{u(n)?dt(Pe):dt(Pt,-1)})}Z(()=>lt=jo(Re,"",lt,{width:`${u(Ct)??""}px`})),ne("click",Wt,()=>{I(ue,!u(ue)),I(Ee,null)}),Ei(j,()=>u(un),dt=>I(un,dt)),ne("mousedown",Fe,ii),T(Be,G)},rn=Be=>{var G=J9(),Re=x(G);let lt;var ct=x(Re),Wt=x(ct),O=C(ct,2);{var se=At=>{var ni=V9(),qt=yt(ni),$t=x(qt),ti=C($t,2),J=C(qt,2);{var _e=$e=>{var tt=WD(),It=x(tt);Z(()=>K(It,u(ot))),T($e,tt)};$(J,$e=>{u(ot)&&$e(_e)})}ne("keydown",$t,$e=>$e.key==="Enter"&&Bn()),Ei($t,()=>u(Ue),$e=>I(Ue,$e)),ne("click",ti,Bn),T(At,ni)};$(O,At=>{u(ve)&&At(se)})}var be=C(O,2),j=x(be),pe=C(be,2);_i(pe,20,()=>u(Ke),At=>At,(At,ni)=>{var qt=BD();let $t;var ti=x(qt);Z(()=>{$t=jt(qt,1,"flat-item svelte-rrt0o",null,$t,{"active-item":u(g)===ni}),K(ti,ni)}),ne("click",qt,()=>hn(ni)),T(At,qt)});var Fe=C(Re,2),ke=C(Fe,2),Me=x(ke);{var Pe=At=>{var ni=X9(),qt=yt(ni),$t=x(qt),ti=x($t),J=C($t,2),_e=C(J,2),$e=C(_e,2),tt=C(qt,2);{var It=ai=>{var si=zD(),Vi=x(si);Z(()=>K(Vi,u(N))),T(ai,si)};$(tt,ai=>{u(N)&&ai(It)})}var He=C(tt,2);{var nt=ai=>{var si=VD();T(ai,si)},Yt=ai=>{var si=Z9(),Vi=x(si),kn=C(x(Vi),2),Mi=x(kn),oi=C(Vi,2),ji=C(x(oi),2),A=x(ji),q=C(oi,2),xe=C(x(q),2),Ce=x(xe);By(Ce,{language:"javascript",get value(){return u(p)},set value(it){I(p,it,!0)}});var Ae=C(q,2),De=C(x(Ae),2),oe=x(De);By(oe,{language:"javascript",get value(){return u(v)},set value(it){I(v,it,!0)}});var ht=C(Ae,2),Ye=x(ht),Te=x(Ye),Tt=C(Te,4),We=C(x(Tt)),H=x(We),Q=C(Ye,2);{var Se=it=>{var ft=j9(),we=x(ft);Es(we,()=>u(S),vt=>I(S,vt)),T(it,ft)};$(Q,it=>{u(y)&&it(Se)})}var Ge=C(ht,2);{var et=it=>{var ft=G9(),we=x(ft),vt=C(x(we));{var ut=le=>{var me=U9();T(le,me)},he=le=>{var me=$9(),Je=x(me);Z(()=>K(Je,`${u(D).length??0??""} items · rev ${u(D)._rev??""}`)),T(le,me)};$(vt,le=>{u(D).error?le(ut):le(he,-1)})}var bt=C(we,2);{var Ze=le=>{var me=q9(),Je=x(me);Z(()=>K(Je,u(D).error)),T(le,me)},Le=le=>{var me=K9(),Je=x(me);Z(Ht=>K(Je,Ht),[()=>JSON.stringify(u(D).result,null,2)]),T(le,me)};$(bt,le=>{u(D).error?le(Ze):le(Le,-1)})}T(it,ft)};$(Ge,it=>{u(D)&&it(et)})}Z(()=>K(H,`${u(V)??""}${u(g)??""} on every update`)),Ei(Mi,()=>u(_),it=>I(_,it)),Ei(A,()=>u(f),it=>I(f,it)),Es(Te,()=>u(y),it=>I(y,it)),T(ai,si)};$(He,ai=>{u(E)?ai(nt):ai(Yt,-1)})}Z(()=>K(ti,u(g))),ne("click",J,Kn),ne("click",_e,Fn),ne("click",$e,Hn),T(At,ni)},Pt=At=>{t(At)};$(Me,At=>{u(g)?At(Pe):At(Pt,-1)})}var dt=C(ke,2);{var Ie=At=>{var ni=Y9(),qt=yt(ni),$t=C(qt,2);let ti;var J=x($t);R9(J,{get currentView(){return u(Rt)},onApplyView:Dt}),Z(()=>ti=jo($t,"",ti,{width:`${u(Xe)??""}px`})),ne("mousedown",qt,Zi),T(At,ni)};$(dt,At=>{u(Oe)&&At(Ie)})}Z(()=>lt=jo(Re,"",lt,{width:`${u(Ct)??""}px`})),ne("click",Wt,()=>{I(ve,!u(ve)),I(ot,null)}),Ei(j,()=>u(Ki),At=>I(Ki,At)),ne("mousedown",Fe,ii),T(Be,G)};$(Xn,Be=>{u(Y)==="docs"?Be(Tn):Be(rn,-1)})}Z(()=>{Ci=jt(Li,1,"svelte-rrt0o",null,Ci,{active:u(Y)==="docs"}),ki=jt(on,1,"svelte-rrt0o",null,ki,{active:u(Y)==="views"})}),ne("mousemove",Mt,mi),ne("mouseup",Mt,_n),is("mouseleave",Mt,_n),ne("click",Li,()=>I(Y,"docs")),ne("click",on,()=>I(Y,"views")),T(o,Mt),To()}_r(["mousemove","mouseup","click","keydown","mousedown"]);var tZ=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),iZ=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>'),nZ=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>'),sZ=R('<span class="device-name svelte-1ua3isv"> </span> <span class="device-nodeid svelte-1ua3isv"> </span>',1),oZ=R('<span class="device-name svelte-1ua3isv"> </span>'),rZ=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>'),aZ=R('<li class="empty svelte-1ua3isv">No paired devices</li>'),lZ=R('<p class="info svelte-1ua3isv">Loading…</p>'),cZ=R('<p class="device-subtitle svelte-1ua3isv"> </p>'),dZ=R('<span class="ep-chip svelte-1ua3isv"> </span>'),hZ=R('<span class="attr-id svelte-1ua3isv"> </span>'),uZ=R('<button class="attr-action-btn svelte-1ua3isv"> </button>'),gZ=R('<div class="attr-actions svelte-1ua3isv"></div>'),fZ=R('<span class="cmd-sep svelte-1ua3isv">,</span>'),pZ=R('<span class="cmd-name svelte-1ua3isv"> </span><span class="cmd-id svelte-1ua3isv"> </span>',1),mZ=R('<span class="cmd-id svelte-1ua3isv"> </span>'),_Z=R("<!> <!>",1),vZ=R('<span class="cmd-list svelte-1ua3isv"></span>'),bZ=R(' <span class="cmd-id svelte-1ua3isv"> </span>',1),wZ=R('<tr class="svelte-1ua3isv"><td class="svelte-1ua3isv"><!></td><td class="svelte-1ua3isv"> </td></tr>'),yZ=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>'),SZ=R('<th class="svelte-1ua3isv"> </th>'),CZ=R('<td class="svelte-1ua3isv"> </td>'),xZ=R('<tr class="svelte-1ua3isv"></tr>'),LZ=R('<table class="attr-arr-table svelte-1ua3isv"><thead class="svelte-1ua3isv"><tr class="svelte-1ua3isv"></tr></thead><tbody class="svelte-1ua3isv"></tbody></table>'),kZ=R('<tr class="svelte-1ua3isv"><td class="attr-obj-key svelte-1ua3isv"> </td><td class="attr-obj-val svelte-1ua3isv"> </td></tr>'),IZ=R('<table class="attr-obj-table svelte-1ua3isv"><tbody class="svelte-1ua3isv"></tbody></table>'),DZ=R('<a class="attr-link svelte-1ua3isv" target="_blank" rel="noopener noreferrer"> </a>'),EZ=R('<span class="attr-val svelte-1ua3isv"> </span>'),PZ=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>'),TZ=R('<tr class="cluster-hdr-row svelte-1ua3isv"><td colspan="3" class="cluster-hdr-cell svelte-1ua3isv"> </td></tr> <!>',1),MZ=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>'),NZ=R('<p class="no-clusters svelte-1ua3isv">No clusters</p>'),RZ=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>'),AZ=R('<div class="detail-hdr svelte-1ua3isv"><h2 class="svelte-1ua3isv"> </h2> <!> <p class="detail-nodeid svelte-1ua3isv"> </p></div> <!>',1),OZ=R('<p class="info svelte-1ua3isv">Select a device to view its endpoints.</p>'),FZ=R('<span class="stream-badge svelte-1ua3isv"> </span>'),HZ=R('<span class="stream-empty svelte-1ua3isv">Waiting for events…</span>'),zy=R(' <span class="e-sub svelte-1ua3isv"> </span>',1),WZ=R('<span class="e-badge e-badge-status svelte-1ua3isv">status</span> <span class="e-node svelte-1ua3isv"> <!></span> <span> </span>',1),BZ=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),zZ=R('<div class="er svelte-1ua3isv"><span class="e-ts svelte-1ua3isv"> </span> <!></div>'),VZ=R('<div class="stream-body svelte-1ua3isv"><!></div>'),jZ=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 UZ(o,e){Po(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,Re,lt,ct,Wt){try{await b8(G,Re,lt,ct,Wt)}catch(O){console.error("matter command failed",O)}}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,Re){const lt=n[G];return Re.map(ct=>{const Wt=typeof ct=="number"?ct:Number(ct);return{id:Wt,name:(lt==null?void 0:lt[Wt])??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=z(wi([])),f=wi(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 Re=JSON.stringify(G);return Re.length>60?Re.slice(0,57)+"…":Re}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,Re){return!!(Re==="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,V=32;let F=0,Y=z(wi([])),X=z(!0),ue=z(180),Ee=rt(()=>{const G=Math.max(1,Math.floor((u(ue)-V)/N)+1);return u(Y).slice(0,G)});function Ue(G){G.preventDefault();const Re=G.clientY,lt=u(ue);function ct(O){I(ue,Math.max(60,Math.min(600,lt+Re-O.clientY)),!0)}function Wt(){document.removeEventListener("mousemove",ct),document.removeEventListener("mouseup",Wt)}document.addEventListener("mousemove",ct),document.addEventListener("mouseup",Wt)}let ve=z(null),ot=z(!1),Xt=z(null),Ct=z(!1),Qt=z("passcode"),Ft=z(""),ei=z(""),de=z(""),xt=z(!1),Oe=z(null),Xe=z("");const Nt="she:matter:selectedNodeId";async function hi(){try{I(g,await rR(),!0);for(const G of u(g))v_(G.nodeId).then(Re=>{f.set(G.nodeId,Re)}).catch(()=>{});if(u(g).length>0&&!u(ve)){const G=localStorage.getItem(Nt),Re=G&&u(g).find(lt=>lt.nodeId===G)?G:u(g)[0].nodeId;zt(Re)}}catch{I(g,[],!0)}}async function zt(G){I(ot,!0),I(Xt,null);try{I(ve,await v_(G),!0),f.set(G,u(ve)),localStorage.setItem(Nt,G)}catch(Re){I(Xt,Re instanceof Error?Re.message:String(Re),!0)}finally{I(ot,!1)}}let Rt;async function Dt(G){var Re;if(await Rt.show(`Unpair device ${G}?`,{confirm:"Unpair",danger:!0}))try{await v8(G),((Re=u(ve))==null?void 0:Re.nodeId)===G&&I(ve,null),await hi()}catch(lt){I(Xt,lt instanceof Error?lt.message:String(lt),!0)}}async function ii(){I(xt,!0),I(Oe,null);try{let G;u(Qt)==="passcode"?(G={passcode:Number(u(Ft))},u(ei)&&(G={...G,discriminator:Number(u(ei))})):G={pairingCode:u(de).trim()},u(Xe).trim()&&(G={...G,discoveryAddress:u(Xe).trim()}),await _8(G),I(Ct,!1),I(Ft,""),I(ei,""),I(de,""),I(Xe,""),await hi()}catch(G){I(Oe,G instanceof Error?G.message:String(G),!0)}finally{I(xt,!1)}}vr(()=>{hi()});const mi=Gl("matter:deviceList",G=>{if(!Array.isArray(G.devices))return;const Re=G.devices;for(const lt of Re)f.has(lt.nodeId)||v_(lt.nodeId).then(ct=>{f.set(lt.nodeId,ct)}).catch(()=>{});I(g,Re,!0)}),_n=Gl("matter:deviceStatus",G=>{if(G.nodeId===void 0)return;const Re=String(G.nodeId),lt=!!G.online;I(g,u(g).map(ct=>ct.nodeId===Re?{...ct,online:lt}:ct),!0),I(Y,[{id:F++,kind:"status",nodeId:Re,online:lt,ts:Date.now()},...u(Y).slice(0,E-1)],!0)}),Zi=Gl("matter:attr",G=>{const Re=String(G.nodeId),lt=G.endpointId,ct=String(G.clusterName),Wt=String(G.attrName),O=G.value;if(u(ve)&&u(ve).nodeId===Re){const be=u(ve).endpoints.find(pe=>pe.endpointId===lt),j=be==null?void 0:be.clusters.find(pe=>pe.name===ct);j&&(j.attrs[Wt]=O)}const se=f.get(Re);if(se){const be=se.endpoints.find(pe=>pe.endpointId===lt),j=be==null?void 0:be.clusters.find(pe=>pe.name===ct);j&&(j.attrs[Wt]=O)}I(Y,[{id:F++,kind:"attr",nodeId:Re,endpointId:lt,clusterName:ct,attrName:Wt,value:O,ts:G.ts??Date.now()},...u(Y).slice(0,E-1)],!0)});aw(()=>{mi(),_n(),Zi()});var vn=jZ(),En=yt(vn);bs(Mg(En,{}),G=>Rt=G,()=>Rt);var zi=C(En,2),qn=x(zi),dn=x(qn),Ln=x(dn),Wn=C(x(Ln),2),hn=C(Ln,2);{var Kn=G=>{var Re=nZ(),lt=x(Re),ct=x(lt);let Wt;var O=C(ct,2);let se;var be=C(lt,2);{var j=Ie=>{var At=tZ(),ni=yt(At),qt=C(x(ni)),$t=C(ni,2),ti=C(x($t));Ei(qt,()=>u(Ft),J=>I(Ft,J)),Ei(ti,()=>u(ei),J=>I(ei,J)),T(Ie,At)},pe=Ie=>{var At=iZ(),ni=C(x(At));Ei(ni,()=>u(de),qt=>I(de,qt)),T(Ie,At)};$(be,Ie=>{u(Qt)==="passcode"?Ie(j):Ie(pe,-1)})}var Fe=C(be,2),ke=C(x(Fe)),Me=C(Fe,2);{var Pe=Ie=>{var At=jD(),ni=x(At);Z(()=>K(ni,u(Oe))),T(Ie,At)};$(Me,Ie=>{u(Oe)&&Ie(Pe)})}var Pt=C(Me,2),dt=x(Pt);Z(()=>{Wt=jt(ct,1,"svelte-1ua3isv",null,Wt,{active:u(Qt)==="passcode"}),se=jt(O,1,"svelte-1ua3isv",null,se,{active:u(Qt)==="pairingCode"}),Pt.disabled=u(xt),K(dt,u(xt)?"Commissioning…":"Commission")}),ne("click",ct,()=>I(Qt,"passcode")),ne("click",O,()=>I(Qt,"pairingCode")),Ei(ke,()=>u(Xe),Ie=>I(Xe,Ie)),ne("click",Pt,ii),T(G,Re)};$(hn,G=>{u(Ct)&&G(Kn)})}var Fn=C(hn,2),Hn=x(Fn);_i(Hn,17,()=>u(g),G=>G.nodeId,(G,Re)=>{var lt=rZ();let ct;var Wt=x(lt),O=x(Wt);let se;var be=C(O,2),j=x(be);{var pe=Me=>{var Pe=sZ(),Pt=yt(Pe),dt=x(Pt),Ie=C(Pt,2),At=x(Ie);Z(()=>{K(dt,u(Re).name),K(At,`#${u(Re).nodeId??""}`)}),T(Me,Pe)},Fe=Me=>{var Pe=oZ(),Pt=x(Pe);Z(()=>K(Pt,`Node ${u(Re).nodeId??""}`)),T(Me,Pe)};$(j,Me=>{u(Re).name?Me(pe):Me(Fe,-1)})}var ke=C(Wt,2);Z(()=>{var Me;ct=jt(lt,1,"svelte-1ua3isv",null,ct,{selected:((Me=u(ve))==null?void 0:Me.nodeId)===u(Re).nodeId}),se=jt(O,1,"status-dot svelte-1ua3isv",null,se,{online:u(Re).online})}),ne("click",Wt,()=>zt(u(Re).nodeId)),ne("click",ke,()=>Dt(u(Re).nodeId)),T(G,lt)});var Bn=C(Hn,2);{var un=G=>{var Re=aZ();T(G,Re)};$(Bn,G=>{u(g).length===0&&G(un)})}var Ki=C(dn,2),Ti=x(Ki);{var Ke=G=>{var Re=lZ();T(G,Re)},Mt=G=>{var Re=jD(),lt=x(Re);Z(()=>K(lt,u(Xt))),T(G,Re)},gi=G=>{var Re=AZ(),lt=yt(Re),ct=x(lt),Wt=x(ct),O=C(ct,2);{var se=Fe=>{var ke=cZ(),Me=x(ke);Z(()=>K(Me,u(ve).subtitle)),T(Fe,ke)};$(O,Fe=>{u(ve).subtitle&&Fe(se)})}var be=C(O,2),j=x(be),pe=C(lt,2);_i(pe,17,()=>u(ve).endpoints,Fe=>Fe.endpointId,(Fe,ke)=>{var Me=RZ(),Pe=x(Me),Pt=x(Pe),dt=C(Pt),Ie=x(dt),At=C(dt,2);_i(At,21,()=>u(ke).clusters,Nn,(ti,J)=>{var _e=dZ(),$e=x(_e);Z(()=>K($e,u(J).name)),T(ti,_e)});var ni=C(Pe,2);{var qt=ti=>{var J=MZ(),_e=C(x(J));_i(_e,21,()=>u(ke).clusters,Nn,($e,tt)=>{var It=TZ(),He=yt(It),nt=x(He),Yt=x(nt),ai=C(He,2);_i(ai,17,()=>Object.entries(u(tt).attrs),Nn,(si,Vi)=>{var kn=rt(()=>dk(u(Vi),2));let Mi=()=>u(kn)[0],oi=()=>u(kn)[1];var ji=Ts(),A=yt(ji);{var q=Ce=>{const Ae=rt(()=>{var me;return(me=t[u(tt).name])==null?void 0:me[Mi()]}),De=rt(()=>(Mi()==="acceptedCommandList"||Mi()==="generatedCommandList")&&Array.isArray(oi())),oe=rt(()=>{var me;return((me=c[u(tt).name])==null?void 0:me[Mi()])??a[Mi()]});var ht=PZ(),Ye=x(ht),Te=x(Ye),Tt=x(Te),We=C(Te);{var H=me=>{var Je=hZ(),Ht=x(Je);Z(ge=>K(Ht,`(${ge??""})`),[()=>h(u(oe))]),T(me,Je)};$(We,me=>{u(oe)!==void 0&&me(H)})}var Q=C(Ye),Se=x(Q);{var Ge=me=>{var Je=gZ();_i(Je,21,()=>u(Ae),Nn,(Ht,ge)=>{var qe=uZ(),gt=x(qe);Z(()=>K(gt,u(ge).label)),ne("click",qe,()=>i(u(ve).nodeId,u(ke).endpointId,u(tt).name,u(ge).command,u(ge).args)),T(Ht,qe)}),T(me,Je)};$(Se,me=>{u(Ae)&&me(Ge)})}var et=C(Q),it=x(et);{var ft=me=>{var Je=vZ();_i(Je,21,()=>s(u(tt).name,oi()),Nn,(Ht,ge,qe)=>{var gt=_Z(),wt=yt(gt);{var Qe=tn=>{var ri=fZ();T(tn,ri)};$(wt,tn=>{qe>0&&tn(Qe)})}var li=C(wt,2);{var Jt=tn=>{var ri=pZ(),Vt=yt(ri),an=x(Vt),ci=C(Vt),bn=x(ci);Z(()=>{K(an,u(ge).name),K(bn,`(${u(ge).id??""})`)}),T(tn,ri)},Un=tn=>{var ri=mZ(),Vt=x(ri);Z(()=>K(Vt,u(ge).id)),T(tn,ri)};$(li,tn=>{u(ge).name?tn(Jt):tn(Un,-1)})}T(Ht,gt)}),T(me,Je)},we=me=>{var Je=yZ(),Ht=C(x(Je));_i(Ht,21,oi,Nn,(ge,qe)=>{const gt=rt(()=>u(qe)),wt=rt(()=>u(gt).deviceType),Qe=rt(()=>r[u(wt)]);var li=wZ(),Jt=x(li),Un=x(Jt);{var tn=ci=>{var bn=bZ(),Xi=yt(bn),ys=C(Xi),Mo=x(ys);Z(qr=>{K(Xi,`${u(Qe)??""} `),K(Mo,`(${qr??""})`)},[()=>h(u(wt))]),T(ci,bn)},ri=ci=>{var bn=Fr();Z(Xi=>K(bn,Xi),[()=>h(u(wt))]),T(ci,bn)};$(Un,ci=>{u(Qe)?ci(tn):ci(ri,-1)})}var Vt=C(Jt),an=x(Vt);Z(ci=>K(an,ci),[()=>v(u(gt).revision)]),T(ge,li)}),T(me,Je)},vt=rt(()=>Mi()==="deviceTypeList"&&Array.isArray(oi())),ut=me=>{const Je=rt(()=>[...new Set(oi().flatMap(wt=>Object.keys(wt)))]);var Ht=LZ(),ge=x(Ht),qe=x(ge);_i(qe,21,()=>u(Je),Nn,(wt,Qe)=>{var li=SZ(),Jt=x(li);Z(()=>K(Jt,u(Qe))),T(wt,li)});var gt=C(ge);_i(gt,21,oi,Nn,(wt,Qe)=>{var li=xZ();_i(li,21,()=>u(Je),Nn,(Jt,Un)=>{var tn=CZ(),ri=x(tn);Z(Vt=>K(ri,Vt),[()=>v(u(Qe)[u(Un)])]),T(Jt,tn)}),T(wt,li)}),T(me,Ht)},he=rt(()=>y(oi())),bt=me=>{var Je=IZ(),Ht=x(Je);_i(Ht,21,()=>Object.entries(oi()),Nn,(ge,qe)=>{var gt=rt(()=>dk(u(qe),2));let wt=()=>u(gt)[0],Qe=()=>u(gt)[1];var li=kZ(),Jt=x(li),Un=x(Jt),tn=C(Jt),ri=x(tn);Z(Vt=>{K(Un,wt()),K(ri,Vt)},[()=>v(Qe())]),T(ge,li)}),T(me,Je)},Ze=rt(()=>_(oi())),Le=me=>{var Je=DZ(),Ht=x(Je);Z(()=>{Rn(Je,"href",oi()),K(Ht,oi())}),T(me,Je)},le=me=>{var Je=EZ(),Ht=x(Je);Z(ge=>K(Ht,ge),[()=>v(oi())]),T(me,Je)};$(it,me=>{u(De)?me(ft):u(vt)?me(we,1):u(he)?me(ut,2):u(Ze)?me(bt,3):(Mi()==="productUrl"||Mi()==="productURL")&&typeof oi()=="string"?me(Le,4):me(le,-1)})}Z(()=>{Rn(Ye,"title",Mi()),K(Tt,Mi())}),T(Ce,ht)},xe=rt(()=>!S(oi(),Mi()));$(A,Ce=>{u(xe)&&Ce(q)})}T(si,ji)}),Z(()=>K(Yt,u(tt).name)),T($e,It)}),T(ti,J)},$t=ti=>{var J=NZ();T(ti,J)};$(ni,ti=>{u(ke).clusters.length>0?ti(qt):ti($t,-1)})}Z(()=>{K(Pt,`${u(ke).name??`Endpoint ${u(ke).endpointId}`??""} `),K(Ie,`ep${u(ke).endpointId??""}`)}),T(Fe,Me)}),Z(()=>{K(Wt,u(ve).name??`Node ${u(ve).nodeId}`),K(j,`Node ID: ${u(ve).nodeId??""}`)}),T(G,Re)},Li=G=>{var Re=OZ();T(G,Re)};$(Ti,G=>{u(ot)?G(Ke):u(Xt)?G(Mt,1):u(ve)?G(gi,2):G(Li,-1)})}var Ci=C(qn,2),on=x(Ci),ki=C(on,2),jn=C(x(ki),2);{var Pn=G=>{var Re=FZ(),lt=x(Re);Z(()=>K(lt,u(Y).length)),T(G,Re)};$(jn,G=>{!u(X)&&u(Y).length>0&&G(Pn)})}var Xn=C(jn,2),Tn=x(Xn),rn=C(ki,2);{var Be=G=>{var Re=VZ(),lt=x(Re);{var ct=O=>{var se=HZ();T(O,se)},Wt=O=>{var se=Ts(),be=yt(se);_i(be,17,()=>u(Ee),j=>j.id,(j,pe)=>{const Fe=rt(()=>{var qt,$t;return((qt=f.get(u(pe).nodeId))==null?void 0:qt.name)??(($t=u(g).find(ti=>ti.nodeId===u(pe).nodeId))==null?void 0:$t.name)??null}),ke=rt(()=>{var qt,$t;return u(pe).endpointId!==void 0?(($t=(qt=f.get(u(pe).nodeId))==null?void 0:qt.endpoints.find(ti=>ti.endpointId===u(pe).endpointId))==null?void 0:$t.name)??null:null}),Me=rt(()=>u(pe).attrName??u(pe).clusterName);var Pe=zZ(),Pt=x(Pe),dt=x(Pt),Ie=C(Pt,2);{var At=qt=>{var $t=WZ(),ti=C(yt($t),2),J=x(ti),_e=C(J);{var $e=nt=>{var Yt=zy(),ai=C(yt(Yt)),si=x(ai);Z(()=>K(si,`(#${u(pe).nodeId??""})`)),T(nt,Yt)};$(_e,nt=>{u(Fe)&&nt($e)})}var tt=C(ti,2);let It;var He=x(tt);Z(()=>{K(J,u(Fe)??`#${u(pe).nodeId}`),It=jt(tt,1,"e-val svelte-1ua3isv",null,It,{"e-online":u(pe).online,"e-offline":!u(pe).online}),K(He,u(pe).online?"online":"offline")}),T(qt,$t)},ni=qt=>{var $t=BZ(),ti=C(yt($t),2),J=x(ti),_e=C(J);{var $e=oi=>{var ji=zy(),A=C(yt(ji)),q=x(A);Z(()=>K(q,`(#${u(pe).nodeId??""})`)),T(oi,ji)};$(_e,oi=>{u(Fe)&&oi($e)})}var tt=C(ti,2),It=x(tt),He=C(It);{var nt=oi=>{var ji=zy(),A=C(yt(ji)),q=x(A);Z(()=>K(q,`(ep ${u(pe).endpointId??""})`)),T(oi,ji)};$(He,oi=>{u(ke)&&oi(nt)})}var Yt=C(tt,2),ai=x(Yt),si=C(Yt,2),Vi=x(si),kn=C(si,2),Mi=x(kn);Z(oi=>{K(J,u(Fe)??`#${u(pe).nodeId}`),K(It,u(ke)??`ep${u(pe).endpointId}`),K(ai,u(pe).clusterName),K(Vi,u(Me)),K(Mi,oi)},[()=>p(u(pe).value)]),T(qt,$t)};$(Ie,qt=>{u(pe).kind==="status"?qt(At):qt(ni,-1)})}Z(qt=>K(dt,qt),[()=>D(u(pe).ts)]),T(j,Pe)}),T(O,se)};$(lt,O=>{u(Ee).length===0?O(ct):O(Wt,-1)})}T(G,Re)};$(rn,G=>{u(X)&&G(Be)})}Z(()=>{jo(Ci,u(X)?`height: ${u(ue)}px;`:""),K(Tn,u(X)?"▾":"▸")}),ne("click",Wn,()=>I(Ct,!u(Ct))),ne("mousedown",on,Ue),ne("click",Xn,()=>{I(X,!u(X))}),T(o,vn),To()}_r(["click","mousedown"]);var $Z=R("<button>›</button>"),qZ=R('<span class="chev-ph svelte-1vejtrc"></span>'),KZ=R('<span class="tv svelte-1vejtrc"> </span> <span class="tt svelte-1vejtrc"> </span>',1),GZ=R('<div class="tc svelte-1vejtrc"></div>'),ZZ=R('<div class="tn svelte-1vejtrc"><div><!> <span class="seg svelte-1vejtrc"> </span> <!></div> <!></div>'),XZ=R("<option></option>"),YZ=R('<span class="pub-ok svelte-1vejtrc">✓</span>'),JZ=R('<span class="pub-err svelte-1vejtrc"> </span>'),QZ=R('<div class="info svelte-1vejtrc">Loading…</div>'),eX=R('<div class="info err svelte-1vejtrc"> </div>'),tX=R('<div class="info svelte-1vejtrc">No topics match.</div>'),iX=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>'),nX=R('<div class="vs svelte-1vejtrc"><div><div class="vrows-abs svelte-1vejtrc"></div></div></div>'),sX=R('<div class="info svelte-1vejtrc">No topics yet.</div>'),oX=R('<div class="tree-wrap svelte-1vejtrc"><!></div>'),rX=R('<span class="stream-badge"> </span>'),aX=R('<span class="stream-empty svelte-1vejtrc">Waiting for messages…</span>'),lX=R('<span class="s-ret svelte-1vejtrc" title="retained snapshot">⊛</span>'),cX=R('<div><span class="s-ts svelte-1vejtrc"> </span> <!> <span class="s-topic svelte-1vejtrc"> </span> <span class="s-val svelte-1vejtrc"> </span></div>'),dX=R('<div class="stream-body svelte-1vejtrc"><!></div>'),hX=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),uX=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>'),gX=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),fX=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 pX(o,e){Po(e,!0);const t=(J,_e=iw)=>{const $e=rt(()=>u(f).has(_e().path)),tt=rt(()=>u(a)>=0&&_e().children.size>0),It=rt(()=>u(a)>=0&&_e().isLeaf&&!n.has(_e().path));var He=ZZ(),nt=x(He);let Yt;var ai=x(nt);{var si=Ce=>{var Ae=$Z();let De;Z(()=>{De=jt(Ae,1,"chev svelte-1vejtrc",null,De,{open:u($e)}),Rn(Ae,"aria-label",u($e)?"Collapse":"Expand")}),ne("click",Ae,()=>p(_e().path)),T(Ce,Ae)},Vi=Ce=>{var Ae=qZ();T(Ce,Ae)};$(ai,Ce=>{u(tt)?Ce(si):Ce(Vi,-1)})}var kn=C(ai,2),Mi=x(kn),oi=C(kn,2);{var ji=Ce=>{var Ae=KZ(),De=yt(Ae),oe=x(De),ht=C(De,2),Ye=x(ht);Z((Te,Tt,We)=>{Rn(De,"title",Te),K(oe,Tt),K(Ye,We)},[()=>{var Te;return zi((Te=Ln(_e().path))==null?void 0:Te.val)},()=>{var Te;return zi((Te=Ln(_e().path))==null?void 0:Te.val)},()=>{var Te;return((Te=Ln(_e().path))==null?void 0:Te.ts)!=null?qn(Ln(_e().path).ts):""}]),T(Ce,Ae)},A=rt(()=>_e().isLeaf&&i.has(_e().path));$(oi,Ce=>{u(A)&&Ce(ji)})}var q=C(nt,2);{var xe=Ce=>{var Ae=GZ();_i(Ae,21,()=>[..._e().children.values()].sort((De,oe)=>De.seg.localeCompare(oe.seg)),De=>De.path,(De,oe)=>{t(De,()=>u(oe))}),T(Ce,Ae)};$(q,Ce=>{u(tt)&&u($e)&&Ce(xe)})}Z(()=>{Yt=jt(nt,1,"tr svelte-1vejtrc",null,Yt,{stale:u(It)}),K(Mi,_e().seg)}),ne("click",nt,()=>{I(ot,_e().path+"/#")}),ne("contextmenu",nt,Ce=>{Ce.preventDefault(),I(Xe,{x:Ce.clientX,y:Ce.clientY,topic:_e().path},!0)}),T(J,He)},i=new Map,n=new Set,s=new Set;let r=null,a=z(0);function c(){r===null&&(r=requestAnimationFrame(()=>{r=null;for(const J of s)g(J);s.clear(),gk(a)}))}const h=new Map;function g(J){const _e=J.split("/");let $e=h,tt="";for(let It=0;It<_e.length;It++){const He=_e[It];tt=It===0?He:`${tt}/${He}`,$e.has(He)||$e.set(He,{seg:He,path:tt,children:new Map,isLeaf:!1});const nt=$e.get(He);It===_e.length-1&&(nt.isLeaf=!0),$e=nt.children}}let f=z(wi(new Set));function p(J){const _e=new Set(u(f));_e.has(J)?_e.delete(J):_e.add(J),I(f,_e,!0)}let v=z("");const _=24,y=5;let S=z(0),D=z(300),E=rt(()=>{if(u(a),!u(v))return[];const J=u(v).toLowerCase().split(/\s+/).filter(Boolean),_e=[];for(const[$e,tt]of i){const It=$e.toLowerCase();J.every(He=>It.includes(He))&&_e.push({topic:$e,...tt})}return _e.sort(($e,tt)=>$e.topic.localeCompare(tt.topic))}),N=rt(()=>{const J=u(E).length,_e=Math.max(0,Math.floor(u(S)/_)-y),$e=Math.min(J,Math.ceil((u(S)+u(D))/_)+y);return{start:_e,end:$e,totalH:J*_,top:_e*_}});const V=1e3,F=200,Y=20,X=36;let ue=0,Ee=z(wi([])),Ue=z(wi([])),ve=z(!0),ot=z("#"),Xt=z(200);Mn(()=>{const J=u(ot).trim(),_e=bl(()=>u(Ee)),$e=!J||J==="#"?_e.slice(0,F):_e.filter(tt=>Ct(J,tt.topic)).slice(0,F);if(J&&J!=="#"){const tt=new Set($e.map(He=>He.topic)),It=[];for(const[He,nt]of i)tt.has(He)||Ct(J,He)&&It.push({id:-(It.length+1),topic:He,val:nt.val,ts:nt.ts,retained:!0});It.sort((He,nt)=>He.topic.localeCompare(nt.topic)),I(Ue,[...$e,...It],!0)}else I(Ue,$e,!0)});function Ct(J,_e){if(J==="#")return!0;const $e=J.split("/"),tt=_e.split("/");for(let It=0;It<$e.length;It++){if($e[It]==="#")return!0;if(It>=tt.length||$e[It]!=="+"&&$e[It]!==tt[It])return!1}return $e.length===tt.length}function Qt(J){J.preventDefault();const _e=J.clientY,$e=u(Xt);function tt(He){I(Xt,Math.max(60,Math.min(800,$e+_e-He.clientY)),!0)}function It(){document.removeEventListener("mousemove",tt),document.removeEventListener("mouseup",It)}document.addEventListener("mousemove",tt),document.addEventListener("mouseup",It)}let Ft=rt(()=>{const J=Math.max(1,Math.floor((u(Xt)-X)/Y)+1);return u(Ue).slice(0,J)}),ei=z(!0),de=z(null);async function xt(){I(ei,!0),I(de,null);try{const J=await aR();for(const _e of J)i.set(_e.topic,{val:_e.val,ts:_e.ts}),g(_e.topic)}catch(J){I(de,J instanceof Error?J.message:String(J),!0)}finally{I(ei,!1),gk(a)}}const Oe=Gl("mqtt",J=>{const{topic:_e,val:$e,ts:tt}=J;i.set(_e,{val:$e,ts:tt}),n.add(_e),s.add(_e),c();const It={id:ue++,topic:_e,val:$e,ts:tt};I(Ee,[It,...u(Ee).slice(0,V-1)],!0);const He=u(ot).trim();(!He||He==="#"||Ct(He,_e))&&I(Ue,[It,...u(Ue).filter(nt=>!(nt.retained&&nt.topic===_e)).slice(0,F-1)],!0)});let Xe=z(null),Nt=z(null);async function hi(J,_e){const $e=[J];if(_e){const tt=J+"/";for(const It of i.keys())It.startsWith(tt)&&$e.push(It)}for(const tt of $e)await gD(tt,"",!0,0)}let zt=rt(()=>(u(a),[...i.keys()].sort())),Rt=z(""),Dt=z(""),ii=z(!1),mi=z(0),_n=z(!1),Zi=z(null),vn=z(!1);async function En(){if(u(Rt)){I(_n,!0),I(Zi,null),I(vn,!1);try{await gD(u(Rt),u(Dt),u(ii),u(mi)),I(vn,!0),setTimeout(()=>{I(vn,!1)},2e3)}catch(J){I(Zi,J instanceof Error?J.message:String(J),!0)}finally{I(_n,!1)}}}function zi(J){return J==null?"":typeof J=="object"?JSON.stringify(J):String(J)}function qn(J){return new Date(J).toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1})}function dn(J){return new Date(J).toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1})}function Ln(J){return u(a),i.get(J)}let Wn=rt(()=>(u(a),[...h.values()].sort((J,_e)=>J.seg.localeCompare(_e.seg)))),hn=rt(()=>(u(a),i.size));vr(xt),aw(()=>{Oe(),r!==null&&cancelAnimationFrame(r)});var Kn=fX(),Fn=C(x(Kn),2),Hn=x(Fn),Bn=x(Hn),un=C(Bn,2);_i(un,20,()=>u(zt),J=>J,(J,_e)=>{var $e=XZ(),tt={};Z(()=>{tt!==(tt=_e)&&($e.value=($e.__value=_e)??"")}),T(J,$e)});var Ki=C(un,2),Ti=C(Ki,2),Ke=x(Ti),Mt=C(Ti,2),gi=x(Mt);gi.value=gi.__value=0;var Li=C(gi);Li.value=Li.__value=1;var Ci=C(Li);Ci.value=Ci.__value=2;var on=C(Mt,2),ki=C(on,2);{var jn=J=>{var _e=YZ();T(J,_e)};$(ki,J=>{u(vn)&&J(jn)})}var Pn=C(ki,2);{var Xn=J=>{var _e=JZ(),$e=x(_e);Z(()=>K($e,u(Zi))),T(J,_e)};$(Pn,J=>{u(Zi)&&J(Xn)})}var Tn=C(Hn,2),rn=x(Tn),Be=C(rn,2),G=x(Be);{var Re=J=>{var _e=Fr();Z(()=>K(_e,`${u(E).length??""} /`)),T(J,_e)};$(G,J=>{u(v)&&J(Re)})}var lt=C(G),ct=C(Tn,2);{var Wt=J=>{var _e=QZ();T(J,_e)},O=J=>{var _e=eX(),$e=x(_e);Z(()=>K($e,u(de))),T(J,_e)},se=J=>{var _e=Ts(),$e=yt(_e);{var tt=He=>{var nt=tX();T(He,nt)},It=He=>{var nt=nX(),Yt=x(nt),ai=x(Yt);_i(ai,21,()=>u(E).slice(u(N).start,u(N).end),si=>si.topic,(si,Vi)=>{var kn=iX(),Mi=x(kn),oi=x(Mi),ji=C(Mi,2),A=x(ji),q=C(ji,2),xe=x(q);Z((Ce,Ae,De)=>{K(oi,u(Vi).topic),Rn(ji,"title",Ce),K(A,Ae),K(xe,De)},[()=>zi(u(Vi).val),()=>zi(u(Vi).val),()=>qn(u(Vi).ts)]),T(si,kn)}),Z(()=>{jo(Yt,`height: ${u(N).totalH??""}px; position: relative;`),jo(ai,`top: ${u(N).top??""}px;`)}),is("scroll",nt,si=>{I(S,si.currentTarget.scrollTop,!0)}),CW(nt,"clientHeight",si=>I(D,si)),T(He,nt)};$($e,He=>{u(E).length===0?He(tt):He(It,-1)})}T(J,_e)},be=J=>{var _e=oX(),$e=x(_e);{var tt=He=>{var nt=sX();T(He,nt)},It=He=>{var nt=Ts(),Yt=yt(nt);_i(Yt,17,()=>u(Wn),ai=>ai.path,(ai,si)=>{t(ai,()=>u(si))}),T(He,nt)};$($e,He=>{u(Wn).length===0?He(tt):He(It,-1)})}T(J,_e)};$(ct,J=>{u(ei)?J(Wt):u(de)?J(O,1):u(v)?J(se,2):J(be,-1)})}var j=C(Fn,2),pe=x(j),Fe=C(pe,2),ke=x(Fe),Me=C(ke,2);{var Pe=J=>{var _e=rX(),$e=x(_e);Z(()=>K($e,u(Ue).length)),T(J,_e)};$(Me,J=>{!u(ve)&&u(Ue).length>0&&J(Pe)})}var Pt=C(Me,2),dt=x(Pt),Ie=C(Fe,2);{var At=J=>{var _e=dX(),$e=x(_e);{var tt=He=>{var nt=aX();T(He,nt)},It=He=>{var nt=Ts(),Yt=yt(nt);_i(Yt,17,()=>u(Ft),ai=>ai.id,(ai,si)=>{var Vi=cX();let kn;var Mi=x(Vi),oi=x(Mi),ji=C(Mi,2);{var A=De=>{var oe=lX();T(De,oe)};$(ji,De=>{u(si).retained&&De(A)})}var q=C(ji,2),xe=x(q),Ce=C(q,2),Ae=x(Ce);Z((De,oe,ht)=>{kn=jt(Vi,1,"sr svelte-1vejtrc",null,kn,{retained:u(si).retained}),K(oi,De),K(xe,u(si).topic),Rn(Ce,"title",oe),K(Ae,ht)},[()=>dn(u(si).ts),()=>zi(u(si).val),()=>zi(u(si).val)]),T(ai,Vi)}),T(He,nt)};$($e,He=>{u(Ft).length===0?He(tt):He(It,-1)})}T(J,_e)};$(Ie,J=>{u(ve)&&J(At)})}var ni=C(j,2);{var qt=J=>{var _e=hX(),$e=yt(_e),tt=C($e,2);let It;var He=x(tt),nt=C(He,2);Z(()=>It=jo(tt,"",It,{left:`${u(Xe).x??""}px`,top:`${u(Xe).y??""}px`})),ne("click",$e,()=>I(Xe,null)),ne("contextmenu",$e,Yt=>{Yt.preventDefault(),I(Xe,null)}),ne("click",He,()=>{navigator.clipboard.writeText(u(Xe).topic),I(Xe,null)}),ne("click",nt,()=>{const Yt=u(Xe).topic,ai=Yt+"/",si=[...i.keys()].some(Vi=>Vi.startsWith(ai));I(Nt,{topic:Yt,hasChildren:si,recursive:!1},!0),I(Xe,null)}),T(J,_e)};$(ni,J=>{u(Xe)&&J(qt)})}var $t=C(ni,2);{var ti=J=>{var _e=gX(),$e=yt(_e),tt=C($e,2),It=C(x(tt),2),He=x(It),nt=C(x(He)),Yt=x(nt),ai=C(He,2);{var si=oi=>{var ji=uX(),A=x(ji);Es(A,()=>u(Nt).recursive,q=>u(Nt).recursive=q),T(oi,ji)};$(ai,oi=>{u(Nt).hasChildren&&oi(si)})}var Vi=C(It,2),kn=x(Vi),Mi=C(kn,2);Z(()=>K(Yt,u(Nt).topic)),ne("click",$e,()=>I(Nt,null)),ne("click",kn,()=>I(Nt,null)),ne("click",Mi,()=>{const{topic:oi,recursive:ji}=u(Nt);I(Nt,null),hi(oi,ji)}),T(J,_e)};$($t,J=>{u(Nt)&&J(ti)})}Z(()=>{on.disabled=u(_n)||!u(Rt),K(lt,` ${u(hn)??""}`),jo(j,u(ve)?`height: ${u(Xt)}px;`:""),K(dt,u(ve)?"▾":"▸")}),Ei(Bn,()=>u(Rt),J=>I(Rt,J)),Ei(Ki,()=>u(Dt),J=>I(Dt,J)),Es(Ke,()=>u(ii),J=>I(ii,J)),ga(Mt,()=>u(mi),J=>I(mi,J)),ne("click",on,En),Ei(rn,()=>u(v),J=>I(v,J)),ne("mousedown",pe,Qt),Ei(ke,()=>u(ot),J=>I(ot,J)),ne("click",Pt,()=>{I(ve,!u(ve))}),T(o,Kn),To()}_r(["click","contextmenu","mousedown"]);var mX=R('<div class="restart-banner restart-banner--restarting svelte-twakcj">Restarting daemon…</div>'),_X=R('<div class="restart-banner svelte-twakcj">⚠ Package changes require a daemon restart to take effect. <button class="restart-btn svelte-twakcj">Restart now</button></div>'),vX=R('<div class="err svelte-twakcj"> </div>'),bX=R('<span class="pane-count pane-count--warn svelte-twakcj"> </span>'),wX=R('<p class="empty svelte-twakcj">No packages installed.</p>'),yX=R('<p class="empty svelte-twakcj">No match.</p>'),SX=R('<span class="dep-latest svelte-twakcj"> </span>'),CX=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>'),xX=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>'),LX=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>'),kX=R('<span class="result-author svelte-twakcj"> </span>'),IX=R('<span class="result-date svelte-twakcj"> </span>'),DX=R('<span class="result-desc svelte-twakcj"> </span>'),EX=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>'),PX=R('<div class="results-list svelte-twakcj"></div>'),TX=R('<pre class="npm-output svelte-twakcj"> </pre>'),MX=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>`),NX=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>',1);function RX(o,e){Po(e,!0);let t=z(wi([])),i=z(""),n=z(wi({})),s=z(!1),r=z(""),a=z(wi([])),c=z(!1),h=z(!1),g=z(!1),f=z(""),p=z(""),v=wi({});const _=rt(()=>u(i).trim()?u(t).filter(Ke=>Ke.name.toLowerCase().includes(u(i).toLowerCase())):u(t)),y=rt(()=>Object.keys(u(n)).length);vr(async()=>{await Promise.all([S(),D()])});async function S(){try{I(t,await a8(),!0),I(f,"")}catch(Ke){I(f,Ke.message,!0)}}async function D(){try{I(n,await u8(),!0)}catch{}}async function E(){I(s,!0);try{I(n,await g8(),!0)}catch{}finally{I(s,!1)}}async function N(){const Ke=u(r).trim();if(!Ke){I(a,[],!0);return}I(g,!0),I(f,"");try{I(a,await l8(Ke),!0)}catch(Mt){I(f,Mt.message,!0)}finally{I(g,!1)}}function V(Ke){if(!Ke)return"";try{return new Date(Ke).toLocaleDateString(void 0,{year:"numeric",month:"short",day:"numeric"})}catch{return""}}async function F(Ke,Mt){v[Ke]=!0,I(f,""),I(p,"");try{const gi=await c8(Ke,Mt);I(p,gi.stdout||gi.stderr||"Done.",!0),I(c,!0),await S()}catch(gi){I(f,gi.message,!0)}finally{v[Ke]=!1}}async function Y(Ke){v[Ke]=!0,I(f,""),I(p,"");try{const Mt=await d8(Ke);I(p,Mt.stdout||Mt.stderr||"Done.",!0),I(c,!0);const gi={...u(n)};delete gi[Ke],I(n,gi,!0),await S()}catch(Mt){I(f,Mt.message,!0)}finally{v[Ke]=!1}}async function X(Ke){v[Ke]=!0,I(f,""),I(p,"");try{const Mt=await h8(Ke);I(p,Mt.stdout||Mt.stderr||"Done.",!0),I(c,!0);const gi={...u(n)};delete gi[Ke],I(n,gi,!0),await S()}catch(Mt){I(f,Mt.message,!0)}finally{v[Ke]=!1}}let ue;async function Ee(){if(await ue.show("Restart the she daemon? The page will reload after a moment.",{confirm:"Restart"})){I(h,!0);try{await nR()}catch{}setTimeout(()=>{window.location.reload()},3e3)}}var Ue=NX(),ve=yt(Ue);bs(Mg(ve,{}),Ke=>ue=Ke,()=>ue);var ot=C(ve,2),Xt=x(ot);{var Ct=Ke=>{var Mt=mX();T(Ke,Mt)},Qt=Ke=>{var Mt=_X(),gi=C(x(Mt));ne("click",gi,Ee),T(Ke,Mt)};$(Xt,Ke=>{u(h)?Ke(Ct):u(c)&&Ke(Qt,1)})}var Ft=C(Xt,2);{var ei=Ke=>{var Mt=vX(),gi=x(Mt);Z(()=>K(gi,u(f))),T(Ke,Mt)};$(Ft,Ke=>{u(f)&&Ke(ei)})}var de=C(Ft,2),xt=x(de),Oe=x(xt),Xe=C(x(Oe),2),Nt=x(Xe),hi=C(Xe,2);{var zt=Ke=>{var Mt=bX(),gi=x(Mt);Z(()=>K(gi,`${u(y)??""} outdated`)),T(Ke,Mt)};$(hi,Ke=>{u(y)>0&&Ke(zt)})}var Rt=C(hi,2),Dt=x(Rt);let ii;var mi=C(Oe,2),_n=x(mi),Zi=C(mi,2),vn=x(Zi);{var En=Ke=>{var Mt=wX();T(Ke,Mt)},zi=Ke=>{var Mt=yX();T(Ke,Mt)},qn=Ke=>{var Mt=Ts(),gi=yt(Mt);_i(gi,17,()=>u(_),Li=>Li.name,(Li,Ci)=>{var on=LX();let ki;var jn=x(on),Pn=x(jn),Xn=x(Pn),Tn=C(Pn,2),rn=x(Tn),Be=C(Tn,2);{var G=j=>{var pe=SX(),Fe=x(pe);Z(()=>K(Fe,`→ v${u(n)[u(Ci).name].latest??""}`)),T(j,pe)};$(Be,j=>{u(n)[u(Ci).name]&&j(G)})}var Re=C(jn,2),lt=x(Re);let ct;var Wt=x(lt);{var O=j=>{var pe=CX();T(j,pe)},se=j=>{var pe=xX();T(j,pe)};$(Wt,j=>{v[u(Ci).name]?j(O):j(se,-1)})}var be=C(lt,2);Z(()=>{ki=jt(on,1,"dep-row svelte-twakcj",null,ki,{"dep-busy":!!v[u(Ci).name]}),Rn(Pn,"href",u(Ci).url??`https://www.npmjs.com/package/${u(Ci).name}`),K(Xn,u(Ci).name),K(rn,u(Ci).installedVersion??u(Ci).version),ct=jt(lt,1,"icon-btn svelte-twakcj",null,ct,{"icon-btn--update":!!u(n)[u(Ci).name]}),lt.disabled=!!v[u(Ci).name],Rn(lt,"title",u(n)[u(Ci).name]?`Update to v${u(n)[u(Ci).name].latest}`:"Update to latest"),be.disabled=!!v[u(Ci).name]}),ne("click",lt,()=>X(u(Ci).name)),ne("click",be,()=>Y(u(Ci).name)),T(Li,on)}),T(Ke,Mt)};$(vn,Ke=>{u(t).length===0?Ke(En):u(_).length===0?Ke(zi,1):Ke(qn,-1)})}var dn=C(xt,2),Ln=C(x(dn),2),Wn=x(Ln),hn=C(Wn,2),Kn=x(hn),Fn=C(Ln,2);{var Hn=Ke=>{var Mt=PX();_i(Mt,21,()=>u(a),gi=>gi.name,(gi,Li)=>{var Ci=EX(),on=x(Ci),ki=x(on),jn=x(ki),Pn=C(ki,2),Xn=x(Pn),Tn=C(Pn,2);{var rn=O=>{var se=kX(),be=x(se);Z(()=>K(be,u(Li).author)),T(O,se)};$(Tn,O=>{u(Li).author&&O(rn)})}var Be=C(Tn,2);{var G=O=>{var se=IX(),be=x(se);Z(j=>{Rn(se,"title",u(Li).date),K(be,j)},[()=>V(u(Li).date)]),T(O,se)};$(Be,O=>{u(Li).date&&O(G)})}var Re=C(Be,2);{var lt=O=>{var se=DX(),be=x(se);Z(()=>K(be,u(Li).description)),T(O,se)};$(Re,O=>{u(Li).description&&O(lt)})}var ct=C(on,2),Wt=x(ct);Z(()=>{Rn(ki,"href",u(Li).url??`https://www.npmjs.com/package/${u(Li).name}`),K(jn,u(Li).name),K(Xn,u(Li).version),ct.disabled=!!v[u(Li).name],K(Wt,v[u(Li).name]?"Installing…":"Install")}),ne("click",ct,()=>F(u(Li).name)),T(gi,Ci)}),T(Ke,Mt)};$(Fn,Ke=>{u(a).length>0&&Ke(Hn)})}var Bn=C(Fn,2);{var un=Ke=>{var Mt=TX(),gi=x(Mt);Z(()=>K(gi,u(p))),T(Ke,Mt)};$(Bn,Ke=>{u(p)&&Ke(un)})}var Ki=C(Bn,2);{var Ti=Ke=>{var Mt=MX();T(Ke,Mt)};$(Ki,Ke=>{!u(a).length&&!u(p)&&Ke(Ti)})}Z(()=>{K(Nt,u(t).length),Rt.disabled=u(s),ii=jt(Dt,0,"svelte-twakcj",null,ii,{spinning:u(s)}),hn.disabled=u(g),K(Kn,u(g)?"Searching…":"Search")}),ne("click",Rt,E),Ei(_n,()=>u(i),Ke=>I(i,Ke)),ne("keydown",Wn,Ke=>Ke.key==="Enter"&&N()),Ei(Wn,()=>u(r),Ke=>I(r,Ke)),ne("click",hn,N),T(o,Ue),To()}_r(["click","keydown"]);var AX=R('<span class="update-dot svelte-1n46o8q" title="Update available"></span>'),OX=R('<dt class="svelte-1n46o8q">Latest</dt><dd style="color: #f90" class="svelte-1n46o8q"> </dd>',1),FX=R('<dt class="svelte-1n46o8q">Latest</dt><dd class="svelte-1n46o8q">up to date</dd>',1),HX=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>'),WX=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>'),BX=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),zX=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),VX=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>'),jX=R('<span class="stats-empty svelte-1n46o8q">Loading…</span>'),UX=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>'),$X=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>'),qX=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>'),KX=R('<div class="login-error svelte-1n46o8q"> </div>'),GX=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>'),ZX=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>'),XX=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>'),YX=R("<!> <!> <!> <!>",1);function JX(o,e){Po(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=z(wi(i())),s=z(null),r=z(!1),a=z(!1),c=z(!1),h=z(!1),g=z("none"),f=z(""),p=z(!1),v=z(""),_=z(""),y=z(!1),S=z(!1);V7(()=>{I(p,!0)});async function D(){I(_,""),I(y,!0);try{await $7(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 q7(),I(p,!0)}let N=z(null),V=z(!1);async function F(){if(!await u(N).show("Restart the she daemon? The page will reload after a moment.",{confirm:"Restart"}))return;I(V,!0);let de;try{de=(await gf()).startedAt}catch{}try{await nR()}catch{}const xt=Date.now()+6e4;for(;Date.now()<xt;){await new Promise(Oe=>setTimeout(Oe,250));try{const Oe=await gf();if(de===void 0||Oe.startedAt!==de){location.reload();return}}catch{}}location.reload()}async function Y(){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 Oe;if(!await u(N).show(`Update to v${(Oe=u(s))==null?void 0:Oe.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 xt=Date.now()+18e4;for(;Date.now()<xt;){await new Promise(Xe=>setTimeout(Xe,2e3));try{if(await gf(),de){location.reload();return}}catch{de=!0}}location.reload()}function ue(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 Xe=await U7();I(g,Xe.mode,!0),I(f,Xe.proxyLogoutUrl??"",!0),u(g)==="password"&&(await fetch("/she/scripts")).status===401&&I(p,!0)}catch{}I(S,!0);async function xt(){try{I(s,await gf(),!0)}catch{}}xt();const Oe=setInterval(xt,5e3);return()=>{window.removeEventListener("hashchange",de),clearInterval(Oe)}});var Ee=YX();is("click",$P,()=>{u(r)&&I(r,!1),u(a)&&I(a,!1)});var Ue=yt(Ee);{var ve=de=>{var xt=qX(),Oe=x(xt),Xe=C(x(Oe),2);let Nt;var hi=C(Xe,2);let zt;var Rt=C(hi,2);let Dt;var ii=C(Rt,2);let mi;var _n=C(ii,2);let Zi;var vn=C(_n,2);let En;var zi=C(vn,4),qn=C(x(zi),2),dn=x(qn),Ln=x(dn);Ln.nodeValue="v0.26.0 ";var Wn=C(Ln);{var hn=Pe=>{var Pt=AX();T(Pe,Pt)};$(Wn,Pe=>{var Pt;(Pt=u(s))!=null&&Pt.latestVersion&&Pe(hn)})}var Kn=C(dn,2);{var Fn=Pe=>{var Pt=WX(),dt=x(Pt),Ie=C(x(dt));Ie.textContent="v0.26.0";var At=C(Ie,2);{var ni=He=>{var nt=OX(),Yt=C(yt(nt)),ai=x(Yt);Z(()=>K(ai,`v${u(s).latestVersion??""}`)),T(He,nt)},qt=He=>{var nt=FX();T(He,nt)};$(At,He=>{var nt;(nt=u(s))!=null&&nt.latestVersion?He(ni):He(qt,-1)})}var $t=C(dt,2),ti=x($t);{var J=He=>{var nt=HX(),Yt=C(x(nt));Z(()=>K(Yt,` Update to v${u(s).latestVersion??""}`)),ne("click",nt,X),T(He,nt)};$(ti,He=>{var nt;(nt=u(s))!=null&&nt.latestVersion&&He(J)})}var _e=C(ti,2),$e=x(_e);let tt;var It=C($e);Z(()=>{_e.disabled=u(c),tt=jt($e,0,"svelte-1n46o8q",null,tt,{spinning:u(c)}),K(It,` ${u(c)?"Checking…":"Check for updates"}`)}),ne("click",Pt,He=>He.stopPropagation()),ne("click",_e,Y),T(Pe,Pt)};$(Kn,Pe=>{u(a)&&Pe(Fn)})}var Hn=C(qn,2),Bn=x(Hn),un=C(Bn,2);{var Ki=Pe=>{var Pt=UX(),dt=x(Pt);{var Ie=$t=>{var ti=VX(),J=C(x(ti)),_e=x(J),$e=C(J,3),tt=x($e),It=C($e,3),He=x(It),nt=C(It,2);{var Yt=q=>{var xe=BX(),Ce=C(yt(xe)),Ae=x(Ce),De=C(Ce,3),oe=x(De);Z(()=>{K(Ae,u(s).matterNodes??0),K(oe,u(s).matterEndpoints??0)}),T(q,xe)};$(nt,q=>{u(s).matterEnabled&&q(Yt)})}var ai=C(nt,2);{var si=q=>{var xe=zX(),Ce=C(yt(xe)),Ae=x(Ce),De=C(Ce,3),oe=x(De);Z(()=>{K(Ae,u(s).dbDocs??"—"),K(oe,u(s).dbViews??"—")}),T(q,xe)};$(ai,q=>{u(s).dbEnabled&&q(si)})}var Vi=C(ai,3),kn=x(Vi),Mi=C(Vi,3),oi=x(Mi),ji=C(Mi,3),A=x(ji);Z(()=>{K(_e,u(s).scripts),K(tt,u(s).topics),K(He,u(s).mqttMsgPerSec??"—"),K(kn,u(s).handlers??"—"),K(oi,u(s).memMb!=null?u(s).memMb+" MB":"—"),K(A,u(s).cpuPercent!=null?u(s).cpuPercent+" %":"—")}),T($t,ti)},At=$t=>{var ti=jX();T($t,ti)};$(dt,$t=>{u(s)?$t(Ie):$t(At,-1)})}var ni=C(dt,2),qt=x(ni);ne("click",Pt,$t=>$t.stopPropagation()),ne("click",qt,()=>{I(r,!1),F()}),T(Pe,Pt)};$(un,Pe=>{u(r)&&Pe(Ki)})}var Ti=C(Hn,2);let Ke;var Mt=C(Ti,2);{var gi=Pe=>{var Pt=$X();ne("click",Pt,E),T(Pe,Pt)};$(Mt,Pe=>{u(g)==="password"&&Pe(gi)})}var Li=C(Oe,2),Ci=x(Li);bs(Mg(Ci,{}),Pe=>I(N,Pe,!0),()=>u(N));var on=C(Ci,2);let ki;var jn=x(on);{let Pe=rt(()=>u(n)==="scripts");rG(jn,{get active(){return u(Pe)}})}var Pn=C(on,2);let Xn;var Tn=x(Pn);RX(Tn,{});var rn=C(Pn,2);let Be;var G=x(rn);pX(G,{});var Re=C(rn,2);let lt;var ct=x(Re);UZ(ct,{});var Wt=C(Re,2);let O;var se=x(Wt);eZ(se,{});var be=C(Wt,2);let j;var pe=x(be);qG(pe,{});var Fe=C(be,2);let ke;var Me=x(Fe);XG(Me,{}),Z(()=>{Nt=jt(Xe,1,"svelte-1n46o8q",null,Nt,{active:u(n)==="scripts"}),zt=jt(hi,1,"svelte-1n46o8q",null,zt,{active:u(n)==="packages"}),Dt=jt(Rt,1,"svelte-1n46o8q",null,Dt,{active:u(n)==="mqtt"}),mi=jt(ii,1,"svelte-1n46o8q",null,mi,{active:u(n)==="matter"}),Zi=jt(_n,1,"svelte-1n46o8q",null,Zi,{active:u(n)==="db"}),En=jt(vn,1,"svelte-1n46o8q",null,En,{active:u(n)==="logs"}),Ke=jt(Ti,1,"nav-settings svelte-1n46o8q",null,Ke,{active:u(n)==="config"}),ki=jt(on,1,"page-wrap svelte-1n46o8q",null,ki,{hidden:u(n)!=="scripts"}),Xn=jt(Pn,1,"page-wrap svelte-1n46o8q",null,Xn,{hidden:u(n)!=="packages"}),Be=jt(rn,1,"page-wrap svelte-1n46o8q",null,Be,{hidden:u(n)!=="mqtt"}),lt=jt(Re,1,"page-wrap svelte-1n46o8q",null,lt,{hidden:u(n)!=="matter"}),O=jt(Wt,1,"page-wrap svelte-1n46o8q",null,O,{hidden:u(n)!=="db"}),j=jt(be,1,"page-wrap svelte-1n46o8q",null,j,{hidden:u(n)!=="config"}),ke=jt(Fe,1,"page-wrap svelte-1n46o8q",null,ke,{hidden:u(n)!=="logs"})}),ne("click",Xe,()=>ue("scripts")),ne("click",hi,()=>ue("packages")),ne("click",Rt,()=>ue("mqtt")),ne("click",ii,()=>ue("matter")),ne("click",_n,()=>ue("db")),ne("click",vn,()=>ue("logs")),ne("click",dn,Pe=>{Pe.stopPropagation(),I(a,!u(a)),I(r,!1)}),ne("click",Bn,Pe=>{Pe.stopPropagation(),I(r,!u(r)),I(a,!1)}),ne("click",Ti,()=>ue("config")),T(de,xt)};$(Ue,de=>{u(S)&&!u(p)&&de(ve)})}var ot=C(Ue,2);{var Xt=de=>{var xt=GX(),Oe=x(xt),Xe=C(x(Oe),4),Nt=C(x(Xe),2),hi=C(Xe,2);{var zt=ii=>{var mi=KX(),_n=x(mi);Z(()=>K(_n,u(_))),T(ii,mi)};$(hi,ii=>{u(_)&&ii(zt)})}var Rt=C(hi,2),Dt=x(Rt);Z(()=>{Nt.disabled=u(y),Rt.disabled=u(y)||!u(v),K(Dt,u(y)?"Signing in…":"Sign in")}),is("submit",Oe,ii=>{ii.preventDefault(),D()}),Ei(Nt,()=>u(v),ii=>I(v,ii)),T(de,xt)};$(ot,de=>{u(p)&&de(Xt)})}var Ct=C(ot,2);{var Qt=de=>{var xt=ZX();T(de,xt)};$(Ct,de=>{u(V)&&de(Qt)})}var Ft=C(Ct,2);{var ei=de=>{var xt=XX();T(de,xt)};$(Ft,de=>{u(h)&&de(ei)})}T(o,Ee),To()}_r(["click"]);cW(JX,{target:document.getElementById("app")});export{LT as t};
|