smart-home-engine 0.27.7 → 0.28.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-BSDf7HLk.js +225 -0
- package/dist/web/assets/index-DMJ3LJnK.css +1 -0
- package/dist/web/assets/{tsMode-CIoeFEdg.js → tsMode-Z6Sa7F80.js} +1 -1
- package/dist/web/index.html +2 -2
- package/package.json +1 -1
- package/src/config.js +2 -0
- package/src/index.js +8 -1
- package/src/web/ai-api.js +7 -0
- package/src/web/git-api.js +22 -61
- package/dist/web/assets/index-CYeO3Jr9.css +0 -1
- package/dist/web/assets/index-D6zn4iiG.js +0 -225
|
@@ -1,225 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/jsonMode-CXWNuhmR.js","assets/monaco-langs-BW2J83t5.js","assets/monaco-langs-DyX1CsEw.css","assets/tsMode-CIoeFEdg.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
var rA=Object.defineProperty;var FL=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 Bi=(o,e,t)=>aA(o,typeof e!="symbol"?e+"":e,t),Xy=(o,e,t)=>e.has(o)||FL("Cannot "+t);var ee=(o,e,t)=>(Xy(o,e,"read from private field"),t?t.call(o):e.get(o)),Ti=(o,e,t)=>e.has(o)?FL("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(o):e.set(o,t),Mi=(o,e,t,i)=>(Xy(o,e,"write to private field"),i?i.call(o,t):e.set(o,t),t),In=(o,e,t)=>(Xy(o,e,"access private method"),t);import{_ as YD,m as JD,l as Lt,A as io,C as ae,I as Pn,D as Hp,a as ns,g as QD,M as lt,b as Yt,E as qr,c as M,r as tn,d as vr,e as y,f as lA,h as wn,R as Ri,S as qt,i as Ws,j as br,k as Vi,n as bi,o as ne,p as Se,K as rs,q as _t,s as Ve,t as hs,u as z,v as Di,O as xa,w as ls,P as kt,x as Yy,y as Wp,z as eE,B as el,F as Kr,G as Yw,H as Cs,U as cn,J as Gu,L as It,N as rl,Q as cA,T as Ys,V as Jw,W as dA,X as tE,$ as mt,Y as Ki,Z as zi,a0 as Un,a1 as hi,a2 as Mo,a3 as Uf,a4 as He,a5 as r_,a6 as hA,a7 as uA,a8 as ds,a9 as gA,aa as Gr,ab as no,ac as Mt,ad as iE,ae as Dn,af as fA,ag as pA,ah as Qs,ai as Lg,aj as as,ak as Gb,al as Ks,am as xc,an as S0,ao as Zb,ap as ys,aq as Zu,ar as ws,as as Xb,at as Yb,au as mA,av as Bp,aw as kg,ax as ml,ay as _A,az as Ig,aA as vA,aB as C0,aC as bA,aD as yA,aE as HL,aF as is,aG as tl,aH as Gs,aI as mi,aJ as Za,aK as wA,aL as Da,aM as Eo,aN as ms,aO as Zr,aP as x0,aQ as us,aR as Qn,aS as N_,aT as pi,aU as nE,aV as SA,aW as L0,aX as Jb,aY as k0,aZ as I0,a_ as id,a$ as CA,b0 as D0,b1 as xA,b2 as E0,b3 as _l,b4 as vl,b5 as Xu,b6 as $f,b7 as vo,b8 as zp,b9 as R_,ba as Jy,bb as fn,bc as P0,bd as Vp,be as Qb,bf as LA,bg as sE,bh as qf,bi as Yu,bj as Kf,bk as jp,bl as ey,bm as Ui,bn as Lc,bo as Up,bp as kA,bq as IA,br as T0,bs as DA,bt as A_,bu as Zo,bv as M0,bw as Ju,bx as bl,by as Dg,bz as ki,bA as Qu,bB as oE,bC as $p,bD as EA,bE as nd,bF as ct,bG as WL,bH as a_,bI as rE,bJ as Sr,bK as zr,bL as vn,bM as eg,bN as ur,bO as tg,bP as jn,bQ as Gf,bR as bh,bS as Qw,bT as aE,bU as lE,bV as cE,bW as N0,bX as uo,bY as Qi,bZ as qp,b_ as dE,b$ as il,c0 as ty,c1 as PA,c2 as au,c3 as BL,c4 as Kp,c5 as hE,c6 as lu,c7 as TA,c8 as or,c9 as iy,ca as MA,cb as so,cc as Xr,cd as Gp,ce as Zf,cf as uE,cg as $o,ch as Zp,ci as ny,cj as NA,ck as RA,cl as AA,cm as Eg,cn as Ea,co as _s,cp as OA,cq as R0,cr as FA,cs as HA,ct as zL,cu as WA,cv as Xp,cw as al,cx as eS,cy as eh,cz as ll,cA as BA,cB as La,cC as gr,cD as ko,cE as VL,cF as zs,cG as Yp,cH as pc,cI as Pa,cJ as zA,cK as Yr,cL as Xf,cM as sy,cN as gE,cO as VA,cP as jA,cQ as A0,cR as UA,cS as Yf,cT as $A,cU as Vl,cV as Jf,cW as jL,cX as qA,cY as KA,cZ as Na,c_ as GA,c$ as O0,d0 as fE,d1 as pE,d2 as mE,d3 as _E,d4 as ZA,d5 as XA,d6 as vE,d7 as bE,d8 as YA,d9 as F0,da as JA,db as QA,dc as Xn,dd as eO,de as H0,df as tO,dg as cu,dh as UL,di as iO,dj as nO,dk as sO,dl as oO,dm as rO,dn as aO,dp as ig,dq as oy,dr as tS,ds as lO,dt as cO,du as $L,dv as iS,dw as dO,dx as qL,dy as Qy,dz as hO,dA as yE,dB as uO,dC as wE,dD as nS,dE as gO,dF as fO,dG as pO,dH as SE,dI as CE,dJ as mO,dK as O_,dL as xE,dM as ry,dN as _O,dO as vO,dP as mc,dQ as W0,dR as bO,dS as KL,dT as GL,dU as yO,dV as du,dW as LE,dX as wO,dY as SO,dZ as CO,d_ as xO,d$ as kE,e0 as IE,e1 as DE,e2 as EE,e3 as LO,e4 as ka,e5 as ZL,e6 as kO,e7 as Jp,e8 as IO,e9 as rf,ea as PE,eb as XL,ec as Qf,ed as TE,ee as F_,ef as DO,eg as ME,eh as EO,ei as NE,ej as PO,ek as TO,el as RE,em as AE,en as cl,eo as ay,ep as MO,eq as OE,er as Po,es as sd,et as FE,eu as NO,ev as RO,ew as HE,ex as WE,ey as AO,ez as BE,eA as zE,eB as ep,eC as OO,eD as FO,eE as HO,eF as WO,eG as Gg,eH as YL,eI as BO,eJ as zO,eK as VO,eL as H_,eM as Is,eN as jO,eO as sS,eP as yh,eQ as UO,eR as Ga,eS as $O,eT as qO,eU as VE,eV as KO,eW as xf,eX as GO,eY as ZO,eZ as XO,e_ as YO,e$ as JL,f0 as QL,f1 as ek,f2 as wh,f3 as B0,f4 as jE,f5 as oS,f6 as l_,f7 as UE,f8 as W_,f9 as JO,fa as QO,fb as e2,fc as t2,fd as z0,fe as $E,ff as i2,fg as B_,fh as qE,fi as KE,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 GE,fs as h2,ft as z_,fu as ZE,fv as u2,fw as XE,fx as g2,fy as YE,fz as JE,fA as f2,fB as tk,fC as QE,fD as ik,fE as p2,fF as ew,fG as nk,fH as m2,fI as _2,fJ as v2,fK as ma,fL as _c,fM as b2,fN as sk,fO as c_,fP as y2,fQ as Xa,fR as ly,fS as rS,fT as w2,fU as eP,fV as tP,fW as Vs,fX as ok,fY as Pm,fZ as V0,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 rk,g7 as P2,g8 as T2,g9 as M2,ga as ng,gb as Lf,gc as iP,gd as N2,ge as j0,gf as d_,gg as Tm,gh as tw,gi as R2,gj as A2,gk as nP,gl as O2,gm as U0,gn as F2,go as H2,gp as sP,gq as cy,gr as W2,gs as V_,gt as $0,gu as q0,gv as K0,gw as oP,gx as rP,gy as aP,gz as lP,gA as cP,gB as dP,gC as hP,gD as ak,gE as uP,gF as Wh,gG as B2,gH as z2,gI as V2,gJ as j2,gK as gP,gL as U2,gM as $2,gN as lk,gO as aS,gP as Zl,gQ as q2,gR as K2,gS as G2,gT as Z2,gU as X2,gV as Y2,gW as ck,gX as G0,gY as lS,gZ as J2,g_ as cS,g$ as Q2,h0 as eF,h1 as tF,h2 as iF,h3 as Z0,h4 as fP,h5 as dk,h6 as hk,h7 as nF,h8 as sF,h9 as oF,ha as uk,hb as iw,hc as rF,hd as aF,he as lF,hf as nw,hg as pP,hh as mP,hi as _P,hj as vP,hk as dl,hl as bP,hm as X0,hn as gk,ho as cF,hp as yP,hq as dF,hr as hF,hs as dy,ht as hy,hu as Sh,hv as uy,hw as Qp,hx as uF,hy as gy,hz as gF,hA as fF,hB as pF,hC as wP,hD as Zg,hE as mF,hF as _F,hG as vF,hH as bF,hI as em,hJ as yF,hK as SP,hL as CP,hM as xP,hN as dS,hO as wF,hP as SF,hQ as CF,hR as xF,hS as LF,hT as hS,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 LP,i1 as RF,i2 as AF,i3 as OF,i4 as fk,i5 as FF,i6 as HF,i7 as Vc,i8 as tr,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 kP=!1;var Y0=Array.isArray,zF=Array.prototype.indexOf,j_=Array.prototype.includes,fy=Array.from,VF=Object.defineProperty,Lu=Object.getOwnPropertyDescriptor,jF=Object.getOwnPropertyDescriptors,UF=Object.prototype,$F=Array.prototype,IP=Object.getPrototypeOf,pk=Object.isExtensible;const py=()=>{};function qF(o){for(var e=0;e<o.length;e++)o[e]()}function DP(){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 mk(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 $s=2,sg=4,my=8,EP=1<<24,Vr=16,$r=32,vc=64,uS=128,mr=512,Ds=1024,Os=2048,Ta=4096,fo=8192,_r=16384,Pg=32768,gS=1<<25,og=65536,U_=1<<17,GF=1<<18,Tg=1<<19,ZF=1<<20,wa=1<<25,th=65536,$_=1<<21,ku=1<<22,Xl=1<<23,od=Symbol("$state"),XF=Symbol("legacy props"),YF=Symbol(""),h_=Symbol("attributes"),fS=Symbol("class"),pS=Symbol("style"),af=Symbol("text"),u_=Symbol("form reset"),_y=new class extends Error{constructor(){super(...arguments);Bi(this,"name","StaleReactionError");Bi(this,"message","The reaction that called `getAbortSignal()` was re-run or destroyed")}};function PP(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,TP=4,hH=8,uH=16,gH=1,fH=4,pH=8,mH=16,_H=1,vH=2,ks=Symbol("uninitialized"),MP="http://www.w3.org/1999/xhtml",bH="http://www.w3.org/2000/svg",yH="http://www.w3.org/1998/Math/MathML";function wH(){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 NP(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 RP(o){return!xH(o,this.v)}let LH=!1,Us=null;function rg(o){Us=o}function Ro(o,e=!1,t){Us={p:Us,i:!1,c:null,e:null,s:o,x:null,r:en,l:null}}function Ao(o){var e=Us,t=e.e;if(t!==null){e.e=null;for(var i of t)iT(i)}return o!==void 0&&(e.x=o),e.i=!0,Us=e.p,o??{}}function AP(){return!0}let Kc=[];function OP(){var o=Kc;Kc=[],qF(o)}function Yl(o){if(Kc.length===0&&!If){var e=Kc;queueMicrotask(()=>{e===Kc&&OP()})}Kc.push(o)}function kH(){for(;Kc.length>0;)OP()}function FP(o){var e=en;if(e===null)return Ji.f|=Xl,o;if((e.f&Pg)===0&&(e.f&sg)===0)throw o;jl(o,e)}function jl(o,e){for(;e!==null;){if((e.f&uS)!==0){if((e.f&Pg)===0)throw o;try{e.b.error(o);return}catch(t){o=t}}e=e.parent}throw o}const IH=-7169;function fs(o,e){o.f=o.f&IH|e}function J0(o){(o.f&mr)!==0||o.deps===null?fs(o,Ds):fs(o,Ta)}function HP(o){if(o!==null)for(const e of o)(e.f&$s)===0||(e.f&th)===0||(e.f^=th,HP(e.deps))}function WP(o,e,t){(o.f&Os)!==0?e.add(o):(o.f&Ta)!==0&&t.add(o),HP(o.deps),fs(o,Ds)}let Mm=!1;function DH(o){var e=Mm;try{return Mm=!1,[o(),Mm]}finally{Mm=e}}let sw=null,Bh=null,gi=null,kf=null,Bs=null,mS=null,If=!1,ow=!1,hu=null,g_=null;var _k=0;let EH=1;var Pu,Wl,Yc,Tu,Mu,Nu,Ua,Ru,Co,Mp,$a,Mr,ua,Au,Jc,Yn,_S,lf,vS,BP,zP,tu,PH,cf;const tb=class tb{constructor(){Ti(this,Yn);Bi(this,"id",EH++);Ti(this,Pu,!1);Bi(this,"linked",!0);Ti(this,Wl,null);Ti(this,Yc,null);Bi(this,"async_deriveds",new Map);Bi(this,"current",new Map);Bi(this,"previous",new Map);Ti(this,Tu,new Set);Ti(this,Mu,new Set);Ti(this,Nu,0);Ti(this,Ua,new Map);Ti(this,Ru,null);Ti(this,Co,[]);Ti(this,Mp,[]);Ti(this,$a,new Set);Ti(this,Mr,new Set);Ti(this,ua,new Map);Ti(this,Au,new Set);Bi(this,"is_fork",!1);Ti(this,Jc,!1);Bh===null?sw=Bh=this:(Mi(Bh,Yc,this),Mi(this,Wl,Bh)),Bh=this}skip_effect(e){ee(this,ua).has(e)||ee(this,ua).set(e,{d:[],m:[]}),ee(this,Au).delete(e)}unskip_effect(e,t=i=>this.schedule(i)){var i=ee(this,ua).get(e);if(i){ee(this,ua).delete(e);for(var n of i.d)fs(n,Os),t(n);for(n of i.m)fs(n,Ta),t(n)}ee(this,Au).add(e)}capture(e,t,i=!1){e.v!==ks&&!this.previous.has(e)&&this.previous.set(e,e.v),(e.f&Xl)===0&&(this.current.set(e,[t,i]),Bs==null||Bs.set(e,t)),this.is_fork||(e.v=t)}activate(){gi=this}deactivate(){gi=null,Bs=null}flush(){try{ow=!0,gi=this,In(this,Yn,lf).call(this)}finally{_k=0,mS=null,hu=null,g_=null,ow=!1,gi=null,Bs=null,rd.clear()}}discard(){var e;for(const t of ee(this,Mu))t(this);ee(this,Mu).clear(),In(this,Yn,cf).call(this),(e=ee(this,Ru))==null||e.resolve()}register_created_effect(e){ee(this,Mp).push(e)}increment(e,t){if(Mi(this,Nu,ee(this,Nu)+1),e){let i=ee(this,Ua).get(t)??0;ee(this,Ua).set(t,i+1)}}decrement(e,t){if(Mi(this,Nu,ee(this,Nu)-1),e){let i=ee(this,Ua).get(t)??0;i===1?ee(this,Ua).delete(t):ee(this,Ua).set(t,i-1)}ee(this,Jc)||(Mi(this,Jc,!0),Yl(()=>{Mi(this,Jc,!1),this.linked&&this.flush()}))}transfer_effects(e,t){for(const i of e)ee(this,$a).add(i);for(const i of t)ee(this,Mr).add(i);e.clear(),t.clear()}oncommit(e){ee(this,Tu).add(e)}ondiscard(e){ee(this,Mu).add(e)}settled(){return(ee(this,Ru)??Mi(this,Ru,DP())).promise}static ensure(){if(gi===null){const e=gi=new tb;!ow&&!If&&Yl(()=>{ee(e,Pu)||e.flush()})}return gi}apply(){{Bs=null;return}}schedule(e){var n;if(mS=e,(n=e.b)!=null&&n.is_pending&&(e.f&(sg|my|EP))!==0&&(e.f&Pg)===0){e.b.defer_effect(e);return}for(var t=e;t.parent!==null;){t=t.parent;var i=t.f;if(hu!==null&&t===en&&(Ji===null||(Ji.f&$s)===0))return;if((i&(vc|$r))!==0){if((i&Ds)===0)return;t.f^=Ds}}ee(this,Co).push(t)}};Pu=new WeakMap,Wl=new WeakMap,Yc=new WeakMap,Tu=new WeakMap,Mu=new WeakMap,Nu=new WeakMap,Ua=new WeakMap,Ru=new WeakMap,Co=new WeakMap,Mp=new WeakMap,$a=new WeakMap,Mr=new WeakMap,ua=new WeakMap,Au=new WeakMap,Jc=new WeakMap,Yn=new WeakSet,_S=function(){if(this.is_fork)return!0;for(const i of ee(this,Ua).keys()){for(var e=i,t=!1;e.parent!==null;){if(ee(this,ua).has(e)){t=!0;break}e=e.parent}if(!t)return!0}return!1},lf=function(){var c,h,g,f;Mi(this,Pu,!0),_k++>1e3&&(In(this,Yn,cf).call(this),MH());for(const p of ee(this,$a))ee(this,Mr).delete(p),fs(p,Os),this.schedule(p);for(const p of ee(this,Mr))fs(p,Ta),this.schedule(p);const e=ee(this,Co);Mi(this,Co,[]),this.apply();var t=hu=[],i=[],n=g_=[];for(const p of e)try{In(this,Yn,vS).call(this,p,t,i)}catch(v){throw UP(p),In(this,Yn,_S).call(this)||this.discard(),v}if(gi=null,n.length>0){var s=tb.ensure();for(const p of n)s.schedule(p)}if(hu=null,g_=null,In(this,Yn,_S).call(this)){In(this,Yn,tu).call(this,i),In(this,Yn,tu).call(this,t);for(const[p,v]of ee(this,ua))jP(p,v);n.length>0&&In(c=gi,Yn,lf).call(c);return}const r=In(this,Yn,BP).call(this);if(r){In(this,Yn,tu).call(this,i),In(this,Yn,tu).call(this,t),In(h=r,Yn,zP).call(h,this);return}ee(this,$a).clear(),ee(this,Mr).clear();for(const p of ee(this,Tu))p(this);ee(this,Tu).clear(),kf=this,vk(i),vk(t),kf=null,(g=ee(this,Ru))==null||g.resolve();var a=gi;if(ee(this,Nu)===0&&(ee(this,Co).length===0||a!==null)&&In(this,Yn,cf).call(this),ee(this,Co).length>0)if(a!==null){const p=a;ee(p,Co).push(...ee(this,Co).filter(v=>!ee(p,Co).includes(v)))}else a=this;a!==null&&In(f=a,Yn,lf).call(f)},vS=function(e,t,i){e.f^=Ds;for(var n=e.first;n!==null;){var s=n.f,r=(s&($r|vc))!==0,a=r&&(s&Ds)!==0,c=a||(s&fo)!==0||ee(this,ua).has(n);if(!c&&n.fn!==null){r?n.f^=Ds:(s&sg)!==0?t.push(n):im(n)&&((s&Vr)!==0&&ee(this,Mr).add(n),lg(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}}},BP=function(){for(var e=ee(this,Wl);e!==null;){if(!e.is_fork){for(const[t,[,i]]of this.current)if(e.current.has(t)&&!i)return e}e=ee(e,Wl)}return null},zP=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,$a),ee(e,Mr));const t=n=>{var s=n.reactions;if(s!==null)for(const c of s){var r=c.f;if((r&$s)!==0)t(c);else{var a=c;r&(ku|Vr)&&!this.async_deriveds.has(a)&&(ee(this,Mr).delete(a),fs(a,Os),this.schedule(a))}}};for(const n of this.current.keys())t(n);this.oncommit(()=>e.discard()),In(i=e,Yn,cf).call(i),gi=this,In(this,Yn,lf).call(this)},tu=function(e){for(var t=0;t<e.length;t+=1)WP(e[t],ee(this,$a),ee(this,Mr))},PH=function(){var g;for(let f=sw;f!==null;f=ee(f,Yc)){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,Pu)){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,Au))f.unskip_effect(p,v=>{var _;(v.f&(Vr|ku))!==0?f.schedule(v):In(_=f,Yn,tu).call(_,[v])});f.activate();var s=new Set,r=new Map;for(var a of t)VP(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,Mp))(p.f&(_r|fo|U_))===0&&Q0(p,c,r)&&((p.f&(ku|Vr))!==0?(fs(p,Os),f.schedule(p)):ee(f,$a).add(p));if(ee(f,Co).length>0&&!ee(f,Jc)){f.apply();for(var h of ee(f,Co))In(g=f,Yn,vS).call(g,h,[],[]);Mi(f,Co,[])}f.deactivate()}}}},cf=function(){if(this.linked){var e=ee(this,Wl),t=ee(this,Yc);e===null?sw=t:Mi(e,Yc,t),t===null?Bh=e:Mi(t,Wl,e),this.linked=!1}};let ih=tb;function TH(o){var e=If;If=!0;try{for(var t;;){if(kH(),gi===null)return t;gi.flush()}}finally{If=e}}function MH(){try{nH()}catch(o){jl(o,mS)}}let Er=null;function vk(o){var e=o.length;if(e!==0){for(var t=0;t<e;){var i=o[t++];if((i.f&(_r|fo))===0&&im(i)&&(Er=new Set,lg(i),i.deps===null&&i.first===null&&i.nodes===null&&i.teardown===null&&i.ac===null&&oT(i),(Er==null?void 0:Er.size)>0)){rd.clear();for(const n of Er){if((n.f&(_r|fo))!==0)continue;const s=[n];let r=n.parent;for(;r!==null;)Er.has(r)&&(Er.delete(r),s.push(r)),r=r.parent;for(let a=s.length-1;a>=0;a--){const c=s[a];(c.f&(_r|fo))===0&&lg(c)}}Er.clear()}}Er=null}}function VP(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&$s)!==0?VP(n,e,t,i):(s&(ku|Vr))!==0&&(s&Os)===0&&Q0(n,e,i)&&(fs(n,Os),e1(n))}}function Q0(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(j_.call(e,n))return!0;if((n.f&$s)!==0&&Q0(n,e,t))return t.set(n,!0),!0}return t.set(o,!1),!1}function e1(o){gi.schedule(o)}function jP(o,e){if(!((o.f&$r)!==0&&(o.f&Ds)!==0)){(o.f&Os)!==0?e.d.push(o):(o.f&Ta)!==0&&e.m.push(o),fs(o,Ds);for(var t=o.first;t!==null;)jP(t,e),t=t.next}}function UP(o){fs(o,Ds);for(var e=o.first;e!==null;)UP(e),e=e.next}function NH(o){let e=0,t=nh(0),i;return()=>{s1()&&(u(t),by(()=>(e===0&&(i=wl(()=>o(()=>Df(t)))),e+=1,()=>{Yl(()=>{e-=1,e===0&&(i==null||i(),i=void 0,Df(t))})})))}}var RH=og|Tg;function AH(o,e,t,i){new OH(o,e,t,i)}var ar,w0,lr,Qc,xo,cr,co,zo,qa,ed,Bl,Ou,Np,Rp,Ka,ib,ps,FH,HH,WH,bS,f_,p_,yS,wS;class OH{constructor(e,t,i,n){Ti(this,ps);Bi(this,"parent");Bi(this,"is_pending",!1);Bi(this,"transform_error");Ti(this,ar);Ti(this,w0,null);Ti(this,lr);Ti(this,Qc);Ti(this,xo);Ti(this,cr,null);Ti(this,co,null);Ti(this,zo,null);Ti(this,qa,null);Ti(this,ed,0);Ti(this,Bl,0);Ti(this,Ou,!1);Ti(this,Np,new Set);Ti(this,Rp,new Set);Ti(this,Ka,null);Ti(this,ib,NH(()=>(Mi(this,Ka,nh(ee(this,ed))),()=>{Mi(this,Ka,null)})));var s;Mi(this,ar,e),Mi(this,lr,t),Mi(this,Qc,r=>{var a=en;a.b=this,a.f|=uS,i(r)}),this.parent=en.b,this.transform_error=n??((s=this.parent)==null?void 0:s.transform_error)??(r=>r),Mi(this,xo,a1(()=>{In(this,ps,bS).call(this)},RH))}defer_effect(e){WP(e,ee(this,Np),ee(this,Rp))}is_rendered(){return!this.is_pending&&(!this.parent||this.parent.is_rendered())}has_pending_snippet(){return!!ee(this,lr).pending}update_pending_count(e,t){In(this,ps,yS).call(this,e,t),Mi(this,ed,ee(this,ed)+e),!(!ee(this,Ka)||ee(this,Ou))&&(Mi(this,Ou,!0),Yl(()=>{Mi(this,Ou,!1),ee(this,Ka)&&ag(ee(this,Ka),ee(this,ed))}))}get_effect_pending(){return ee(this,ib).call(this),u(ee(this,Ka))}error(e){if(!ee(this,lr).onerror&&!ee(this,lr).failed)throw e;gi!=null&&gi.is_fork?(ee(this,cr)&&gi.skip_effect(ee(this,cr)),ee(this,co)&&gi.skip_effect(ee(this,co)),ee(this,zo)&&gi.skip_effect(ee(this,zo)),gi.oncommit(()=>{In(this,ps,wS).call(this,e)})):In(this,ps,wS).call(this,e)}}ar=new WeakMap,w0=new WeakMap,lr=new WeakMap,Qc=new WeakMap,xo=new WeakMap,cr=new WeakMap,co=new WeakMap,zo=new WeakMap,qa=new WeakMap,ed=new WeakMap,Bl=new WeakMap,Ou=new WeakMap,Np=new WeakMap,Rp=new WeakMap,Ka=new WeakMap,ib=new WeakMap,ps=new WeakSet,FH=function(){try{Mi(this,cr,dr(()=>ee(this,Qc).call(this,ee(this,ar))))}catch(e){this.error(e)}},HH=function(e){const t=ee(this,lr).failed;t&&Mi(this,zo,dr(()=>{t(ee(this,ar),()=>e,()=>()=>{})}))},WH=function(){const e=ee(this,lr).pending;e&&(this.is_pending=!0,Mi(this,co,dr(()=>e(ee(this,ar)))),Yl(()=>{var t=Mi(this,qa,document.createDocumentFragment()),i=nl();t.append(i),Mi(this,cr,In(this,ps,p_).call(this,()=>dr(()=>ee(this,Qc).call(this,i)))),ee(this,Bl)===0&&(ee(this,ar).before(t),Mi(this,qa,null),ld(ee(this,co),()=>{Mi(this,co,null)}),In(this,ps,f_).call(this,gi))}))},bS=function(){try{if(this.is_pending=this.has_pending_snippet(),Mi(this,Bl,0),Mi(this,ed,0),Mi(this,cr,dr(()=>{ee(this,Qc).call(this,ee(this,ar))})),ee(this,Bl)>0){var e=Mi(this,qa,document.createDocumentFragment());c1(ee(this,cr),e);const t=ee(this,lr).pending;Mi(this,co,dr(()=>t(ee(this,ar))))}else In(this,ps,f_).call(this,gi)}catch(t){this.error(t)}},f_=function(e){this.is_pending=!1,e.transfer_effects(ee(this,Np),ee(this,Rp))},p_=function(e){var t=en,i=Ji,n=Us;Ma(ee(this,xo)),yr(ee(this,xo)),rg(ee(this,xo).ctx);try{return ih.ensure(),e()}catch(s){return FP(s),null}finally{Ma(t),yr(i),rg(n)}},yS=function(e,t){var i;if(!this.has_pending_snippet()){this.parent&&In(i=this.parent,ps,yS).call(i,e,t);return}Mi(this,Bl,ee(this,Bl)+e),ee(this,Bl)===0&&(In(this,ps,f_).call(this,t),ee(this,co)&&ld(ee(this,co),()=>{Mi(this,co,null)}),ee(this,qa)&&(ee(this,ar).before(ee(this,qa)),Mi(this,qa,null)))},wS=function(e){ee(this,cr)&&(To(ee(this,cr)),Mi(this,cr,null)),ee(this,co)&&(To(ee(this,co)),Mi(this,co,null)),ee(this,zo)&&(To(ee(this,zo)),Mi(this,zo,null));var t=ee(this,lr).onerror;let i=ee(this,lr).failed;var n=!1,s=!1;const r=()=>{if(n){CH();return}n=!0,s&&lH(),ee(this,zo)!==null&&ld(ee(this,zo),()=>{Mi(this,zo,null)}),In(this,ps,p_).call(this,()=>{In(this,ps,bS).call(this)})},a=c=>{try{s=!0,t==null||t(c,r),s=!1}catch(h){jl(h,ee(this,xo)&&ee(this,xo).parent)}i&&Mi(this,zo,In(this,ps,p_).call(this,()=>{try{return dr(()=>{var h=en;h.b=this,h.f|=uS,i(ee(this,ar),()=>c,()=>r)})}catch(h){return jl(h,ee(this,xo).parent),null}}))};Yl(()=>{var c;try{c=this.transform_error(e)}catch(h){jl(h,ee(this,xo)&&ee(this,xo).parent);return}c!==null&&typeof c=="object"&&typeof c.then=="function"?c.then(a,h=>jl(h,ee(this,xo)&&ee(this,xo).parent)):a(c)})};function BH(o,e,t,i){const n=tp;var s=o.filter(p=>!p.settled);if(t.length===0&&s.length===0){i(e.map(n));return}var r=en,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&_r)===0){a();try{i(p)}catch(v){jl(v,r)}q_()}}var g=$P();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=>jl(p,r)).finally(g)}c?c.then(()=>{a(),f(),q_()}):f()}function zH(){var o=en,e=Ji,t=Us,i=gi;return function(s=!0){Ma(o),yr(e),rg(t),s&&(o.f&_r)===0&&(i==null||i.activate(),i==null||i.apply())}}function q_(o=!0){Ma(null),yr(null),rg(null),o&&(gi==null||gi.deactivate())}function $P(){var o=en,e=o.b,t=gi,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 tp(o){var e=$s|Os;return en!==null&&(en.f|=Tg),{ctx:Us,deps:null,effects:null,equals:NP,f:e,fn:o,reactions:null,rv:0,v:ks,wv:0,parent:en,ac:null}}const Nm=Symbol("obsolete");function VH(o,e,t){let i=en;i===null&&JF();var n=void 0,s=nh(ks),r=!Ji,a=new Set;return eW(()=>{var v,_;var c=en,h=DP();n=h.promise;try{Promise.resolve(o()).then(h.resolve,w=>{w!==_y&&h.reject(w)}).finally(q_)}catch(w){h.reject(w),q_()}var g=gi;if(r){if((c.f&Pg)!==0)var f=$P();if((v=i.b)!=null&&v.is_rendered())(_=g.async_deriveds.get(c))==null||_.reject(Nm);else for(const w of a.values())w.reject(Nm);a.add(h),g.async_deriveds.set(c,h)}const p=(w,S=void 0)=>{f==null||f(),a.delete(h),S!==Nm&&(g.activate(),S?(s.f|=Xl,ag(s,S)):((s.f&Xl)!==0&&(s.f^=Xl),ag(s,w)),g.deactivate())};h.promise.then(p,w=>p(null,w||"unknown"))}),o1(()=>{for(const c of a)c.reject(Nm)}),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=tp(o);return lT(e),e}function t1(o){const e=tp(o);return e.equals=RP,e}function jH(o){var e=o.effects;if(e!==null){o.effects=null;for(var t=0;t<e.length;t+=1)To(e[t])}}function i1(o){var e,t=en,i=o.parent;if(!hl&&i!==null&&o.v!==ks&&(i.f&(_r|fo))!==0)return wH(),o.v;Ma(i);try{o.f&=~th,jH(o),e=uT(o)}finally{Ma(t)}return e}function qP(o){var e=i1(o);if(!o.equals(e)&&(o.wv=dT(),(!(gi!=null&&gi.is_fork)||o.deps===null)&&(gi!==null?(gi.capture(o,e,!0),kf==null||kf.capture(o,e,!0)):o.v=e,o.deps===null))){fs(o,Ds);return}hl||(Bs!==null?(s1()||gi!=null&&gi.is_fork)&&Bs.set(o,e):J0(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(_y),i.fn!==null&&(i.teardown=py),i.ac=null,ip(i,0),l1(i))}function KP(o){if(o.effects!==null)for(const e of o.effects)e.teardown&&e.fn!==null&&lg(e)}let K_=new Set;const rd=new Map;let GP=!1;function nh(o,e){var t={f:0,v:o,reactions:null,equals:NP,rv:0,wv:0};return t}function B(o,e){const t=nh(o);return lT(t),t}function $H(o,e=!1,t=!0){const i=nh(o);return e||(i.equals=RP),i}function k(o,e,t=!1){Ji!==null&&(!jr||(Ji.f&U_)!==0)&&AP()&&(Ji.f&($s|Vr|ku|U_))!==0&&(Ia===null||!Ia.has(o))&&aH();let i=t?Si(e):e;return ag(o,i,g_)}function ag(o,e,t=null){if(!o.equals(e)){rd.set(o,hl?e:o.v);var i=ih.ensure();if(i.capture(o,e),(o.f&$s)!==0){const n=o;(o.f&Os)!==0&&i1(n),Bs===null&&J0(n)}o.wv=dT(),ZP(o,Os,t),en!==null&&(en.f&Ds)!==0&&(en.f&($r|vc))===0&&(rr===null?iW([o]):rr.push(o)),!i.is_fork&&K_.size>0&&!GP&&qH()}return e}function qH(){GP=!1;for(const o of K_){(o.f&Ds)!==0&&fs(o,Ta);let e;try{e=im(o)}catch{e=!0}e&&lg(o)}K_.clear()}function bk(o,e=1){var t=u(o),i=e===1?t++:t--;return k(o,t),i}function Df(o){k(o,o.v+1)}function ZP(o,e,t){var i=o.reactions;if(i!==null)for(var n=i.length,s=0;s<n;s++){var r=i[s],a=r.f,c=(a&Os)===0;if(c&&fs(r,e),(a&U_)!==0)K_.add(r);else if((a&$s)!==0){var h=r;Bs==null||Bs.delete(h),(a&th)===0&&(a&mr&&(en===null||(en.f&$_)===0)&&(r.f|=th),ZP(h,Ta,t))}else if(c){var g=r;(a&Vr)!==0&&Er!==null&&Er.add(g),t!==null?t.push(g):e1(g)}}}function Si(o){if(typeof o!="object"||o===null||od in o)return o;const e=IP(o);if(e!==UF&&e!==$F)return o;var t=new Map,i=Y0(o),n=B(0),s=cd,r=a=>{if(cd===s)return a();var c=Ji,h=cd;yr(null),Ck(s);var g=a();return yr(c),Ck(h),g};return i&&t.set("length",B(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=B(h.value);return t.set(c,f),f}):k(g,h.value,!0),!0},deleteProperty(a,c){var h=t.get(c);if(h===void 0){if(c in a){const g=r(()=>B(ks));t.set(c,g),Df(n)}}else k(h,ks),Df(n);return!0},get(a,c,h){var v;if(c===od)return o;var g=t.get(c),f=c in a;if(g===void 0&&(!f||(v=Lu(a,c))!=null&&v.writable)&&(g=r(()=>{var _=Si(f?a[c]:ks),w=B(_);return w}),t.set(c,g)),g!==void 0){var p=u(g);return p===ks?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!==ks)return{enumerable:!0,configurable:!0,value:p,writable:!0}}return h},has(a,c){var p;if(c===od)return!0;var h=t.get(c),g=h!==void 0&&h.v!==ks||Reflect.has(a,c);if(h!==void 0||en!==null&&(!g||(p=Lu(a,c))!=null&&p.writable)){h===void 0&&(h=r(()=>{var v=g?Si(a[c]):ks,_=B(v);return _}),t.set(c,h));var f=u(h);if(f===ks)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?k(_,ks):v in a&&(_=r(()=>B(ks)),t.set(v+"",_))}if(f===void 0)(!p||(N=Lu(a,c))!=null&&N.writable)&&(f=r(()=>B(void 0)),k(f,Si(h)),t.set(c,f));else{p=f.v!==ks;var w=r(()=>Si(h));k(f,w)}var S=Reflect.getOwnPropertyDescriptor(a,c);if(S!=null&&S.set&&S.set.call(g,h),!p){if(i&&typeof c=="string"){var D=t.get("length"),P=Number(c);Number.isInteger(P)&&P>=D.v&&k(D,P+1)}Df(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!==ks});for(var[h,g]of t)g.v!==ks&&!(h in a)&&c.push(h);return c},setPrototypeOf(){rH()}})}function yk(o){try{if(o!==null&&typeof o=="object"&&od in o)return o[od]}catch{}return o}function KH(o,e){return Object.is(yk(o),yk(e))}var ad,XP,YP,JP,QP;function GH(){if(ad===void 0){ad=window,XP=document,YP=/Firefox/.test(navigator.userAgent);var o=Element.prototype,e=Node.prototype,t=Text.prototype;JP=Lu(e,"firstChild").get,QP=Lu(e,"nextSibling").get,pk(o)&&(o[fS]=void 0,o[h_]=null,o[pS]=void 0,o.__e=void 0),pk(t)&&(t[af]=void 0)}}function nl(o=""){return document.createTextNode(o)}function Sa(o){return JP.call(o)}function tm(o){return QP.call(o)}function C(o,e){return Sa(o)}function bt(o,e=!1){{var t=Sa(o);return t instanceof Comment&&t.data===""?tm(t):t}}function x(o,e=1,t=!1){let i=o;for(;e--;)i=tm(i);return i}function ZH(o){o.textContent=""}function eT(){return!1}function tT(o,e,t){return e==null||e===MP?t?document.createElement(o,{is:t}):document.createElement(o):t?document.createElementNS(e,o,{is:t}):document.createElementNS(e,o)}let wk=!1;function XH(){wk||(wk=!0,document.addEventListener("reset",o=>{Promise.resolve().then(()=>{var e;if(!o.defaultPrevented)for(const t of o.target.elements)(e=t[u_])==null||e.call(t)})},{capture:!0}))}function vy(o){var e=Ji,t=en;yr(null),Ma(null);try{return o()}finally{yr(e),Ma(t)}}function n1(o,e,t,i=t){o.addEventListener(e,()=>vy(t));const n=o[u_];n?o[u_]=()=>{n(),i(!0)}:o[u_]=()=>i(!0),XH()}function YH(o){en===null&&(Ji===null&&iH(),tH()),hl&&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 yl(o,e){var t=en;t!==null&&(t.f&fo)!==0&&(o|=fo);var i={ctx:Us,deps:null,nodes:null,f:o|Os|mr,first:null,fn:e,last:null,next:null,parent:t,b:t&&t.b,prev:null,teardown:null,wv:0,ac:null};gi==null||gi.register_created_effect(i);var n=i;if((o&sg)!==0)hu!==null?hu.push(i):ih.ensure().schedule(i);else if(e!==null){try{lg(i)}catch(r){throw To(i),r}n.deps===null&&n.teardown===null&&n.nodes===null&&n.first===n.last&&(n.f&Tg)===0&&(n=n.first,(o&Vr)!==0&&(o&og)!==0&&n!==null&&(n.f|=og))}if(n!==null&&(n.parent=t,t!==null&&JH(n,t),Ji!==null&&(Ji.f&$s)!==0&&(o&vc)===0)){var s=Ji;(s.effects??(s.effects=[])).push(n)}return i}function s1(){return Ji!==null&&!jr}function o1(o){const e=yl(my,null);return fs(e,Ds),e.teardown=o,e}function zn(o){YH();var e=en.f,t=!Ji&&(e&$r)!==0&&Us!==null&&!Us.i;if(t){var i=Us;(i.e??(i.e=[])).push(o)}else return iT(o)}function iT(o){return yl(sg|ZF,o)}function QH(o){ih.ensure();const e=yl(vc|Tg,o);return(t={})=>new Promise(i=>{t.outro?ld(e,()=>{To(e),i(void 0)}):(To(e),i(void 0))})}function r1(o){return yl(sg,o)}function eW(o){return yl(ku|Tg,o)}function by(o,e=0){return yl(my|e,o)}function G(o,e=[],t=[],i=[]){BH(i,e,t,n=>{yl(my,()=>o(...n.map(u)))})}function a1(o,e=0){var t=yl(Vr|e,o);return t}function dr(o){return yl($r|Tg,o)}function nT(o){var e=o.teardown;if(e!==null){const t=hl,i=Ji;Sk(!0),yr(null);try{e.call(null)}finally{Sk(t),yr(i)}}}function l1(o,e=!1){var t=o.first;for(o.first=o.last=null;t!==null;){const n=t.ac;n!==null&&vy(()=>{n.abort(_y)});var i=t.next;(t.f&vc)!==0?t.parent=null:To(t,e),t=i}}function tW(o){for(var e=o.first;e!==null;){var t=e.next;(e.f&$r)===0&&To(e),e=t}}function To(o,e=!0){var t=!1;(e||(o.f&GF)!==0)&&o.nodes!==null&&o.nodes.end!==null&&(sT(o.nodes.start,o.nodes.end),t=!0),fs(o,gS),l1(o,e&&!t),ip(o,0);var i=o.nodes&&o.nodes.t;if(i!==null)for(const s of i)s.stop();nT(o),o.f^=gS,o.f|=_r;var n=o.parent;n!==null&&n.first!==null&&oT(o),o.next=o.prev=o.teardown=o.ctx=o.deps=o.fn=o.nodes=o.ac=o.b=null}function sT(o,e){for(;o!==null;){var t=o===e?null:tm(o);o.remove(),o=t}}function oT(o){var e=o.parent,t=o.prev,i=o.next;t!==null&&(t.next=i),i!==null&&(i.prev=t),e!==null&&(e.first===o&&(e.first=i),e.last===o&&(e.last=t))}function ld(o,e,t=!0){var i=[];rT(o,i,!0);var n=()=>{t&&To(o),e&&e()},s=i.length;if(s>0){var r=()=>--s||n();for(var a of i)a.out(r)}else n()}function rT(o,e,t){if((o.f&fo)===0){o.f^=fo;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&og)!==0||(n.f&$r)!==0&&(o.f&Vr)!==0;rT(n,e,r?t:!1)}n=s}}}function G_(o){aT(o,!0)}function aT(o,e){if((o.f&fo)!==0){o.f^=fo,(o.f&Ds)===0&&(fs(o,Os),ih.ensure().schedule(o));for(var t=o.first;t!==null;){var i=t.next,n=(t.f&og)!==0||(t.f&$r)!==0;aT(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 c1(o,e){if(o.nodes)for(var t=o.nodes.start,i=o.nodes.end;t!==null;){var n=t===i?null:tm(t);e.append(t),t=n}}let m_=!1,hl=!1;function Sk(o){hl=o}let Ji=null,jr=!1;function yr(o){Ji=o}let en=null;function Ma(o){en=o}let Ia=null;function lT(o){Ji!==null&&(Ia??(Ia=new Set)).add(o)}let Lo=null,Wo=0,rr=null;function iW(o){rr=o}let cT=1,Gc=0,cd=Gc;function Ck(o){cd=o}function dT(){return++cT}function im(o){var e=o.f;if((e&Os)!==0)return!0;if(e&$s&&(o.f&=~th),(e&Ta)!==0){for(var t=o.deps,i=t.length,n=0;n<i;n++){var s=t[n];if(im(s)&&qP(s),s.wv>o.wv)return!0}(e&mr)!==0&&Bs===null&&fs(o,Ds)}return!1}function hT(o,e,t=!0){var i=o.reactions;if(i!==null&&!(Ia!==null&&Ia.has(o)))for(var n=0;n<i.length;n++){var s=i[n];(s.f&$s)!==0?hT(s,e,!1):e===s&&(t?fs(s,Os):(s.f&Ds)!==0&&fs(s,Ta),e1(s))}}function uT(o){var w;var e=Lo,t=Wo,i=rr,n=Ji,s=Ia,r=Us,a=jr,c=cd,h=o.f;Lo=null,Wo=0,rr=null,Ji=(h&($r|vc))===0?o:null,Ia=null,rg(o.ctx),jr=!1,cd=++Gc,o.ac!==null&&(vy(()=>{o.ac.abort(_y)}),o.ac=null);try{o.f|=$_;var g=o.fn,f=g();o.f|=Pg;var p=o.deps,v=gi==null?void 0:gi.is_fork;if(Lo!==null){var _;if(v||ip(o,Wo),p!==null&&Wo>0)for(p.length=Wo+Lo.length,_=0;_<Lo.length;_++)p[Wo+_]=Lo[_];else o.deps=p=Lo;if(s1()&&(o.f&mr)!==0)for(_=Wo;_<p.length;_++)((w=p[_]).reactions??(w.reactions=[])).push(o)}else!v&&p!==null&&Wo<p.length&&(ip(o,Wo),p.length=Wo);if(AP()&&rr!==null&&!jr&&p!==null&&(o.f&($s|Ta|Os))===0)for(_=0;_<rr.length;_++)hT(rr[_],o);if(n!==null&&n!==o){if(Gc++,n.deps!==null)for(let S=0;S<t;S+=1)n.deps[S].rv=Gc;if(e!==null)for(const S of e)S.rv=Gc;rr!==null&&(i===null?i=rr:i.push(...rr))}return(o.f&Xl)!==0&&(o.f^=Xl),f}catch(S){return FP(S)}finally{o.f^=$_,Lo=e,Wo=t,rr=i,Ji=n,Ia=s,rg(r),jr=a,cd=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&$s)!==0&&(Lo===null||!j_.call(Lo,e))){var s=e;(s.f&mr)!==0&&(s.f^=mr,s.f&=~th),s.v!==ks&&J0(s),UH(s),ip(s,0)}}function ip(o,e){var t=o.deps;if(t!==null)for(var i=e;i<t.length;i++)nW(o,t[i])}function lg(o){var e=o.f;if((e&_r)===0){fs(o,Ds);var t=en,i=m_;en=o,m_=!0;try{(e&(Vr|EP))!==0?tW(o):l1(o),nT(o);var n=uT(o);o.teardown=typeof n=="function"?n:null,o.wv=cT;var s;kP&&LH&&(o.f&Os)!==0&&o.deps}finally{m_=i,en=t}}}async function __(){await Promise.resolve(),TH()}function u(o){var e=o.f,t=(e&$s)!==0;if(Ji!==null&&!jr){var i=en!==null&&(en.f&_r)!==0;if(!i&&(Ia===null||!Ia.has(o))){var n=Ji.deps;if((Ji.f&$_)!==0)o.rv<Gc&&(o.rv=Gc,Lo===null&&n!==null&&n[Wo]===o?Wo++:Lo===null?Lo=[o]:Lo.push(o));else{Ji.deps??(Ji.deps=[]),j_.call(Ji.deps,o)||Ji.deps.push(o);var s=o.reactions;s===null?o.reactions=[Ji]:j_.call(s,Ji)||s.push(Ji)}}}if(hl&&rd.has(o))return rd.get(o);if(t){var r=o;if(hl){var a=r.v;return((r.f&Ds)===0&&r.reactions!==null||fT(r))&&(a=i1(r)),rd.set(r,a),a}var c=(r.f&mr)===0&&!jr&&Ji!==null&&(m_||(Ji.f&mr)!==0),h=(r.f&Pg)===0;im(r)&&(c&&(r.f|=mr),qP(r)),c&&!h&&(KP(r),gT(r))}if(Bs!=null&&Bs.has(o))return Bs.get(o);if((o.f&Xl)!==0)throw o.v;return o.v}function gT(o){if(o.f|=mr,o.deps!==null)for(const e of o.deps)(e.reactions??(e.reactions=[])).push(o),(e.f&$s)!==0&&(e.f&mr)===0&&(KP(e),gT(e))}function fT(o){if(o.v===ks)return!0;if(o.deps===null)return!1;for(const e of o.deps)if(rd.has(e)||(e.f&$s)!==0&&fT(e))return!0;return!1}function wl(o){var e=jr;try{return jr=!0,o()}finally{jr=e}}const sW=["touchstart","touchmove"];function oW(o){return sW.includes(o)}const Zc=Symbol("events"),pT=new Set,SS=new Set;function rW(o,e,t,i={}){function n(s){if(i.capture||CS.call(e,s),!s.cancelBubble)return vy(()=>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 os(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)&&o1(()=>{e.removeEventListener(o,r,s)})}function te(o,e,t){(e[Zc]??(e[Zc]={}))[o]=t}function Cr(o){for(var e=0;e<o.length;e++)pT.add(o[e]);for(var t of SS)t(o)}let xk=null;function CS(o){var w,S;var e=this,t=e.ownerDocument,i=o.type,n=((w=o.composedPath)==null?void 0:w.call(o))||[],s=n[0]||o.target;xk=o;var r=0,a=xk===o&&o[Zc];if(a){var c=n.indexOf(a);if(c!==-1&&(e===document||e===window)){o[Zc]=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=Ji,f=en;yr(null),Ma(null);try{for(var p,v=[];s!==null&&s!==e;){try{var _=(S=s[Zc])==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[Zc]=e,delete o.currentTarget,yr(g),Ma(f)}}}var ZD;const rw=((ZD=globalThis==null?void 0:globalThis.window)==null?void 0:ZD.trustedTypes)&&globalThis.window.trustedTypes.createPolicy("svelte-trusted-html",{createHTML:o=>o});function aW(o){return(rw==null?void 0:rw.createHTML(o))??o}function mT(o){var e=tT("template");return e.innerHTML=aW(o.replaceAll("<!>","<!---->")),e.content}function sh(o,e){var t=en;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=mT(s?o:"<!>"+o),t||(n=Sa(n)));var r=i||YP?document.importNode(n,!0):n.cloneNode(!0);if(t){var a=Sa(r),c=r.lastChild;sh(a,c)}else sh(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=mT(n),a=Sa(r);s=Sa(a)}var c=s.cloneNode(!0);return sh(c,c),c}}function _T(o,e){return lW(o,e,"svg")}function Ur(o=""){{var e=nl(o+"");return sh(e,e),e}}function Fs(){var o=document.createDocumentFragment(),e=document.createComment(""),t=nl();return o.append(e,t),sh(e,t),o}function T(o,e){o!==null&&o.before(e)}function q(o,e){var t=e==null?"":typeof e=="object"?`${e}`:e;t!==(o[af]??(o[af]=o.nodeValue))&&(o[af]=t,o.nodeValue=`${t}`)}function cW(o,e){return dW(o,e)}const Rm=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(nl());AH(g,{pending:()=>{}},v=>{Ro({});var _=Us;s&&(_.c=s),n&&(i.$$events=n),c=o(v,i)||{},Ao()},a);var f=new Set,p=v=>{for(var _=0;_<v.length;_++){var w=v[_];if(!f.has(w)){f.add(w);var S=oW(w);for(const N of[e,document]){var D=Rm.get(N);D===void 0&&(D=new Map,Rm.set(N,D));var P=D.get(w);P===void 0?(N.addEventListener(w,CS,{passive:S}),D.set(w,1)):D.set(w,P+1)}}}};return p(fy(pT)),SS.add(p),()=>{var S;for(var v of f)for(const D of[e,document]){var _=Rm.get(D),w=_.get(v);--w==0?(D.removeEventListener(v,CS),_.delete(v),_.size===0&&Rm.delete(D)):_.set(v,w)}SS.delete(p),g!==t&&((S=g.parentNode)==null||S.removeChild(g))}});return hW.set(c,h),c}let hW=new WeakMap;var Nr,ga,Vo,td,Ap,Op,nb;class uW{constructor(e,t=!0){Bi(this,"anchor");Ti(this,Nr,new Map);Ti(this,ga,new Map);Ti(this,Vo,new Map);Ti(this,td,new Set);Ti(this,Ap,!0);Ti(this,Op,e=>{if(ee(this,Nr).has(e)){var t=ee(this,Nr).get(e),i=ee(this,ga).get(t);if(i)G_(i),ee(this,td).delete(t);else{var n=ee(this,Vo).get(t);n&&(G_(n.effect),ee(this,ga).set(t,n.effect),ee(this,Vo).delete(t),n.fragment.lastChild.remove(),this.anchor.before(n.fragment),i=n.effect)}for(const[s,r]of ee(this,Nr)){if(ee(this,Nr).delete(s),s===e)break;const a=ee(this,Vo).get(r);a&&(To(a.effect),ee(this,Vo).delete(r))}for(const[s,r]of ee(this,ga)){if(s===t||ee(this,td).has(s))continue;const a=()=>{if(Array.from(ee(this,Nr).values()).includes(s)){var h=document.createDocumentFragment();c1(r,h),h.append(nl()),ee(this,Vo).set(s,{effect:r,fragment:h})}else To(r);ee(this,td).delete(s),ee(this,ga).delete(s)};ee(this,Ap)||!i?(ee(this,td).add(s),ld(r,a,!1)):a()}}});Ti(this,nb,e=>{ee(this,Nr).delete(e);const t=Array.from(ee(this,Nr).values());for(const[i,n]of ee(this,Vo))t.includes(i)||(To(n.effect),ee(this,Vo).delete(i))});this.anchor=e,Mi(this,Ap,t)}ensure(e,t){var i=gi,n=eT();if(t&&!ee(this,ga).has(e)&&!ee(this,Vo).has(e))if(n){var s=document.createDocumentFragment(),r=nl();s.append(r),ee(this,Vo).set(e,{effect:dr(()=>t(r)),fragment:s})}else ee(this,ga).set(e,dr(()=>t(this.anchor)));if(ee(this,Nr).set(i,e),n){for(const[a,c]of ee(this,ga))a===e?i.unskip_effect(c):i.skip_effect(c);for(const[a,c]of ee(this,Vo))a===e?i.unskip_effect(c.effect):i.skip_effect(c.effect);i.oncommit(ee(this,Op)),i.ondiscard(ee(this,nb))}else ee(this,Op).call(this,i)}}Nr=new WeakMap,ga=new WeakMap,Vo=new WeakMap,td=new WeakMap,Ap=new WeakMap,Op=new WeakMap,nb=new WeakMap;function $(o,e,t=!1){var i=new uW(o),n=t?og:0;function s(r,a){i.ensure(r,a)}a1(()=>{var r=!1;e((a,c=0)=>{r=!0,s(c,a)}),r||s(-1,null)},n)}function Vn(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];ld(f,()=>{if(s){if(s.pending.delete(f),s.done.add(f),s.pending.size===0){var p=o.outrogroups;xS(o,fy(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()}xS(o,e,!c)}else s={pending:new Set(e),done:new Set},(o.outrogroups??(o.outrogroups=new Set)).add(s)}function xS(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|=wa;const r=document.createDocumentFragment();c1(s,r)}else To(e[n],t)}}var Lk;function _i(o,e,t,i,n,s=null){var r=o,a=new Map,c=(e&TP)!==0;if(c){var h=o;r=h.appendChild(nl())}var g=null,f=t1(()=>{var N=t();return Y0(N)?N:N==null?[]:fy(N)}),p,v=new Map,_=!0;function w(N){(P.effect.f&_r)===0&&(P.pending.delete(N),P.fallback=g,fW(P,p,r,e,i),g!==null&&(p.length===0?(g.f&wa)===0?G_(g):(g.f^=wa,df(g,null,r)):ld(g,()=>{g=null})))}function S(N){P.pending.delete(N)}var D=a1(()=>{p=u(f);for(var N=p.length,V=new Set,F=gi,Y=eT(),X=0;X<N;X+=1){var me=p[X],Le=i(me,X),je=_?null:a.get(Le);je?(je.v&&ag(je.v,me),je.i&&ag(je.i,X),Y&&F.unskip_effect(je.e)):(je=pW(a,_?r:Lk??(Lk=nl()),me,Le,X,n,e,t),_||(je.e.f|=wa),a.set(Le,je)),V.add(Le)}if(N===0&&s&&!g&&(_?g=dr(()=>s(r)):(g=dr(()=>s(Lk??(Lk=nl()))),g.f|=wa)),N>V.size&&QF(),!_)if(v.set(F,V),Y){for(const[ve,st]of a)V.has(ve)||F.skip_effect(st.e);F.oncommit(w),F.ondiscard(S)}else w(F);u(f)}),P={effect:D,items:a,pending:v,outrogroups:null,fallback:g};_=!1}function Xg(o){for(;o!==null&&(o.f&$r)===0;)o=o.next;return o}function fW(o,e,t,i,n){var je,ve,st,Ot,yt,ai,jt,Qt,Ne;var s=(i&hH)!==0,r=e.length,a=o.items,c=Xg(o.effect.first),h,g=null,f,p=[],v=[],_,w,S,D;if(s)for(D=0;D<r;D+=1)_=e[D],w=n(_,D),S=a.get(w).e,(S.f&wa)===0&&((ve=(je=S.nodes)==null?void 0:je.a)==null||ve.measure(),(f??(f=new Set)).add(S));for(D=0;D<r;D+=1){if(_=e[D],w=n(_,D),S=a.get(w).e,o.outrogroups!==null)for(const Ge of o.outrogroups)Ge.pending.delete(S),Ge.done.delete(S);if((S.f&fo)!==0&&(G_(S),s&&((Ot=(st=S.nodes)==null?void 0:st.a)==null||Ot.unfix(),(f??(f=new Set)).delete(S))),(S.f&wa)!==0)if(S.f^=wa,S===c)df(S,null,t);else{var P=g?g.next:c;S===o.effect.last&&(o.effect.last=S.prev),S.prev&&(S.prev.next=S.next),S.next&&(S.next.prev=S.prev),Il(o,g,S),Il(o,S,P),df(S,P,t),g=S,p=[],v=[],c=Xg(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)df(p[V],N,t);for(V=0;V<v.length;V+=1)h.delete(v[V]);Il(o,F.prev,Y.next),Il(o,g,F),Il(o,Y,N),c=N,g=Y,D-=1,p=[],v=[]}else h.delete(S),df(S,c,t),Il(o,S.prev,S.next),Il(o,S,g===null?o.effect.first:g.next),Il(o,g,S),g=S;continue}for(p=[],v=[];c!==null&&c!==S;)(h??(h=new Set)).add(c),v.push(c),c=Xg(c.next);if(c===null)continue}(S.f&wa)===0&&p.push(S),g=S,c=Xg(S.next)}if(o.outrogroups!==null){for(const Ge of o.outrogroups)Ge.pending.size===0&&(xS(o,fy(Ge.done)),(yt=o.outrogroups)==null||yt.delete(Ge));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&fo)===0&&X.push(S);for(;c!==null;)(c.f&fo)===0&&c!==o.fallback&&X.push(c),c=Xg(c.next);var me=X.length;if(me>0){var Le=(i&TP)!==0&&r===0?t:null;if(s){for(D=0;D<me;D+=1)(jt=(ai=X[D].nodes)==null?void 0:ai.a)==null||jt.measure();for(D=0;D<me;D+=1)(Ne=(Qt=X[D].nodes)==null?void 0:Qt.a)==null||Ne.fix()}gW(o,X,Le)}}s&&Yl(()=>{var Ge,Re;if(f!==void 0)for(S of f)(Re=(Ge=S.nodes)==null?void 0:Ge.a)==null||Re.apply()})}function pW(o,e,t,i,n,s,r,a){var c=(r&cH)!==0?(r&uH)===0?$H(t,!1,!1):nh(t):null,h=(r&dH)!==0?nh(n):null;return{v:c,i:h,e:dr(()=>(s(e,c??t,h??n,a),()=>{o.delete(i)}))}}function df(o,e,t){if(o.nodes)for(var i=o.nodes.start,n=o.nodes.end,s=e&&(e.f&wa)===0?e.nodes.start:t;i!==null;){var r=tm(i);if(s.before(i),i===n)return;i=r}}function Il(o,e,t){e===null?o.effect.first=t:e.next=t,t===null?o.effect.last=e:t.prev=e}function Ul(o,e,t=!1,i=!1,n=!1,s=!1){var r=o,a="";if(t)var c=o;G(()=>{var h=en;if(a!==(a=e()??"")){if(t){h.nodes=null,c.innerHTML=a,a!==""&&sh(Sa(c),c.lastChild);return}if(h.nodes!==null&&(sT(h.nodes.start,h.nodes.end),h.nodes=null),a!==""){var g=i?bH:n?yH:void 0,f=tT(i?"svg":n?"math":"template",g);f.innerHTML=a;var p=i||n?f:f.content;if(sh(Sa(p),p.lastChild),i||n)for(;Sa(p);)r.before(Sa(p));else r.before(p)}}})}const kk=[...`
|
|
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||kk.includes(i[r-1]))&&(a===i.length||kk.includes(i[a]))?i=(r===0?"":i.substring(0,r))+i.substring(a+1):r=a}}return i===""?null:i}function Ik(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 aw(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(aw)),n&&c.push(...Object.keys(n).map(aw));var h=0,g=-1;const w=o.length;for(var f=0;f<w;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===w-1){if(g!==-1){var v=aw(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+=Ik(i)),n&&(t+=Ik(n,!0)),t=t.trim(),t===""?null:t}return o==null?null:String(o)}function $t(o,e,t,i,n,s){var r=o[fS];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[fS]=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 lw(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 Ko(o,e,t,i){var n=o[pS];if(n!==e){var s=_W(e,i);s==null?o.removeAttribute("style"):o.style.cssText=s,o[pS]=e}else i&&(Array.isArray(i)?(lw(o,t==null?void 0:t[0],i[0]),lw(o,t==null?void 0:t[1],i[1],"important")):lw(o,t,i));return i}function vT(o,e,t=!1){if(o.multiple){if(e==null)return;if(!Y0(e))return SH();for(var i of o.options)i.selected=e.includes(Ef(i));return}for(i of o.options){var n=Ef(i);if(KH(n,e)){i.selected=!0;return}}(!t||e!==void 0)&&(o.selectedIndex=-1)}function vW(o){var e=new MutationObserver(()=>{vT(o,o.__value)});e.observe(o,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["value"]}),o1(()=>{e.disconnect()})}function _a(o,e,t=e){var i=new WeakSet,n=!0;n1(o,"change",s=>{var r=s?"[selected]":":checked",a;if(o.multiple)a=[].map.call(o.querySelectorAll(r),Ef);else{var c=o.querySelector(r)??o.querySelector("option:not([disabled])");a=c&&Ef(c)}t(a),o.__value=a,gi!==null&&i.add(gi)}),r1(()=>{var s=e();if(o===document.activeElement){var r=gi;if(i.has(r))return}if(vT(o,s,n),n&&s===void 0){var a=o.querySelector(":checked");a!==null&&(s=Ef(a),t(s))}o.__value=s,n=!1}),vW(o)}function Ef(o){return"__value"in o?o.__value:o.value}const bW=Symbol("is custom element"),yW=Symbol("is html");function cw(o,e){var t=bT(o);t.checked!==(t.checked=e??void 0)&&(o.checked=e)}function Hn(o,e,t,i){var n=bT(o);n[e]!==(n[e]=t)&&(e==="loading"&&(o[YF]=t),t==null?o.removeAttribute(e):typeof t!="string"&&wW(o).includes(e)?o[e]=t:o.setAttribute(e,t))}function bT(o){return o[h_]??(o[h_]={[bW]:o.nodeName.includes("-"),[yW]:o.namespaceURI===MP})}var Dk=new Map;function wW(o){var e=o.getAttribute("is")||o.nodeName,t=Dk.get(e);if(t)return t;Dk.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=IP(n)}return t}function Ni(o,e,t=e){var i=new WeakSet;n1(o,"input",async n=>{var s=n?o.defaultValue:o.value;if(s=dw(o)?hw(s):s,t(s),gi!==null&&i.add(gi),await __(),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))}}}),wl(e)==null&&o.value&&(t(dw(o)?hw(o.value):o.value),gi!==null&&i.add(gi)),by(()=>{var n=e();if(o===document.activeElement){var s=gi;if(i.has(s))return}dw(o)&&n===hw(o.value)||o.type==="date"&&!n&&!o.value||n!==o.value&&(o.value=n??"")})}function As(o,e,t=e){n1(o,"change",i=>{var n=i?o.defaultChecked:o.checked;t(n)}),wl(e)==null&&t(o.checked),by(()=>{var i=e();o.checked=!!i})}function dw(o){var e=o.type;return e==="number"||e==="range"}function hw(o){return o===""?null:+o}var zl,Fu,Fp,sb,yT;const ob=class ob{constructor(e){Ti(this,sb);Ti(this,zl,new WeakMap);Ti(this,Fu);Ti(this,Fp);Mi(this,Fp,e)}observe(e,t){var i=ee(this,zl).get(e)||new Set;return i.add(t),ee(this,zl).set(e,i),In(this,sb,yT).call(this).observe(e,ee(this,Fp)),()=>{var n=ee(this,zl).get(e);n.delete(t),n.size===0&&(ee(this,zl).delete(e),ee(this,Fu).unobserve(e))}}};zl=new WeakMap,Fu=new WeakMap,Fp=new WeakMap,sb=new WeakSet,yT=function(){return ee(this,Fu)??Mi(this,Fu,new ResizeObserver(e=>{for(var t of e){ob.entries.set(t.target,t);for(var i of ee(this,zl).get(t.target)||[])i(t)}}))},Bi(ob,"entries",new WeakMap);let LS=ob;var SW=new LS({box:"border-box"});function CW(o,e,t){var i=SW.observe(o,()=>t(o[e]));r1(()=>(wl(()=>t(o[e])),i))}function uw(o,e){return o===e||(o==null?void 0:o[od])===e}function bs(o={},e,t,i){var n=Us.r,s=en;return r1(()=>{var r,a;return by(()=>{r=a,a=[],wl(()=>{uw(t(...a),o)||(e(o,...a),r&&uw(t(...r),o)&&e(null,...r))})}),()=>{let c=s;for(;c!==n&&c.parent!==null&&c.parent.f&gS;)c=c.parent;const h=()=>{a&&uw(t(...a),o)&&e(null,...a)},g=c.teardown;c.teardown=()=>{h(),g==null||g()}}}),o}function cg(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=tp(i)),u(h)):(c&&(c=!1,a=r?wl(i):i),a);let f;if(s){var p=od in o||XF in o;f=((V=Lu(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 w;if(w=()=>{var F=o[e];return F===void 0?g():(c=!0,F)},(t&fH)===0)return w;if(f){var S=o.$$legacy;return(function(F,Y){return arguments.length>0?((!Y||S||_)&&f(Y?w():F),F):w()})}var D=!1,P=((t&gH)!==0?tp:t1)(()=>(D=!1,w()));s&&u(P);var N=en;return(function(F,Y){if(arguments.length>0){const X=Y?u(P):s?Si(F):F;return k(P,X),D=!0,a!==void 0&&(a=X),F}return hl&&D||(N.f&_r)!==0?P.v:u(P)})}function xr(o){Us===null&&PP(),zn(()=>{const e=wl(o);if(typeof e=="function")return e})}function yy(o){Us===null&&PP(),xr(()=>()=>wl(o))}const xW="5";var XD;typeof window<"u"&&((XD=window.__svelte??(window.__svelte={})).v??(XD.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),nm={};PW(nm,JD);var TW=class{constructor(e,t,i){this._onDidChange=new nm.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},wT=new TW("json",MW,NW),RW=()=>ST().then(o=>o.getWorker());nm.languages.json={jsonDefaults:wT,getWorker:RW};function ST(){return YD(()=>import("./jsonMode-CXWNuhmR.js"),__vite__mapDeps([0,1,2]))}nm.languages.register({id:"json",extensions:[".json",".bowerrc",".jshintrc",".jscsrc",".eslintrc",".babelrc",".har"],aliases:["JSON","json"],mimetypes:["application/json"]});nm.languages.onLanguage("json",()=>{ST().then(o=>o.setupMode(wT))});/*!-----------------------------------------------------------------------------
|
|
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",dg={};BW(dg,JD);var CT=(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))(CT||{}),xT=(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))(xT||{}),LT=(o=>(o[o.CarriageReturnLineFeed=0]="CarriageReturnLineFeed",o[o.LineFeed=1]="LineFeed",o))(LT||{}),kT=(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))(kT||{}),IT=(o=>(o[o.Classic=1]="Classic",o[o.NodeJs=2]="NodeJs",o))(IT||{}),DT=class{constructor(o,e,t,i,n){this._onDidChange=new dg.Emitter,this._onDidExtraLibsChange=new dg.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,ET={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},PT=new DT({allowNonTsExtensions:!0,target:99},{noSemanticValidation:!1,noSyntaxValidation:!1,onlyVisible:!1},{},{},ET),TT=new DT({allowNonTsExtensions:!0,allowJs:!0,target:99},{noSemanticValidation:!0,noSyntaxValidation:!1,onlyVisible:!1},{},{},ET),jW=()=>wy().then(o=>o.getTypeScriptWorker()),UW=()=>wy().then(o=>o.getJavaScriptWorker());dg.languages.typescript={ModuleKind:CT,JsxEmit:xT,NewLineKind:LT,ScriptTarget:kT,ModuleResolutionKind:IT,typescriptVersion:VW,typescriptDefaults:PT,javascriptDefaults:TT,getTypeScriptWorker:jW,getJavaScriptWorker:UW};function wy(){return YD(()=>import("./tsMode-CIoeFEdg.js"),__vite__mapDeps([3,1,2]))}dg.languages.onLanguage("typescript",()=>wy().then(o=>o.setupTypeScript(PT)));dg.languages.onLanguage("javascript",()=>wy().then(o=>o.setupJavaScript(TT)));class $W extends io{constructor(){super({id:"diffEditor.toggleCollapseUnchangedRegions",title:Lt("toggleCollapseUnchangedRegions","Toggle Collapse Unchanged Regions"),icon:Yt.map,toggled:ae.has("config.diffEditor.hideUnchangedRegions.enabled"),precondition:ae.has("isInDiffEditor"),menu:{when:ae.has("isInDiffEditor"),id:lt.EditorTitle,order:22,group:"navigation"}})}run(e,...t){const i=e.get(Pn),n=!i.getValue("diffEditor.hideUnchangedRegions.enabled");i.updateValue("diffEditor.hideUnchangedRegions.enabled",n)}}class MT extends io{constructor(){super({id:"diffEditor.toggleShowMovedCodeBlocks",title:Lt("toggleShowMovedCodeBlocks","Toggle Show Moved Code Blocks"),precondition:ae.has("isInDiffEditor")})}run(e,...t){const i=e.get(Pn),n=!i.getValue("diffEditor.experimental.showMoves");i.updateValue("diffEditor.experimental.showMoves",n)}}class NT extends io{constructor(){super({id:"diffEditor.toggleUseInlineViewWhenSpaceIsLimited",title:Lt("toggleUseInlineViewWhenSpaceIsLimited","Toggle Use Inline View When Space Is Limited"),precondition:ae.has("isInDiffEditor")})}run(e,...t){const i=e.get(Pn),n=!i.getValue("diffEditor.useInlineViewWhenSpaceIsLimited");i.updateValue("diffEditor.useInlineViewWhenSpaceIsLimited",n)}}const sm=Lt("diffEditor","Diff Editor");class qW extends qr{constructor(){super({id:"diffEditor.switchSide",title:Lt("switchSide","Switch Side"),icon:Yt.arrowSwap,precondition:ae.has("isInDiffEditor"),f1:!0,category:sm})}runEditorCommand(e,t,i){const n=Mg(e);if(n instanceof Hp){if(i&&i.dryRun)return{destinationSelection:n.mapToOtherSide().destinationSelection};n.switchSide()}}}class KW extends qr{constructor(){super({id:"diffEditor.exitCompareMove",title:Lt("exitCompareMove","Exit Compare Move"),icon:Yt.close,precondition:M.comparingMovedCode,f1:!1,category:sm,keybinding:{weight:1e4,primary:9}})}runEditorCommand(e,t,...i){const n=Mg(e);n instanceof Hp&&n.exitCompareMove()}}class GW extends qr{constructor(){super({id:"diffEditor.collapseAllUnchangedRegions",title:Lt("collapseAllUnchangedRegions","Collapse All Unchanged Regions"),icon:Yt.fold,precondition:ae.has("isInDiffEditor"),f1:!0,category:sm})}runEditorCommand(e,t,...i){const n=Mg(e);n instanceof Hp&&n.collapseAllUnchangedRegions()}}class ZW extends qr{constructor(){super({id:"diffEditor.showAllUnchangedRegions",title:Lt("showAllUnchangedRegions","Show All Unchanged Regions"),icon:Yt.unfold,precondition:ae.has("isInDiffEditor"),f1:!0,category:sm})}runEditorCommand(e,t,...i){const n=Mg(e);n instanceof Hp&&n.showAllUnchangedRegions()}}class kS extends io{constructor(){super({id:"diffEditor.revert",title:Lt("revert","Revert"),f1:!1,category:sm})}run(e,t){const i=XW(e,t.originalUri,t.modifiedUri);i instanceof Hp&&i.revertRangeMappings(t.mapping.innerChanges??[])}}const RT=Lt("accessibleDiffViewer","Accessible Diff Viewer"),rb=class rb extends io{constructor(){super({id:rb.id,title:Lt("editor.action.accessibleDiffViewer.next","Go to Next Difference"),category:RT,precondition:ae.has("isInDiffEditor"),keybinding:{primary:65,weight:100},f1:!0})}run(e){const t=Mg(e);t==null||t.accessibleDiffViewerNext()}};rb.id="editor.action.accessibleDiffViewer.next";let np=rb;const ab=class ab extends io{constructor(){super({id:ab.id,title:Lt("editor.action.accessibleDiffViewer.prev","Go to Previous Difference"),category:RT,precondition:ae.has("isInDiffEditor"),keybinding:{primary:1089,weight:100},f1:!0})}run(e){const t=Mg(e);t==null||t.accessibleDiffViewerPrev()}};ab.id="editor.action.accessibleDiffViewer.prev";let Z_=ab;function XW(o,e,t){return o.get(ns).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 Mg(o){const t=o.get(ns).listDiffEditors(),i=QD();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}tn($W);tn(MT);tn(NT);vr.appendMenuItem(lt.EditorTitle,{command:{id:new NT().desc.id,title:y("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"))});vr.appendMenuItem(lt.EditorTitle,{command:{id:new MT().desc.id,title:y("showMoves","Show Moved Code Blocks"),icon:Yt.move,toggled:lA.create("config.diffEditor.experimental.showMoves",!0),precondition:ae.has("isInDiffEditor")},order:10,group:"1_diff",when:ae.has("isInDiffEditor")});tn(kS);for(const o of[{icon:Yt.arrowRight,key:M.diffEditorInlineMode.toNegated()},{icon:Yt.discard,key:M.diffEditorInlineMode}])vr.appendMenuItem(lt.DiffEditorHunkToolbar,{command:{id:new kS().desc.id,title:y("revertHunk","Revert Block"),icon:o.icon},when:ae.and(M.diffEditorModifiedWritable,o.key),order:5,group:"primary"}),vr.appendMenuItem(lt.DiffEditorSelectionToolbar,{command:{id:new kS().desc.id,title:y("revertSelection","Revert Selection"),icon:o.icon},when:ae.and(M.diffEditorModifiedWritable,o.key),order:5,group:"primary"});tn(qW);tn(KW);tn(GW);tn(ZW);vr.appendMenuItem(lt.EditorTitle,{command:{id:np.id,title:y("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"))});wn.registerCommandAlias("editor.action.diffReview.next",np.id);tn(np);wn.registerCommandAlias("editor.action.diffReview.prev",Z_.id);tn(Z_);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)}},IS;const Sy=new Ri("selectionAnchorSet",!1);var gd;let bc=(gd=class{static get(e){return e.getContribution(IS.ID)}constructor(e,t){this.editor=e,this.selectionAnchorSetContextKey=Sy.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(qt.fromPositions(e,e),{description:"selection-anchor",stickiness:1,hoverMessage:new Ws().appendText(y("selectionAnchor","Selection Anchor")),className:"selection-anchor"})}),this.selectionAnchorSetContextKey.set(!!this.decorationId),br(y("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(qt.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()}},IS=gd,gd.ID="editor.contrib.selectionAnchorController",gd);bc=IS=JW([QW(1,Vi)],bc);class e3 extends Se{constructor(){super({id:"editor.action.setSelectionAnchor",label:y("setSelectionAnchor","Set Selection Anchor"),alias:"Set Selection Anchor",precondition:void 0,kbOpts:{kbExpr:M.editorTextFocus,primary:rs(2089,2080),weight:100}})}async run(e,t){var i;(i=bc.get(t))==null||i.setSelectionAnchor()}}class t3 extends Se{constructor(){super({id:"editor.action.goToSelectionAnchor",label:y("goToSelectionAnchor","Go to Selection Anchor"),alias:"Go to Selection Anchor",precondition:Sy})}async run(e,t){var i;(i=bc.get(t))==null||i.goToSelectionAnchor()}}class i3 extends Se{constructor(){super({id:"editor.action.selectFromAnchorToCursor",label:y("selectFromAnchorToCursor","Select from Anchor to Cursor"),alias:"Select from Anchor to Cursor",precondition:Sy,kbOpts:{kbExpr:M.editorTextFocus,primary:rs(2089,2089),weight:100}})}async run(e,t){var i;(i=bc.get(t))==null||i.selectFromAnchorToCursor()}}class n3 extends Se{constructor(){super({id:"editor.action.cancelSelectionAnchor",label:y("cancelSelectionAnchor","Cancel Selection Anchor"),alias:"Cancel Selection Anchor",precondition:Sy,kbOpts:{kbExpr:M.editorTextFocus,primary:9,weight:100}})}async run(e,t){var i;(i=bc.get(t))==null||i.cancelSelectionAnchor()}}bi(bc.ID,bc,4);ne(e3);ne(t3);ne(i3);ne(n3);const s3=_t("editorOverviewRuler.bracketMatchForeground","#A0A0A0",y("overviewRulerBracketMatchForeground","Overview ruler marker color for matching brackets."));class o3 extends Se{constructor(){super({id:"editor.action.jumpToBracket",label:y("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=oh.get(t))==null||i.jumpToBracket()}}class r3 extends Se{constructor(){super({id:"editor.action.selectToBracket",label:y("smartSelect.selectToBracket","Select to Bracket"),alias:"Select to Bracket",precondition:void 0,metadata:{description:Lt("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=oh.get(t))==null||s.selectToBracket(n)}}class a3 extends Se{constructor(){super({id:"editor.action.removeBrackets",label:y("smartSelect.removeBrackets","Remove Brackets"),alias:"Remove Brackets",precondition:void 0,kbOpts:{kbExpr:M.editorTextFocus,primary:2561,weight:100}})}run(e,t){var i;(i=oh.get(t))==null||i.removeBrackets(this.id)}}class l3{constructor(e,t,i){this.position=e,this.brackets=t,this.options=i}}const Rl=class Rl extends Ve{static get(e){return e.getContribution(Rl.ID)}constructor(e){super(),this._editor=e,this._lastBracketsData=[],this._lastVersionId=0,this._decorations=this._editor.createDecorationsCollection(),this._updateBracketsSoon=this._register(new hs(()=>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 qt(r.lineNumber,r.column,r.lineNumber,r.column):new qt(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(z.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 qt(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(kt.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),w=Rl._DECORATION_OPTIONS_WITH_OVERVIEW_RULER;!_&&this._matchBrackets==="always"&&(_=t.bracketPairs.findEnclosingBrackets(v,20),w=Rl._DECORATION_OPTIONS_WITHOUT_OVERVIEW_RULER),a[c++]=new l3(v,_,w)}}this._lastBracketsData=a,this._lastVersionId=i}};Rl.ID="editor.contrib.bracketMatchingController",Rl._DECORATION_OPTIONS_WITH_OVERVIEW_RULER=Di.register({description:"bracket-match-overview",stickiness:1,className:"bracket-match",overviewRuler:{color:ls(s3),position:xa.Center}}),Rl._DECORATION_OPTIONS_WITHOUT_OVERVIEW_RULER=Di.register({description:"bracket-match-no-overview",stickiness:1,className:"bracket-match"});let oh=Rl;bi(oh.ID,oh,1);ne(r3);ne(o3);ne(a3);vr.appendMenuItem(lt.MenubarGoMenu,{group:"5_infile_nav",command:{id:"editor.action.jumpToBracket",title:y({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 z(i,n-1,i,n),a=e.getValueInRange(r);t.addEditOperation(r,null),t.addEditOperation(new z(i,s,i,s),a)}else{const r=new z(i,s,i,s+1),a=e.getValueInRange(r);t.addEditOperation(r,null),t.addEditOperation(new z(i,n,i,n),a)}}computeCursorState(e,t){return this._isMovingLeft?new qt(this._selection.startLineNumber,this._selection.startColumn-1,this._selection.endLineNumber,this._selection.endColumn-1):new qt(this._selection.startLineNumber,this._selection.startColumn+1,this._selection.endLineNumber,this._selection.endColumn+1)}}class AT extends Se{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 AT{constructor(){super(!0,{id:"editor.action.moveCarretLeftAction",label:y("caret.moveLeft","Move Selected Text Left"),alias:"Move Selected Text Left",precondition:M.writable})}}class h3 extends AT{constructor(){super(!1,{id:"editor.action.moveCarretRightAction",label:y("caret.moveRight","Move Selected Text Right"),alias:"Move Selected Text Right",precondition:M.writable})}}ne(d3);ne(h3);class u3 extends Se{constructor(){super({id:"editor.action.transposeLetters",label:y("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():Yy.rightPosition(i,r.getPosition().lineNumber,r.getPosition().column),f=Yy.leftPosition(i,g),p=Yy.leftPosition(i,f),v=i.getValueInRange(z.fromPositions(p,f)),_=i.getValueInRange(z.fromPositions(f,g)),w=z.fromPositions(p,g);n.push(new Wp(w,_+v))}n.length>0&&(t.pushUndoStop(),t.executeCommands(this.id,n),t.pushUndoStop())}}ne(u3);const Cy=(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 d1(o){return{asString:async()=>o,asFile:()=>{},value:typeof o=="string"?o:void 0}}function g3(o,e,t){const i={id:Cy(),name:o,uri:e,data:t};return{asString:async()=>"",asFile:()=>i,value:void 0}}class OT{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 el.some(this,([i,n])=>n.asFile())&&t.push("files"),HT(X_(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 X_(e)}}function X_(o){return o.toLowerCase()}function FT(o,e){return HT(X_(o),e.map(X_))}function HT(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 xy=Object.freeze({create:o=>eE(o.map(e=>e.toString())).join(`\r
|
|
14
|
-
`),split:o=>o.split(`\r
|
|
15
|
-
`),parse:o=>xy.split(o).filter(e=>!e.startsWith("#"))}),la=class la{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+la.sep)}intersects(e){return this.contains(e)||e.contains(this)}append(...e){return new la((this.value?[this.value,...e]:e).join(la.sep))}};la.sep=".",la.None=new la("@@none@@"),la.Empty=new la("");let En=la;const Ek={EDITORS:"CodeEditors",FILES:"CodeFiles"};class f3{}const p3={DragAndDropContribution:"workbench.contributions.dragAndDrop"};Kr.add(p3.DragAndDropContribution,new f3);const Bf=class Bf{constructor(){}static getInstance(){return Bf.INSTANCE}hasData(e){return e&&e===this.proto}getData(e){if(this.hasData(e))return this.data}};Bf.INSTANCE=new Bf;let DS=Bf;function WT(o){const e=new OT;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,d1(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?cn.parse(o.path):void 0;return g3(o.name,e,async()=>new Uint8Array(await o.arrayBuffer()))}const _3=Object.freeze([Ek.EDITORS,Ek.FILES,Yw.RESOURCES,Yw.INTERNAL_URI_LIST]);function BT(o,e=!1){const t=WT(o),i=t.get(Yw.INTERNAL_URI_LIST);if(i)t.replace(Cs.uriList,i);else if(e||!t.has(Cs.uriList)){const n=[];for(const s of o.items){const r=s.getAsFile();if(r){const a=r.path;try{a?n.push(cn.file(a).toString()):n.push(cn.parse(r.name,!0).toString())}catch{}}}n.length&&t.replace(Cs.uriList,d1(xy.create(n)))}for(const n of _3)t.delete(n);return t}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},sp=function(o,e){return function(t,i){e(t,i,o)}};class u1{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 zf=class zf extends u1{constructor(){super(...arguments),this.kind=zf.kind,this.dropMimeTypes=[Cs.text],this.pasteMimeTypes=[Cs.text]}async getEdit(e,t){const i=e.get(Cs.text);if(!i||e.has(Cs.uriList))return;const n=await i.asString();return{handledMimeType:Cs.text,title:y("text.label","Insert Plain Text"),insertText:n,kind:this.kind}}};zf.id="text",zf.kind=new En("text.plain");let rh=zf;class zT extends u1{constructor(){super(...arguments),this.kind=new En("uri.absolute"),this.dropMimeTypes=[Cs.uriList],this.pasteMimeTypes=[Cs.uriList]}async getEdit(e,t){const i=await VT(e);if(!i.length||t.isCancellationRequested)return;let n=0;const s=i.map(({uri:a,originalText:c})=>a.scheme===Ys.file?a.fsPath:(n++,c)).join(" ");let r;return n>0?r=i.length>1?y("defaultDropProvider.uriList.uris","Insert Uris"):y("defaultDropProvider.uriList.uri","Insert Uri"):r=i.length>1?y("defaultDropProvider.uriList.paths","Insert Paths"):y("defaultDropProvider.uriList.path","Insert Path"),{handledMimeType:Cs.uriList,insertText:s,title:r,kind:this.kind}}}let Y_=class extends u1{constructor(e){super(),this._workspaceContextService=e,this.kind=new En("uri.relative"),this.dropMimeTypes=[Cs.uriList],this.pasteMimeTypes=[Cs.uriList]}async getEdit(e,t){const i=await VT(e);if(!i.length||t.isCancellationRequested)return;const n=rl(i.map(({uri:s})=>{const r=this._workspaceContextService.getWorkspaceFolder(s);return r?cA(r.uri,s):void 0}));if(n.length)return{handledMimeType:Cs.uriList,insertText:n.join(" "),title:i.length>1?y("defaultDropProvider.uriList.relativePaths","Insert Relative Paths"):y("defaultDropProvider.uriList.relativePath","Insert Relative Path"),kind:this.kind}}};Y_=h1([sp(0,Gu)],Y_);class v3{constructor(){this.kind=new En("html"),this.pasteMimeTypes=["text/html"],this._yieldTo=[{mimeType:Cs.text}]}async provideDocumentPasteEdits(e,t,i,n,s){var c;if(n.triggerKind!==Jw.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:y("pasteHtmlLabel","Insert HTML"),kind:this.kind}]}}}async function VT(o){const e=o.get(Cs.uriList);if(!e)return[];const t=await e.asString(),i=[];for(const n of xy.parse(t))try{i.push({uri:cn.parse(n),originalText:n})}catch{}return i}let ES=class extends Ve{constructor(e,t){super(),this._register(e.documentDropEditProvider.register("*",new rh)),this._register(e.documentDropEditProvider.register("*",new zT)),this._register(e.documentDropEditProvider.register("*",new Y_(t)))}};ES=h1([sp(0,It),sp(1,Gu)],ES);let PS=class extends Ve{constructor(e,t){super(),this._register(e.documentPasteEditProvider.register("*",new rh)),this._register(e.documentPasteEditProvider.register("*",new zT)),this._register(e.documentPasteEditProvider.register("*",new Y_(t))),this._register(e.documentPasteEditProvider.register("*",new v3))}};PS=h1([sp(0,It),sp(1,Gu)],PS);const ir=class ir{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=ir._table[i],typeof n=="number")return this.pos+=1,{type:n,pos:e,len:1};if(ir.isDigitCharacter(i)){n=8;do t+=1,i=this.value.charCodeAt(e+t);while(ir.isDigitCharacter(i));return this.pos+=t,{type:n,pos:e,len:t}}if(ir.isVariableCharacter(i)){n=9;do i=this.value.charCodeAt(e+ ++t);while(ir.isVariableCharacter(i)||ir.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 ir._table[i]>"u"&&!ir.isDigitCharacter(i)&&!ir.isVariableCharacter(i));return this.pos+=t,{type:n,pos:e,len:t}}};ir._table={36:0,58:1,44:2,123:3,125:4,92:5,47:6,124:7,43:11,45:12,63:13};let TS=ir;class Ng{constructor(){this._children=[]}appendChild(e){return e instanceof go&&this._children[this._children.length-1]instanceof go?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 om)return e;e=e.parent}}toString(){return this.children.reduce((e,t)=>e+t.toString(),"")}len(){return 0}}let go=class jT extends Ng{constructor(e){super(),this.value=e}toString(){return this.value}len(){return this.value.length}clone(){return new jT(this.value)}};class UT extends Ng{}class qo extends UT{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 Rg?this._children[0]:void 0}clone(){const e=new qo(this.index);return this.transform&&(e.transform=this.transform.clone()),e._children=this.children.map(t=>t.clone()),e}}class Rg extends Ng{constructor(){super(...arguments),this.options=[]}appendChild(e){return e instanceof go&&(e.parent=this,this.options.push(e)),this}toString(){return this.options[0].value}len(){return this.options[0].len()}clone(){const e=new Rg;return this.options.forEach(e.appendChild,e),e}}class g1 extends Ng{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 Rr&&!!s.elseValue)&&(n=this._replace([])),n}_replace(e){let t="";for(const i of this._children)if(i instanceof Rr){let n=e[i.index]||"";n=i.resolve(n),t+=n}else t+=i.toString();return t}toString(){return""}clone(){const e=new g1;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 Rr extends Ng{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 Rr(this.index,this.shorthandName,this.ifValue,this.elseValue)}}class op extends UT{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 go(t)],!0):!1}clone(){const e=new op(this.name);return this.transform&&(e.transform=this.transform.clone()),e._children=this.children.map(t=>t.clone()),e}}function Pk(o,e){const t=[...o];for(;t.length>0;){const i=t.shift();if(!e(i))break;t.unshift(...i.children)}}class om extends Ng{get placeholderInfo(){if(!this._placeholders){const e=[];let t;this.walk(function(i){return i instanceof qo&&(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 Pk([e],i=>(t+=i.len(),!0)),t}enclosingPlaceholders(e){const t=[];let{parent:i}=e;for(;i;)i instanceof qo&&t.push(i),i=i.parent;return t}resolveVariables(e){return this.walk(t=>(t instanceof op&&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 om;return this._children=this.children.map(t=>t.clone()),e}walk(e){Pk(this.children,e)}}class ah{constructor(){this._scanner=new TS,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 om;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 qo&&(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 qo(c.index);f.transform=c.transform;for(const p of g){const v=p.clone();f.appendChild(v),v instanceof qo&&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 qo(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 go(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 qo(Number(t)):new op(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 qo(Number(t));if(this._accept(1))for(;;){if(this._accept(4))return e.appendChild(s),!0;if(!this._parse(s))return e.appendChild(new go("${"+t+":")),s.children.forEach(e.appendChild,e),!0}else if(s.index>0&&this._accept(7)){const r=new Rg;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 go(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 op(t);if(this._accept(1))for(;;){if(this._accept(4))return e.appendChild(s),!0;if(!this._parse(s))return e.appendChild(new go("${"+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 g1;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 go(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 Rr(Number(n))),!0;if(!this._accept(1))return this._backTo(t),!1}else return e.appendChild(new Rr(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 Rr(Number(n),s)),!0)}else if(this._accept(11)){const s=this._until(4);if(s)return e.appendChild(new Rr(Number(n),void 0,s,void 0)),!0}else if(this._accept(12)){const s=this._until(4);if(s)return e.appendChild(new Rr(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 Rr(Number(n),void 0,s,r)),!0}}else{const s=this._until(4);if(s)return e.appendChild(new Rr(Number(n),void 0,void 0,s)),!0}return this._backTo(t),!1}_parseAnything(e){return this._token.type!==14?(e.appendChild(new go(this._scanner.tokenText(this._token))),this._accept(void 0),!0):!1}}function $T(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"?ah.escape(t.insertText)+"$0":t.insertText.snippet,insertAsSnippet:!0})),...((n=t.additionalEdit)==null?void 0:n.edits)??[]]}}function qT(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},y3=function(o,e){return function(t,i){e(t,i,o)}};const w3=Di.register({description:"inline-progress-widget",stickiness:1,showIfCollapsed:!0,after:{content:tE,inlineClassName:"inline-editor-progress-decoration",inlineClassNameAffectsLetterSpacing:!0}}),lb=class lb extends Ve{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=mt(".inline-progress-widget"),this.domNode.role="button",this.domNode.title=e;const t=mt("span.icon");this.domNode.append(t),t.classList.add(...Ki.asClassNameArray(Yt.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(zi(this.domNode,Un.CLICK,n=>{this.delegate.cancel()}))}getId(){return lb.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)}};lb.baseId="editor.widget.inlineProgressWidget";let MS=lb,J_=class extends Ve{constructor(e,t,i){super(),this.id=e,this._editor=t,this._instantiationService=i,this._showDelay=500,this._showPromise=this._register(new Mo),this._currentWidget=this._register(new Mo),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=Uf(()=>{const a=z.fromPositions(e);this._currentDecorations.set([{range:a,options:w3}]).length>0&&(this._currentWidget.value=this._instantiationService.createInstance(MS,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()}};J_=b3([y3(2,hi)],J_);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},Tk=function(o,e){return function(t,i){e(t,i,o)}},v_,Ql;let po=(Ql=class{static get(e){return e.getContribution(v_.ID)}constructor(e,t,i){this._openerService=i,this._messageWidget=new Mo,this._messageListeners=new He,this._mouseOverMessage=!1,this._editor=e,this._visible=v_.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){br(r_(e)?e.value:e),this._visible.set(!0),this._messageWidget.clear(),this._messageListeners.clear(),this._message=r_(e)?hA(e,{actionHandler:{callback:n=>{this.closeMessage(),uA(this._openerService,n,r_(e)?e.isTrusted:void 0)},disposables:this._messageListeners}}):void 0,this._messageWidget.value=new Mk(this._editor,t,typeof e=="string"?e:this._message.element),this._messageListeners.add(ds.debounce(this._editor.onDidBlurEditorText,(n,s)=>s,0)(()=>{this._mouseOverMessage||this._messageWidget.value&&gA(QD(),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(zi(this._messageWidget.value.getDomNode(),Un.MOUSE_ENTER,()=>this._mouseOverMessage=!0,!0)),this._messageListeners.add(zi(this._messageWidget.value.getDomNode(),Un.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 z(t.lineNumber-3,1,n.target.position.lineNumber+3,1))}))}closeMessage(){this._visible.reset(),this._messageListeners.clear(),this._messageWidget.value&&this._messageListeners.add(Mk.fadeOut(this._messageWidget.value))}},v_=Ql,Ql.ID="editor.contrib.messageController",Ql.MESSAGE_VISIBLE=new Ri("messageVisible",!1,y("messageVisible","Whether the editor is currently showing an inline message")),Ql);po=v_=S3([Tk(1,Vi),Tk(2,Gr)],po);const C3=no.bindToContribution(po.get);Mt(new C3({id:"leaveEditorMessage",precondition:po.MESSAGE_VISIBLE,handler:o=>o.closeMessage(),kbOpts:{weight:130,primary:9}}));let Mk=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)}};bi(po.ID,po,4);function gw(o,e){return e&&(o.stack||o.stacktrace)?y("stackTrace.format","{0}: {1}",Rk(o),Nk(o.stack)||Nk(o.stacktrace)):Rk(o)}function Nk(o){return Array.isArray(o)?o.join(`
|
|
16
|
-
`):o}function Rk(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"?y("nodeExceptionMessage","A system error occurred ({0})",o.message):o.message||y("error.defaultMessage","An unknown error occurred. Please consult the log for more details.")}function Q_(o=null,e=!1){if(!o)return y("error.defaultMessage","An unknown error occurred. Please consult the log for more details.");if(Array.isArray(o)){const t=rl(o),i=Q_(t[0],e);return t.length>1?y("error.moreErrors","{0} ({1} errors in total)",i,t.length):i}if(iE(o))return o;if(o.detail){const t=o.detail;if(t.error)return gw(t.error,e);if(t.exception)return gw(t.exception,e)}return o.stack?gw(o,e):o.message?o.message:y("error.defaultMessage","An unknown error occurred. Please consult the log for more details.")}var KT=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Iu=function(o,e){return function(t,i){e(t,i,o)}},NS,fd;let RS=(fd=class extends Ve{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(Dn(()=>this.visibleContext.reset())),this.editor.addContentWidget(this),this.editor.layoutContentWidget(this),this._register(Dn((()=>this.editor.removeContentWidget(this)))),this._register(this.editor.onDidChangeCursorPosition(f=>{s.containsPosition(f.position)||this.dispose()})),this._register(ds.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=mt(".post-edit-widget"),this.button=this._register(new fA(this.domNode,{supportIcons:!0})),this.button.label="$(insert)",this._register(zi(this.domNode,Un.CLICK,()=>this.showSelector()))}getId(){return NS.baseId+"."+this.typeId}getDomNode(){return this.domNode}getPosition(){return{position:this.range.getEndPosition(),preference:[2]}}showSelector(){this._contextMenuService.showContextMenu({getAnchor:()=>{const e=Qs(this.button.element);return{x:e.left+e.width,y:e.top+e.height}},getActions:()=>this.edits.allEdits.map((e,t)=>pA({id:"",label:e.title,checked:t===this.edits.activeEditIndex,run:()=>{if(t!==this.edits.activeEditIndex)return this.onSelectNewEdit(t)}}))})}},NS=fd,fd.baseId="editor.widget.postEditWidget",fd);RS=NS=KT([Iu(7,Lg),Iu(8,Vi),Iu(9,as)],RS);let ev=class extends Ve{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 Mo),this._register(ds.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,y("resolveError",`Error resolving edit '{0}':
|
|
17
|
-
{1}`,a.title,Q_(S)))}if(s.isCancellationRequested)return;const f=$T(r.uri,e,g),p=e[0],v=r.deltaDecorations([],[{range:p,options:{description:"paste-line-suffix",stickiness:0}}]);this._editor.focus();let _,w;try{_=await this._bulkEditService.apply(f,{editor:this._editor,token:s}),w=r.getDecorationRange(v[0])}catch(S){return h(S,y("applyError",`Error applying edit '{0}':
|
|
18
|
-
{1}`,a.title,Q_(S)))}finally{r.deltaDecorations(v,[])}s.isCancellationRequested||i&&_.isApplied&&t.allEdits.length>1&&this.show(w??p,t,c)}show(e,t,i){this.clear(),this._editor.hasModel()&&(this._currentWidget.value=this._instantiationService.createInstance(RS,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()}};ev=KT([Iu(4,hi),Iu(5,Gb),Iu(6,Ks)],ev);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},zh=function(o,e){return function(t,i){e(t,i,o)}},Wc;const GT="editor.changePasteType",f1=new Ri("pasteWidgetVisible",!1,y("pasteWidgetVisible","Whether the paste widget is showing")),fw="application/vnd.code.copyMetadata";var pd;let ul=(pd=class extends Ve{static get(e){return e.getContribution(Wc.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(zi(c,"copy",h=>this.handleCopy(h))),this._register(zi(c,"cut",h=>this.handleCopy(h))),this._register(zi(c,"paste",h=>this.handlePaste(h),!0)),this._pasteProgressManager=this._register(new J_("pasteIntoEditor",e,t)),this._postPasteWidgetManager=this._register(t.createInstance(ev,"pasteIntoEditor",e,f1,{id:GT,label:y("postPasteWidgetTitle","Show paste options...")}))}changePasteType(){this._postPasteWidgetManager.tryShowSelector()}pasteAs(e){this._editor.focus();try{this._pasteAsActionContext={preferred:e},S0().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 w,S,D,P;if(!this._editor.hasTextFocus()||((S=(w=this._clipboardService).clearInternalState)==null||S.call(w),!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 z(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,Zb),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=WT(e.clipboardData),p=g.flatMap(N=>N.copyMimeTypes??[]),v=Cy();this.setCopyMetadata(e.clipboardData,{id:v,providerCopyMimeTypes:p,defaultPastePayload:h});const _=ys(async N=>{const V=rl(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});(P=Wc._currentCopyOperation)==null||P.dataTransferPromise.cancel(),Wc._currentCopyOperation={handle:v,dataTransferPromise:_}}async handlePaste(e){var c,h,g;if(!e.clipboardData||!this._editor.hasTextFocus())return;(c=po.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=BT(e.clipboardData);s.delete(fw);const r=[...e.clipboardData.types,...(n==null?void 0:n.providerCopyMimeTypes)??[],Cs.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(w=>FT(w,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=po.get(this._editor))==null||i.showMessage(y("pasteAsError","No paste edits for '{0}' found",t instanceof En?t.value:t.providerId),e[0].getStartPosition())}doPasteInline(e,t,i,n,s){const r=this._editor;if(!r.hasModel())return;const a=new Zu(r,3,void 0),c=ys(async h=>{const g=this._editor;if(!g.hasModel())return;const f=g.getModel(),p=new He,v=p.add(new ws(h));p.add(a.token.onCancellationRequested(()=>v.cancel()));const _=v.token;try{if(await this.mergeInDataFromCopy(i,n,_),_.isCancellationRequested)return;const w=e.filter(P=>this.isSupportedPasteProvider(P,i));if(!w.length||w.length===1&&w[0]instanceof rh)return this.applyDefaultPasteHandler(i,n,_,s);const S={triggerKind:Jw.Automatic},D=await this.getPasteEdits(w,i,f,t,S,_);if(p.add(D),_.isCancellationRequested)return;if(D.edits.length===1&&D.edits[0].provider instanceof rh)return this.applyDefaultPasteHandler(i,n,_,s);if(D.edits.length){const P=g.getOption(85).showPasteSelector==="afterPaste";return this._postPasteWidgetManager.applyEditAndShowIfNeeded(t,{activeEditIndex:0,allEdits:D.edits},P,(N,V)=>new Promise((F,Y)=>{(async()=>{var X,me;try{const Le=(me=(X=N.provider).resolveDocumentPasteEdit)==null?void 0:me.call(X,N,V),je=new Xb,ve=Le&&await this._pasteProgressManager.showWhile(t[0].getEndPosition(),y("resolveProcess","Resolving paste edit. Click to cancel"),Promise.race([je.p,Le]),{cancel:()=>(je.cancel(),Y(new Yb))},0);return ve&&(N.additionalEdit=ve.additionalEdit),F(N)}catch(Le){return Y(Le)}})()}),_)}await this.applyDefaultPasteHandler(i,n,_,s)}finally{p.dispose(),this._currentPasteOperation===c&&(this._currentPasteOperation=void 0)}});this._pasteProgressManager.showWhile(t[0].getEndPosition(),y("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=ys(async a=>{const c=this._editor;if(!c.hasModel())return;const h=c.getModel(),g=new He,f=g.add(new Zu(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:Jw.PasteAs,only:e&&e instanceof En?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 En?e.contains(D.kind):e.providerId===D.provider.id),dispose:_.dispose}),!_.edits.length){v.only&&this.showPasteAsNoEditMessage(i,v.only);return}let w;if(e)w=_.edits.at(0);else{const D=await this._quickInputService.pick(_.edits.map(P=>{var N;return{label:P.title,description:(N=P.kind)==null?void 0:N.value,edit:P}}),{placeHolder:y("pasteAsPickerPlaceholder","Select Paste Action")});w=D==null?void 0:D.edit}if(!w)return;const S=$T(h.uri,i,w);await this._bulkEditService.apply(S,{editor:this._editor})}finally{g.dispose(),this._currentPasteOperation===r&&(this._currentPasteOperation=void 0)}});this._progressService.withProgress({location:10,title:y("pasteAsProgress","Running paste handlers")},()=>r)}setCopyMetadata(e,t){e.setData(fw,JSON.stringify(t))}fetchCopyMetadata(e){if(!e.clipboardData)return;const t=e.clipboardData.getData(fw);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=Wc._currentCopyOperation)==null?void 0:n.handle)===t.id){const s=await Wc._currentCopyOperation.dataTransferPromise;if(i.isCancellationRequested)return;for(const[r,a]of s)e.replace(r,a)}if(!e.has(Cs.uriList)){const s=await this._clipboardService.readResources();if(i.isCancellationRequested)return;s.length&&e.append(Cs.uriList,d1(xy.create(s)))}}async getPasteEdits(e,t,i,n,s,r){const a=new He,c=await Bp(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=rl(c??[]).flat().filter(g=>!s.only||s.only.contains(g.kind));return{edits:qT(h),dispose:()=>a.dispose()}}async applyDefaultPasteHandler(e,t,i,n){const s=e.get(Cs.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 En?e.providedPasteEditKinds?e.providedPasteEditKinds.some(i=>t.contains(i)):!0:e.id===t.providerId}},Wc=pd,pd.ID="editor.contrib.copyPasteActionController",pd);ul=Wc=x3([zh(1,hi),zh(2,Gb),zh(3,kg),zh(4,It),zh(5,ml),zh(6,_A)],ul);const lh="9_cutcopypaste",L3=Ig||document.queryCommandSupported("cut"),ZT=Ig||document.queryCommandSupported("copy"),k3=typeof navigator.clipboard>"u"||vA?document.queryCommandSupported("paste"):!0;function p1(o){return o.register(),o}const I3=L3?p1(new C0({id:"editor.action.clipboardCutAction",precondition:void 0,kbOpts:Ig?{primary:2102,win:{primary:2102,secondary:[1044]},weight:100}:void 0,menuOpts:[{menuId:lt.MenubarEditMenu,group:"2_ccp",title:y({key:"miCut",comment:["&& denotes a mnemonic"]},"Cu&&t"),order:1},{menuId:lt.EditorContext,group:lh,title:y("actions.clipboard.cutLabel","Cut"),when:M.writable,order:1},{menuId:lt.CommandPalette,group:"",title:y("actions.clipboard.cutLabel","Cut"),order:1},{menuId:lt.SimpleEditorContext,group:lh,title:y("actions.clipboard.cutLabel","Cut"),when:M.writable,order:1}]})):void 0,D3=ZT?p1(new C0({id:"editor.action.clipboardCopyAction",precondition:void 0,kbOpts:Ig?{primary:2081,win:{primary:2081,secondary:[2067]},weight:100}:void 0,menuOpts:[{menuId:lt.MenubarEditMenu,group:"2_ccp",title:y({key:"miCopy",comment:["&& denotes a mnemonic"]},"&&Copy"),order:2},{menuId:lt.EditorContext,group:lh,title:y("actions.clipboard.copyLabel","Copy"),order:2},{menuId:lt.CommandPalette,group:"",title:y("actions.clipboard.copyLabel","Copy"),order:1},{menuId:lt.SimpleEditorContext,group:lh,title:y("actions.clipboard.copyLabel","Copy"),order:2}]})):void 0;vr.appendMenuItem(lt.MenubarEditMenu,{submenu:lt.MenubarCopy,title:Lt("copy as","Copy As"),group:"2_ccp",order:3});vr.appendMenuItem(lt.EditorContext,{submenu:lt.EditorContextCopy,title:Lt("copy as","Copy As"),group:lh,order:3});vr.appendMenuItem(lt.EditorContext,{submenu:lt.EditorContextShare,title:Lt("share","Share"),group:"11_share",order:-1,when:ae.and(ae.notEquals("resourceScheme","output"),M.editorTextFocus)});vr.appendMenuItem(lt.ExplorerContext,{submenu:lt.ExplorerContextShare,title:Lt("share","Share"),group:"11_share",order:-1});const pw=k3?p1(new C0({id:"editor.action.clipboardPasteAction",precondition:void 0,kbOpts:Ig?{primary:2100,win:{primary:2100,secondary:[1043]},linux:{primary:2100,secondary:[1043]},weight:100}:void 0,menuOpts:[{menuId:lt.MenubarEditMenu,group:"2_ccp",title:y({key:"miPaste",comment:["&& denotes a mnemonic"]},"&&Paste"),order:4},{menuId:lt.EditorContext,group:lh,title:y("actions.clipboard.pasteLabel","Paste"),when:M.writable,order:4},{menuId:lt.CommandPalette,group:"",title:y("actions.clipboard.pasteLabel","Paste"),order:1},{menuId:lt.SimpleEditorContext,group:lh,title:y("actions.clipboard.pasteLabel","Paste"),when:M.writable,order:4}]})):void 0;class E3 extends Se{constructor(){super({id:"editor.action.clipboardCopyWithSyntaxHighlightingAction",label:y("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()||(HL.forceCopyWithSyntaxHighlighting=!0,t.focus(),t.getContainerDomNode().ownerDocument.execCommand("copy"),HL.forceCopyWithSyntaxHighlighting=!1)}}function XT(o,e){o&&(o.addImplementation(1e4,"code-editor",(t,i)=>{const n=t.get(ns).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)=>(S0().execCommand(e),!0)))}XT(I3,"cut");XT(D3,"copy");pw&&(pw.addImplementation(1e4,"code-editor",(o,e)=>{var s;const t=o.get(ns),i=o.get(kg),n=t.getFocusedCodeEditor();return n&&n.hasTextFocus()?n.getContainerDomNode().ownerDocument.execCommand("paste")?((s=ul.get(n))==null?void 0:s.finishedPaste())??Promise.resolve():bA?(async()=>{const a=await i.readText();if(a!==""){const c=yA.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}),pw.addImplementation(0,"generic-dom",(o,e)=>(S0().execCommand("paste"),!0)));ZT&&ne(E3);const bn=new class{constructor(){this.QuickFix=new En("quickfix"),this.Refactor=new En("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 En("notebook"),this.Source=new En("source"),this.SourceOrganizeImports=this.Source.append("organizeImports"),this.SourceFixAll=this.Source.append("fixAll"),this.SurroundWith=this.Refactor.append("surround")}};var bo;(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"})(bo||(bo={}));function P3(o,e){return!(o.include&&!o.include.intersects(e)||o.excludes&&o.excludes.some(t=>YT(e,t,o.include))||!o.includeSourceActions&&bn.Source.contains(e))}function T3(o,e){const t=e.kind?new En(e.kind):void 0;return!(o.include&&(!t||!o.include.contains(t))||o.excludes&&t&&o.excludes.some(i=>YT(t,i,o.include))||!o.includeSourceActions&&t&&bn.Source.contains(t)||o.onlyIncludePreferredActions&&!e.isPreferred)}function YT(o,e,t){return!(!e.contains(o)||t&&e.contains(t))}class va{static fromUser(e,t){return!e||typeof e!="object"?new va(t.kind,t.apply,!1):new va(va.getKindFromUser(e,t.kind),va.getApplyFromUser(e,t.apply),va.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 En(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){is(n)}i&&(this.action.edit=i.edit)}return this}}const JT="editor.action.codeAction",m1="editor.action.quickFix",QT="editor.action.autoFix",eM="editor.action.refactor",tM="editor.action.sourceAction",AS="editor.action.organizeImports",OS="editor.action.fixAll";class Pf extends Ve{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:Eo(e.diagnostics)?Eo(t.diagnostics)?Pf.codeActionsPreferredComparator(e,t):-1:Eo(t.diagnostics)?1:Pf.codeActionsPreferredComparator(e,t)}constructor(e,t,i){super(),this.documentation=t,this._register(i),this.allActions=[...e].sort(Pf.codeActionsComparator),this.validActions=this.allActions.filter(({action:n})=>!n.disabled)}get hasAutoFix(){return this.validActions.some(({action:e})=>!!e.kind&&bn.QuickFix.contains(new En(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 Ak={actions:[],documentation:void 0};async function uu(o,e,t,i,n,s){var w;const r=i.filter||{},a={...r,excludes:[...r.excludes||[],bn.Notebook]},c={only:(w=r.include)==null?void 0:w.value,trigger:i.type},h=new wA(e,s),g=i.type===2,f=N3(o,e,g?a:r),p=new He,v=f.map(async S=>{try{n.report(S);const D=await S.provideCodeActions(e,t,c,h.token);if(D&&p.add(D),h.token.isCancellationRequested)return Ak;const P=((D==null?void 0:D.actions)||[]).filter(V=>V&&T3(r,V)),N=A3(S,P,r.include);return{actions:P.map(V=>new M3(V,S)),documentation:N}}catch(D){if(xc(D))throw D;return is(D),Ak}}),_=o.onDidChange(()=>{const S=o.all(e);Da(S,f)||h.cancel()});try{const S=await Promise.all(v),D=S.map(N=>N.actions).flat(),P=[...rl(S.map(N=>N.documentation)),...R3(o,e,i,D)];return new Pf(D,P,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 En(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 En(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 En(n.kind)))return s.command}}var Xc;(function(o){o.OnSave="onSave",o.FromProblemsView="fromProblemsView",o.FromCodeActions="fromCodeActions",o.FromAILightbulb="fromAILightbulb"})(Xc||(Xc={}));async function O3(o,e,t,i,n=mi.None){var h;const s=o.get(Gb),r=o.get(ms),a=o.get(Zr),c=o.get(Ks);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!==Xc.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:y("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}wn.registerCommand("_executeCodeActionProvider",async function(o,e,t,i,n){if(!(e instanceof cn))throw tl();const{codeActionProvider:s}=o.get(It),r=o.get(Gs).getModel(e);if(!r)throw tl();const a=qt.isISelection(t)?qt.liftSelection(t):z.isIRange(t)?r.validateRange(t):void 0;if(!a)throw tl();const c=typeof i=="string"?new En(i):void 0,h=await uu(s,r,a,{type:1,triggerAction:bo.Default,filter:{includeSourceActions:!0,include:c}},Za.None,mi.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(mi.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)}},FS,md;let HS=(md=class{constructor(e){this.keybindingService=e}getResolver(){const e=new x0(()=>this.keybindingService.getKeybindings().filter(t=>FS.codeActionCommands.indexOf(t.command)>=0).filter(t=>t.resolvedKeybinding).map(t=>{let i=t.commandArgs;return t.command===AS?i={kind:bn.SourceOrganizeImports.value}:t.command===OS&&(i={kind:bn.SourceFixAll.value}),{resolvedKeybinding:t.resolvedKeybinding,...va.fromUser(i,{kind:En.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 En(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)}},FS=md,md.codeActionCommands=[eM,JT,tM,AS,OS],md);HS=FS=H3([W3(0,as)],HS);_t("symbolIcon.arrayForeground",us,y("symbolIcon.arrayForeground","The foreground color for array symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));_t("symbolIcon.booleanForeground",us,y("symbolIcon.booleanForeground","The foreground color for boolean symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));_t("symbolIcon.classForeground",{dark:"#EE9D28",light:"#D67E00",hcDark:"#EE9D28",hcLight:"#D67E00"},y("symbolIcon.classForeground","The foreground color for class symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));_t("symbolIcon.colorForeground",us,y("symbolIcon.colorForeground","The foreground color for color symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));_t("symbolIcon.constantForeground",us,y("symbolIcon.constantForeground","The foreground color for constant symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));_t("symbolIcon.constructorForeground",{dark:"#B180D7",light:"#652D90",hcDark:"#B180D7",hcLight:"#652D90"},y("symbolIcon.constructorForeground","The foreground color for constructor symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));_t("symbolIcon.enumeratorForeground",{dark:"#EE9D28",light:"#D67E00",hcDark:"#EE9D28",hcLight:"#D67E00"},y("symbolIcon.enumeratorForeground","The foreground color for enumerator symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));_t("symbolIcon.enumeratorMemberForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},y("symbolIcon.enumeratorMemberForeground","The foreground color for enumerator member symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));_t("symbolIcon.eventForeground",{dark:"#EE9D28",light:"#D67E00",hcDark:"#EE9D28",hcLight:"#D67E00"},y("symbolIcon.eventForeground","The foreground color for event symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));_t("symbolIcon.fieldForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},y("symbolIcon.fieldForeground","The foreground color for field symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));_t("symbolIcon.fileForeground",us,y("symbolIcon.fileForeground","The foreground color for file symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));_t("symbolIcon.folderForeground",us,y("symbolIcon.folderForeground","The foreground color for folder symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));_t("symbolIcon.functionForeground",{dark:"#B180D7",light:"#652D90",hcDark:"#B180D7",hcLight:"#652D90"},y("symbolIcon.functionForeground","The foreground color for function symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));_t("symbolIcon.interfaceForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},y("symbolIcon.interfaceForeground","The foreground color for interface symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));_t("symbolIcon.keyForeground",us,y("symbolIcon.keyForeground","The foreground color for key symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));_t("symbolIcon.keywordForeground",us,y("symbolIcon.keywordForeground","The foreground color for keyword symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));_t("symbolIcon.methodForeground",{dark:"#B180D7",light:"#652D90",hcDark:"#B180D7",hcLight:"#652D90"},y("symbolIcon.methodForeground","The foreground color for method symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));_t("symbolIcon.moduleForeground",us,y("symbolIcon.moduleForeground","The foreground color for module symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));_t("symbolIcon.namespaceForeground",us,y("symbolIcon.namespaceForeground","The foreground color for namespace symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));_t("symbolIcon.nullForeground",us,y("symbolIcon.nullForeground","The foreground color for null symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));_t("symbolIcon.numberForeground",us,y("symbolIcon.numberForeground","The foreground color for number symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));_t("symbolIcon.objectForeground",us,y("symbolIcon.objectForeground","The foreground color for object symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));_t("symbolIcon.operatorForeground",us,y("symbolIcon.operatorForeground","The foreground color for operator symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));_t("symbolIcon.packageForeground",us,y("symbolIcon.packageForeground","The foreground color for package symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));_t("symbolIcon.propertyForeground",us,y("symbolIcon.propertyForeground","The foreground color for property symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));_t("symbolIcon.referenceForeground",us,y("symbolIcon.referenceForeground","The foreground color for reference symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));_t("symbolIcon.snippetForeground",us,y("symbolIcon.snippetForeground","The foreground color for snippet symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));_t("symbolIcon.stringForeground",us,y("symbolIcon.stringForeground","The foreground color for string symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));_t("symbolIcon.structForeground",us,y("symbolIcon.structForeground","The foreground color for struct symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));_t("symbolIcon.textForeground",us,y("symbolIcon.textForeground","The foreground color for text symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));_t("symbolIcon.typeParameterForeground",us,y("symbolIcon.typeParameterForeground","The foreground color for type parameter symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));_t("symbolIcon.unitForeground",us,y("symbolIcon.unitForeground","The foreground color for unit symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));_t("symbolIcon.variableForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},y("symbolIcon.variableForeground","The foreground color for variable symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));const iM=Object.freeze({kind:En.Empty,title:y("codeAction.widget.id.more","More Actions...")}),B3=Object.freeze([{kind:bn.QuickFix,title:y("codeAction.widget.id.quickfix","Quick Fix")},{kind:bn.RefactorExtract,title:y("codeAction.widget.id.extract","Extract"),icon:Yt.wrench},{kind:bn.RefactorInline,title:y("codeAction.widget.id.inline","Inline"),icon:Yt.wrench},{kind:bn.RefactorRewrite,title:y("codeAction.widget.id.convert","Rewrite"),icon:Yt.wrench},{kind:bn.RefactorMove,title:y("codeAction.widget.id.move","Move"),icon:Yt.wrench},{kind:bn.SurroundWith,title:y("codeAction.widget.id.surround","Surround With"),icon:Yt.surroundWith},{kind:bn.Source,title:y("codeAction.widget.id.source","Source Action"),icon:Yt.symbolFile},iM]);function z3(o,e,t){if(!e)return o.map(s=>{var r;return{kind:"action",item:s,group:iM,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 En(s.action.kind):En.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:Yt.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)}},iu;const Ok=Qn("gutter-lightbulb",Yt.lightBulb,y("gutterLightbulbWidget","Icon which spawns code actions menu from the gutter when there is no space in the editor.")),Fk=Qn("gutter-lightbulb-auto-fix",Yt.lightbulbAutofix,y("gutterLightbulbAutoFixWidget","Icon which spawns code actions menu from the gutter when there is no space in the editor and a quick fix is available.")),Hk=Qn("gutter-lightbulb-sparkle",Yt.lightbulbSparkle,y("gutterLightbulbAIFixWidget","Icon which spawns code actions menu from the gutter when there is no space in the editor and an AI fix is available.")),Wk=Qn("gutter-lightbulb-aifix-auto-fix",Yt.lightbulbSparkleAutofix,y("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.")),Bk=Qn("gutter-lightbulb-sparkle-filled",Yt.sparkleFilled,y("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 Pr;(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})(Pr||(Pr={}));var Ja;let rp=(Ja=class extends Ve{constructor(e,t){super(),this._editor=e,this._keybindingService=t,this._onClick=this._register(new pi),this.onClick=this._onClick.event,this._state=Pr.Hidden,this._gutterState=Pr.Hidden,this._iconClasses=[],this.lightbulbClasses=["codicon-"+Ok.id,"codicon-"+Wk.id,"codicon-"+Fk.id,"codicon-"+Hk.id,"codicon-"+Bk.id],this.gutterDecoration=iu.GUTTER_DECORATION,this._domNode=mt("div.lightBulbWidget"),this._domNode.role="listbox",this._register(nE.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}=Qs(this._domNode),r=this._editor.getOption(67);let a=Math.floor(r/3);this.state.widgetPosition.position!==null&&this.state.widgetPosition.position.lineNumber<this.state.editorPosition.lineNumber&&(a+=r),this._onClick.fire({x:i.posx,y:n+s+a,actions:this.state.actions,trigger:this.state.trigger})})),this._register(zi(this._domNode,"mouseenter",i=>{(i.buttons&1)===1&&this.hide()})),this._register(ds.runAndSubscribe(this._keybindingService.onDidUpdateKeybindings,()=>{var i,n;this._preferredKbLabel=((i=this._keybindingService.lookupKeybinding(QT))==null?void 0:i.getLabel())??void 0,this._quickFixKbLabel=((n=this._keybindingService.lookupKeybinding(m1))==null?void 0:n.getLabel())??void 0,this._updateLightBulbTitleAndIcon()})),this._register(this._editor.onMouseDown(async i=>{if(!i.target.element||!this.lightbulbClasses.some(c=>i.target.element&&i.target.element.classList.contains(c))||this.gutterState.type!==1)return;this._editor.focus();const{top:n,height:s}=Qs(i.target.element),r=this._editor.getOption(67);let a=Math.floor(r/3);this.gutterState.widgetPosition.position!==null&&this.gutterState.widgetPosition.position.lineNumber<this.gutterState.editorPosition.lineNumber&&(a+=r),this._onClick.fire({x:i.event.posx,y:n+s+a,actions:this.gutterState.actions,trigger:this.gutterState.trigger})}))}dispose(){super.dispose(),this._editor.removeContentWidget(this),this._gutterDecorationID&&this._removeGutterDecoration(this._gutterDecorationID)}getId(){return"LightBulbWidget"}getDomNode(){return this._domNode}getPosition(){return this._state.type===1?this._state.widgetPosition:null}update(e,t,i){if(e.validActions.length<=0)return this.gutterHide(),this.hide();if(!this._editor.hasTextFocus())return this.gutterHide(),this.hide();if(!this._editor.getOptions().get(65).enabled)return this.gutterHide(),this.hide();const r=this._editor.getModel();if(!r)return this.gutterHide(),this.hide();const{lineNumber:a,column:c}=r.validatePosition(i),h=r.getOptions().tabSize,g=this._editor.getOptions().get(50),f=r.getLineContent(a),p=L0(f,h),v=g.spaceWidth*p>22,_=F=>F>2&&this._editor.getTopForLineNumber(F)===this._editor.getTopForLineNumber(F-1),w=this._editor.getLineDecorations(a);let S=!1;if(w)for(const F of w){const Y=F.options.glyphMarginClassName;if(Y&&!this.lightbulbClasses.some(X=>Y.includes(X))){S=!0;break}}let D=a,P=1;if(!v){const F=Y=>{const X=r.getLineContent(Y);return/^\s*$|^\s+/.test(X)||X.length<=P};if(a>1&&!_(a-1)){const Y=r.getLineCount(),X=a===Y,me=a>1&&F(a-1),Le=!X&&F(a+1),je=F(a),ve=!Le&&!me;if(!Le&&!me&&!S)return this.gutterState=new Pr.Showing(e,t,i,{position:{lineNumber:D,column:P},preference:iu._posPref}),this.renderGutterLightbub(),this.hide();me||X||me&&!je?D-=1:(Le||ve&&je)&&(D+=1)}else if(a===1&&(a===r.getLineCount()||!F(a+1)&&!F(a)))if(this.gutterState=new Pr.Showing(e,t,i,{position:{lineNumber:D,column:P},preference:iu._posPref}),S)this.gutterHide();else return this.renderGutterLightbub(),this.hide();else if(a<r.getLineCount()&&!_(a+1))D+=1;else if(c*g.spaceWidth<22)return this.hide();P=/^\S\s*$/.test(r.getLineContent(D))?2:1}this.state=new Pr.Showing(e,t,i,{position:{lineNumber:D,column:P},preference:iu._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!==Pr.Hidden&&(this.state=Pr.Hidden,this._editor.layoutContentWidget(this))}gutterHide(){this.gutterState!==Pr.Hidden&&(this._gutterDecorationID&&this._removeGutterDecoration(this._gutterDecorationID),this.gutterState=Pr.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=Yt.sparkleFilled,this.state.actions.validActions.length===1&&(t=!0)):this.state.actions.hasAutoFix?this.state.actions.hasAIFix?e=Yt.lightbulbSparkleAutofix:e=Yt.lightbulbAutofix:this.state.actions.hasAIFix?e=Yt.lightbulbSparkle:e=Yt.lightBulb,this._updateLightbulbTitle(this.state.actions.hasAutoFix,t),this._iconClasses=Ki.asClassNameArray(e),this._domNode.classList.add(...this._iconClasses)}_updateGutterLightBulbTitleAndIcon(){if(this.gutterState.type!==1)return;let e,t=!1;this.gutterState.actions.allAIFixes?(e=Bk,this.gutterState.actions.validActions.length===1&&(t=!0)):this.gutterState.actions.hasAutoFix?this.gutterState.actions.hasAIFix?e=Wk:e=Fk:this.gutterState.actions.hasAIFix?e=Hk:e=Ok,this._updateLightbulbTitle(this.gutterState.actions.hasAutoFix,t);const i=Di.register({description:"codicon-gutter-lightbulb-decoration",glyphMarginClassName:Ki.asClassName(e),glyphMargin:{position:N_.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 z(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 z(t,0,t,0)),i.changeDecorationOptions(e,this.gutterDecoration)})}_updateLightbulbTitle(e,t){this.state.type===1&&(t?this.title=y("codeActionAutoRun","Run: {0}",this.state.actions.validActions[0].action.title):e&&this._preferredKbLabel?this.title=y("preferredcodeActionWithKb","Show Code Actions. Preferred Quick Fix Available ({0})",this._preferredKbLabel):!e&&this._quickFixKbLabel?this.title=y("codeActionWithKb","Show Code Actions ({0})",this._quickFixKbLabel):e||(this.title=y("codeAction","Show Code Actions")))}set title(e){this._domNode.title=e}},iu=Ja,Ja.GUTTER_DECORATION=Di.register({description:"codicon-gutter-lightbulb-decoration",glyphMarginClassName:Ki.asClassName(Yt.lightBulb),glyphMargin:{position:N_.Left},stickiness:1}),Ja.ID="editor.contrib.lightbulbWidget",Ja._posPref=[0],Ja);rp=iu=V3([j3(1,as)],rp);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},WS=function(o,e){return function(t,i){e(t,i,o)}};const sM="acceptSelectedCodeAction",oM="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 BS=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 k0(e,I0);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=Ki.asClassName(e.group.icon),e.group.icon.color&&(i.icon.style.color=id(e.group.icon.color.id))):(i.icon.className=Ki.asClassName(Yt.lightBulb),i.icon.style.color="var(--vscode-editorLightBulb-foreground)"),!e.item||!e.label)return;i.text.textContent=rM(e.label),i.keybinding.set(e.keybinding),CA(!!e.keybinding,i.keybinding.element);const n=(a=this._keybindingService.lookupKeybinding(sM))==null?void 0:a.getLabel(),s=(c=this._keybindingService.lookupKeybinding(oM))==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=y({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=y({key:"label",comment:['placeholder is a keybinding, e.g "F2 to Apply"']},"{0} to Apply",n):i.container.title=""}disposeTemplate(e){e.keybinding.dispose()}};BS=nM([WS(1,as)],BS);class $3 extends UIEvent{constructor(){super("acceptSelectedAction")}}class zk extends UIEvent{constructor(){super("previewSelectedAction")}}function q3(o){if(o.kind==="action")return o.label}let zS=class extends Ve{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 ws),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 D0(e,this.domNode,a,[new BS(t,this._keybindingService),new U3],{keyboardSupport:!1,typeNavigationEnabled:!0,keyboardNavigationLabelProvider:{getKeyboardNavigationLabel:q3},accessibilityProvider:{getAriaLabel:c=>{if(c.kind==="action"){let h=c.label?rM(c==null?void 0:c.label):"";return c.disabled&&(h=y({key:"customQuickFixWidget.labels",comment:["Action widget labels for accessibility."]},"{0}, Disabled Reason: {1}",h,c.disabled)),h}return null},getWidgetAriaLabel:()=>y({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 zk: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 zk):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([])}};zS=nM([WS(4,Jb),WS(5,as)],zS);function rM(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},mw=function(o,e){return function(t,i){e(t,i,o)}};_t("actionBar.toggledBackground",E0,y("actionBar.toggledBackground","Background color for toggled action items in action bar."));const ch={Visible:new Ri("codeActionMenuVisible",!1,y("codeActionMenuVisible","Whether the action widget list is visible"))},Ch=_l("actionWidgetService");let dh=class extends Ve{get isVisible(){return ch.Visible.getValue(this._contextKeyService)||!1}constructor(e,t,i){super(),this._contextViewService=e,this._contextKeyService=t,this._instantiationService=i,this._list=this._register(new Mo)}show(e,t,i,n,s,r,a){const c=ch.Visible.bindTo(this._contextKeyService),h=this._instantiationService.createInstance(zS,e,t,i,n);this._contextViewService.showContextView({getAnchor:()=>s,render:g=>(c.set(!0),this._renderWidget(g,h,a??[])),onHide:g=>{c.reset(),this._onWidgetClosed(g)}},r,!1)}acceptSelected(e){var t;(t=this._list.value)==null||t.acceptSelected(e)}focusPrevious(){var e,t;(t=(e=this._list)==null?void 0:e.value)==null||t.focusPrevious()}focusNext(){var e,t;(t=(e=this._list)==null?void 0:e.value)==null||t.focusNext()}hide(e){var t;(t=this._list.value)==null||t.hide(e),this._list.clear()}_renderWidget(e,t,i){var v;const n=document.createElement("div");if(n.classList.add("action-widget"),e.appendChild(n),this._list.value=t,this._list.value)n.appendChild(this._list.value.domNode);else throw new Error("List has no value");const s=new He,r=document.createElement("div"),a=e.appendChild(r);a.classList.add("context-view-block"),s.add(zi(a,Un.MOUSE_DOWN,_=>_.stopPropagation()));const c=document.createElement("div"),h=e.appendChild(c);h.classList.add("context-view-pointerBlock"),s.add(zi(h,Un.POINTER_MOVE,()=>h.remove())),s.add(zi(h,Un.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(Xu(e));return s.add(p.onDidBlur(()=>this.hide(!0))),s}_createActionBar(e,t){if(!t.length)return;const i=mt(e),n=new $f(i);return n.push(t,{icon:!1,label:!0}),n}_onWidgetClosed(e){var t;(t=this._list.value)==null||t.hide(e)}};dh=K3([mw(0,Jb),mw(1,Vi),mw(2,hi)],dh);vl(Ch,dh,1);const rm=1100;tn(class extends io{constructor(){super({id:"hideCodeActionWidget",title:Lt("hideCodeActionWidget.title","Hide action widget"),precondition:ch.Visible,keybinding:{weight:rm,primary:9,secondary:[1033]}})}run(o){o.get(Ch).hide(!0)}});tn(class extends io{constructor(){super({id:"selectPrevCodeAction",title:Lt("selectPrevCodeAction.title","Select previous action"),precondition:ch.Visible,keybinding:{weight:rm,primary:16,secondary:[2064],mac:{primary:16,secondary:[2064,302]}}})}run(o){const e=o.get(Ch);e instanceof dh&&e.focusPrevious()}});tn(class extends io{constructor(){super({id:"selectNextCodeAction",title:Lt("selectNextCodeAction.title","Select next action"),precondition:ch.Visible,keybinding:{weight:rm,primary:18,secondary:[2066],mac:{primary:18,secondary:[2066,300]}}})}run(o){const e=o.get(Ch);e instanceof dh&&e.focusNext()}});tn(class extends io{constructor(){super({id:sM,title:Lt("acceptSelected.title","Accept selected action"),precondition:ch.Visible,keybinding:{weight:rm,primary:3,secondary:[2137]}})}run(o){const e=o.get(Ch);e instanceof dh&&e.acceptSelected()}});tn(class extends io{constructor(){super({id:oM,title:Lt("previewSelected.title","Preview selected action"),precondition:ch.Visible,keybinding:{weight:rm,primary:2051}})}run(o){const e=o.get(Ch);e instanceof dh&&e.acceptSelected(!0)}});const aM=new Ri("supportedCodeAction",""),Vk="_typescript.applyFixAllCodeAction";class G3 extends Ve{constructor(e,t,i,n=250){super(),this._editor=e,this._markerService=t,this._signalChange=i,this._delay=n,this._autoTriggerTimer=this._register(new zp),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=>R_(i,t.uri))&&this._tryAutoTrigger()}_tryAutoTrigger(){this._autoTriggerTimer.cancelAndSet(()=>{this.trigger({type:2,triggerAction:bo.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!==Jy.Off){{if(i===Jy.On)return t;if(i===Jy.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 jc;(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 lM;throw r})}cancel(){this._cancellablePromise.cancel()}}o.Triggered=e})(jc||(jc={}));const lM=Object.freeze({allActions:[],validActions:[],dispose:()=>{},documentation:[],hasAutoFix:!1,hasAIFix:!1,allAIFixes:!1});class Z3 extends Ve{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 Mo),this._state=jc.Empty,this._onDidChangeState=this._register(new pi),this.onDidChangeState=this._onDidChangeState.event,this._disposed=!1,this._supportedCodeActions=aM.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(jc.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(jc.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(jc.Empty);return}const n=i.selection.getStartPosition(),s=ys(async h=>{var g,f,p,v,_,w,S,D,P,N;if(this._settingEnabledNearbyQuickfixes()&&i.trigger.type===1&&(i.trigger.triggerAction===bo.QuickFix||(f=(g=i.trigger.filter)==null?void 0:g.include)!=null&&f.contains(bn.QuickFix))){const V=await uu(this._registry,e,i.selection,i.trigger,Za.None,h),F=[...V.allActions];if(h.isCancellationRequested)return lM;const Y=(p=V.validActions)==null?void 0:p.some(me=>me.action.kind?bn.QuickFix.contains(new En(me.action.kind)):!1),X=this._markerService.read({resource:e.uri});if(Y){for(const me of V.validActions)(_=(v=me.action.command)==null?void 0:v.arguments)!=null&&_.some(Le=>typeof Le=="string"&&Le.includes(Vk))&&(me.action.diagnostics=[...X.filter(Le=>Le.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 me=i.selection.getPosition();let Le=me,je=Number.MAX_VALUE;const ve=[...V.validActions];for(const Ot of X){const yt=Ot.endColumn,ai=Ot.endLineNumber,jt=Ot.startLineNumber;if(ai===me.lineNumber||jt===me.lineNumber){Le=new kt(ai,yt);const Qt={type:i.trigger.type,triggerAction:i.trigger.triggerAction,filter:{include:(w=i.trigger.filter)!=null&&w.include?(S=i.trigger.filter)==null?void 0:S.include:bn.QuickFix},autoApply:i.trigger.autoApply,context:{notAvailableMessage:((D=i.trigger.context)==null?void 0:D.notAvailableMessage)||"",position:Le}},Ne=new qt(Le.lineNumber,Le.column,Le.lineNumber,Le.column),Ge=await uu(this._registry,e,Ne,Qt,Za.None,h);if(Ge.validActions.length!==0){for(const Re of Ge.validActions)(N=(P=Re.action.command)==null?void 0:P.arguments)!=null&&N.some(ot=>typeof ot=="string"&&ot.includes(Vk))&&(Re.action.diagnostics=[...X.filter(ot=>ot.relatedInformation)]);V.allActions.length===0&&F.push(...Ge.allActions),Math.abs(me.column-yt)<je?ve.unshift(...Ge.validActions):ve.push(...Ge.validActions)}je=Math.abs(me.column-yt)}}const st=ve.filter((Ot,yt,ai)=>ai.findIndex(jt=>jt.action.title===Ot.action.title)===yt);return st.sort((Ot,yt)=>Ot.action.isPreferred&&!yt.action.isPreferred?-1:!Ot.action.isPreferred&&yt.action.isPreferred||Ot.action.isAI&&!yt.action.isAI?1:!Ot.action.isAI&&yt.action.isAI?-1:0),{validActions:st,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 vo,F=await uu(this._registry,e,i.selection,i.trigger,Za.None,h);return this._telemetryService&&this._telemetryService.publicLog2("codeAction.invokedDurations",{codeActions:F.validActions.length,duration:V.elapsed()}),F}return uu(this._registry,e,i.selection,i.trigger,Za.None,h)});i.trigger.type===1&&((c=this._progressService)==null||c.showWhile(s,250));const r=new jc.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:bo.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},na=function(o,e){return function(t,i){e(t,i,o)}},nu;const Y3="quickfix-edit-highlight";var ec;let hg=(ec=class extends Ve{static get(e){return e.getContribution(nu.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 Mo),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 x0(()=>{const p=this._editor.getContribution(rp.ID);return p&&this._register(p.onClick(v=>this.showCodeActionsFromLightbulb(v.actions,v))),p}),this._resolver=n.createInstance(HS),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,Xc.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=po.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:bo.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){fn(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,Xc.FromCodeActions)}finally{t.dispose()}return}if(e.trigger.context){const f=this.getInvalidActionThatWouldHaveBeenApplied(e.trigger,t);if(f&&f.action.disabled){(r=po.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=po.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=kt.isIPosition(t)?this.toCoords(t):t,c={onSelect:async(h,g)=>{this._applyCodeAction(h,!0,!!g,i.fromLightbulb?Xc.FromAILightbulb:Xc.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 En(p);f=[bn.RefactorExtract,bn.RefactorInline,bn.RefactorRewrite,bn.RefactorMove,bn.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(w=>({range:w,options:nu.DECORATION})):p.map(w=>({range:w,options:nu.DECORATION}));n.set(_)}else if(v&&v.length>0){const _=v.map(S=>({range:S,options:nu.DECORATION}));n.set(_);const w=v[0];if(w.startLineNumber&&w.startColumn){const S=(f=(g=this._editor.getModel())==null?void 0:g.getWordAtPosition({lineNumber:w.startLineNumber,column:w.startColumn}))==null?void 0:f.word;Yu(y("editingNewSelection","Context: {0} at line {1} and column {2}.",S,w.startLineNumber,w.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=Qs(this._editor.getDomNode()),n=i.left+t.left,s=i.top+t.top+t.height;return{x:n,y:s}}_shouldShowHeaders(){var t;const e=(t=this._editor)==null?void 0:t.getModel();return this._configurationService.getValue("editor.codeActionWidget.showHeaders",{resource:e==null?void 0:e.uri})}_getActionBarActions(e,t,i){if(i.fromLightbulb)return[];const n=e.documentation.map(s=>({id:s.id,label:s.title,tooltip:s.tooltip??"",class:void 0,enabled:!0,run:()=>this._commandService.executeCommand(s.id,...s.arguments??[])}));return i.includeDisabledActions&&e.validActions.length>0&&e.allActions.length!==e.validActions.length&&n.push(this._showDisabled?{id:"hideMoreActions",label:y("hideMoreActions","Hide Disabled"),enabled:!0,tooltip:"",class:void 0,run:()=>(this._showDisabled=!1,this.showCodeActionList(e,t,i))}:{id:"showMoreActions",label:y("showMoreActions","Show Disabled"),enabled:!0,tooltip:"",class:void 0,run:()=>(this._showDisabled=!0,this.showCodeActionList(e,t,i))}),n}},nu=ec,ec.ID="editor.contrib.codeActionController",ec.DECORATION=Di.register({description:"quickfix-highlight",className:Y3}),ec);hg=nu=X3([na(1,P0),na(2,Vi),na(3,hi),na(4,It),na(5,Vp),na(6,ms),na(7,Pn),na(8,Ch),na(9,hi),na(10,Zr)],hg);Qb((o,e)=>{((n,s)=>{s&&e.addRule(`.monaco-editor ${n} { background-color: ${s}; }`)})(".quickfix-edit-highlight",o.getColor(LA));const i=o.getColor(sE);i&&e.addRule(`.monaco-editor .quickfix-edit-highlight { border: 1px ${qf(o.type)?"dotted":"solid"} ${i}; box-sizing: border-box; }`)});function am(o){return ae.regex(aM.keys()[0],new RegExp("(\\s|^)"+Kf(o.value)+"\\b"))}const _1={type:"object",defaultSnippets:[{body:{kind:""}}],properties:{kind:{type:"string",description:y("args.schema.kind","Kind of the code action to run.")},apply:{type:"string",description:y("args.schema.apply","Controls when the returned actions are applied."),default:"ifSingle",enum:["first","ifSingle","never"],enumDescriptions:[y("args.schema.apply.first","Always apply the first returned code action."),y("args.schema.apply.ifSingle","Apply the first returned code action if it is the only one."),y("args.schema.apply.never","Do not apply the returned code actions.")]},preferred:{type:"boolean",default:!1,description:y("args.schema.preferred","Controls if only preferred code actions should be returned.")}}};function xh(o,e,t,i,n=bo.Default){if(o.hasModel()){const s=hg.get(o);s==null||s.manualTriggerAtCurrentPosition(e,n,t,i)}}class J3 extends Se{constructor(){super({id:m1,label:y("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 xh(t,y("editor.action.quickFix.noneMessage","No code actions available"),void 0,void 0,bo.QuickFix)}}class Q3 extends no{constructor(){super({id:JT,precondition:ae.and(M.writable,M.hasCodeActionsProvider),metadata:{description:"Trigger a code action",args:[{name:"args",schema:_1}]}})}runEditorCommand(e,t,i){const n=va.fromUser(i,{kind:En.Empty,apply:"ifSingle"});return xh(t,typeof(i==null?void 0:i.kind)=="string"?n.preferred?y("editor.action.codeAction.noneMessage.preferred.kind","No preferred code actions for '{0}' available",i.kind):y("editor.action.codeAction.noneMessage.kind","No code actions for '{0}' available",i.kind):n.preferred?y("editor.action.codeAction.noneMessage.preferred","No preferred code actions available"):y("editor.action.codeAction.noneMessage","No code actions available"),{include:n.kind,includeSourceActions:!0,onlyIncludePreferredActions:n.preferred},n.apply)}}class eB extends Se{constructor(){super({id:eM,label:y("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,am(bn.Refactor))},metadata:{description:"Refactor...",args:[{name:"args",schema:_1}]}})}run(e,t,i){const n=va.fromUser(i,{kind:bn.Refactor,apply:"never"});return xh(t,typeof(i==null?void 0:i.kind)=="string"?n.preferred?y("editor.action.refactor.noneMessage.preferred.kind","No preferred refactorings for '{0}' available",i.kind):y("editor.action.refactor.noneMessage.kind","No refactorings for '{0}' available",i.kind):n.preferred?y("editor.action.refactor.noneMessage.preferred","No preferred refactorings available"):y("editor.action.refactor.noneMessage","No refactorings available"),{include:bn.Refactor.contains(n.kind)?n.kind:En.None,onlyIncludePreferredActions:n.preferred},n.apply,bo.Refactor)}}class tB extends Se{constructor(){super({id:tM,label:y("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,am(bn.Source))},metadata:{description:"Source Action...",args:[{name:"args",schema:_1}]}})}run(e,t,i){const n=va.fromUser(i,{kind:bn.Source,apply:"never"});return xh(t,typeof(i==null?void 0:i.kind)=="string"?n.preferred?y("editor.action.source.noneMessage.preferred.kind","No preferred source actions for '{0}' available",i.kind):y("editor.action.source.noneMessage.kind","No source actions for '{0}' available",i.kind):n.preferred?y("editor.action.source.noneMessage.preferred","No preferred source actions available"):y("editor.action.source.noneMessage","No source actions available"),{include:bn.Source.contains(n.kind)?n.kind:En.None,includeSourceActions:!0,onlyIncludePreferredActions:n.preferred},n.apply,bo.SourceAction)}}class iB extends Se{constructor(){super({id:AS,label:y("organizeImports.label","Organize Imports"),alias:"Organize Imports",precondition:ae.and(M.writable,am(bn.SourceOrganizeImports)),kbOpts:{kbExpr:M.textInputFocus,primary:1581,weight:100}})}run(e,t){return xh(t,y("editor.action.organize.noneMessage","No organize imports action available"),{include:bn.SourceOrganizeImports,includeSourceActions:!0},"ifSingle",bo.OrganizeImports)}}class nB extends Se{constructor(){super({id:OS,label:y("fixAll.label","Fix All"),alias:"Fix All",precondition:ae.and(M.writable,am(bn.SourceFixAll))})}run(e,t){return xh(t,y("fixAll.noneMessage","No fix all action available"),{include:bn.SourceFixAll,includeSourceActions:!0},"ifSingle",bo.FixAll)}}class sB extends Se{constructor(){super({id:QT,label:y("autoFix.label","Auto Fix..."),alias:"Auto Fix...",precondition:ae.and(M.writable,am(bn.QuickFix)),kbOpts:{kbExpr:M.textInputFocus,primary:1625,mac:{primary:2649},weight:100}})}run(e,t){return xh(t,y("editor.action.autoFix.noneMessage","No auto fixes available"),{include:bn.QuickFix,onlyIncludePreferredActions:!0},"ifSingle",bo.AutoFix)}}bi(hg.ID,hg,3);bi(rp.ID,rp,4);ne(J3);ne(eB);ne(tB);ne(iB);ne(sB);ne(nB);Mt(new Q3);Kr.as(jp.Configuration).registerConfiguration({...ey,properties:{"editor.codeActionWidget.showHeaders":{type:"boolean",scope:5,description:y("showCodeActionHeaders","Enable/disable showing group headers in the Code Action menu."),default:!0}}});Kr.as(jp.Configuration).registerConfiguration({...ey,properties:{"editor.codeActionWidget.includeNearbyQuickFixes":{type:"boolean",scope:5,description:y("includeNearbyQuickFixes","Enable/disable showing nearest Quick Fix within a line when not currently on a diagnostic."),default:!0}}});Kr.as(jp.Configuration).registerConfiguration({...ey,properties:{"editor.codeActions.triggerOnFocusChange":{type:"boolean",scope:5,markdownDescription:y("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 VS{constructor(){this.lenses=[],this._disposables=new He}dispose(){this._disposables.dispose()}get isDisposed(){return this._disposables.isDisposed}add(e,t){this._disposables.add(e);for(const i of e.lenses)this.lenses.push({symbol:i,provider:t})}}async function cM(o,e,t){const i=o.ordered(e),n=new Map,s=new VS,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){is(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}wn.registerCommand("_executeCodeLensProvider",function(o,...e){let[t,i]=e;Ui(cn.isUri(t)),Ui(typeof i=="number"||!i);const{codeLensProvider:n}=o.get(It),s=o.get(Gs).getModel(t);if(!s)throw tl();const r=[],a=new He;return cM(n,s,mi.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,mi.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 dM=_l("ICodeLensCache");class jk{constructor(e,t){this.lineCount=e,this.data=t}}let jS=class{constructor(e){this._fakeProvider=new class{provideCodeLenses(){throw new Error("not supported")}},this._cache=new Up(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=ds.filter(e.onWillSaveState,r=>r.reason===T0.SHUTDOWN);ds.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 VS;n.add({lenses:i,dispose:()=>{}},this._fakeProvider);const s=new jk(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 z(a,1,a,11)});const r=new VS;r.add({lenses:s,dispose(){}},this._fakeProvider),this._cache.set(i,new jk(n.lineCount,r))}}catch{}}};jS=oB([rB(0,Lc)],jS);vl(dM,jS,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 Vf=class Vf{constructor(e,t){this.allowEditorOverflow=!1,this.suppressMouseDown=!0,this._commands=new Map,this._isEmpty=!0,this._editor=e,this._id=`codelens.widget-${Vf._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${Vf._idPool++}`;i.push(mt("a",{id:c,title:r.command.tooltip,role:"button"},...a)),this._commands.set(c,r.command)}else i.push(mt("span",{title:r.command.tooltip},...a));s+1<e.length&&i.push(mt("span",void 0," | "))}}n?(A_(this._domNode,...i),this._isEmpty&&t&&this._domNode.classList.add("fadein"),this._isEmpty=!1):A_(this._domNode,mt("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}};Vf._idPool=0;let US=Vf;class _w{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 Uk=Di.register({collapseOnReplaceEdit:!0,description:"codelens"});class $k{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:Uk},f=>this._decorationIds[g]=f),a?a=z.plusRange(a,h.symbol.range):a=z.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 US(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&&z.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:Uk},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},Yg=function(o,e){return function(t,i){e(t,i,o)}},Hu;let ap=(Hu=class{constructor(e,t,i,n,s,r){this._editor=e,this._languageFeaturesService=t,this._commandService=n,this._notificationService=s,this._codeLensCache=r,this._disposables=new He,this._localToDispose=new He,this._lenses=[],this._oldCodeLensModels=new He,this._provideCodeLensDebounce=i.for(t.codeLensProvider,"CodeLensProvide",{min:250}),this._resolveCodeLensesDebounce=i.for(t.codeLensProvider,"CodeLensResolve",{min:250,salt:"resolve"}),this._resolveCodeLensesScheduler=new hs(()=>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",M0.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&&Uf(()=>{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 hs(()=>{var s;const n=Date.now();(s=this._getCodeLensModelPromise)==null||s.cancel(),this._getCodeLensModelPromise=ys(r=>cM(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()},fn)},this._provideCodeLensDebounce.get(e));this._localToDispose.add(i),this._localToDispose.add(Dn(()=>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 _w;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(Dn(()=>{if(this._editor.getModel()){const n=Ju.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 _w;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=Ju.capture(this._editor),r=this._getLayoutInfo();this._editor.changeDecorations(a=>{this._editor.changeViewZones(c=>{const h=new _w;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 $k(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 $k(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=ys(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(w=>{f[_]=w},is):(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=>{fn(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}},Hu.ID="css.editor.codeLens",Hu);ap=lB([Yg(1,It),Yg(2,Zo),Yg(3,ms),Yg(4,Ks),Yg(5,dM)],ap);bi(ap.ID,ap,1);ne(class extends Se{constructor(){super({id:"codelens.showLensesInCurrentLine",precondition:M.hasCodeLensProvider,label:y("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(ml),n=e.get(ms),s=e.get(Ks),r=t.getSelection().positionLineNumber,a=t.getContribution(ap.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:y("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 w;return _.symbol.range.startLineNumber===r&&((w=_.symbol.command)==null?void 0:w.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 hM=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},$S=function(o,e){return function(t,i){e(t,i,o)}};let lp=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 ki(new Qu(Math.round(255*s.red),Math.round(255*s.green),Math.round(255*s.blue),r)),c=r?ki.Format.CSS.formatRGB(a):ki.Format.CSS.formatRGBA(a),h=r?ki.Format.CSS.formatHSL(a):ki.Format.CSS.formatHSLA(a),g=r?ki.Format.CSS.formatHex(a):ki.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}};lp=hM([$S(0,bl)],lp);let qS=class extends Ve{constructor(e,t){super(),this._register(e.colorProvider.register("*",new lp(t)))}};qS=hM([$S(0,It),$S(1,bl)],qS);Dg(qS);async function uM(o,e,t,i=!0){return v1(new cB,o,e,t,i)}function gM(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,mi.None);return Array.isArray(s)&&n.push(...s),Array.isArray(s)}}async function v1(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 lp)r=g;else try{await o.compute(g,t,i,a)&&(s=!0)}catch(f){is(f)}}return s?a:r&&n?(await o.compute(r,t,i,a),a):[]}function fM(o,e){const{colorProvider:t}=o.get(It),i=o.get(Gs).getModel(e);if(!i)throw tl();const n=o.get(Pn).getValue("editor.defaultColorDecorators",{resource:e});return{model:i,colorProviderRegistry:t,isDefaultColorDecoratorsEnabled:n}}wn.registerCommand("_executeDocumentColorProvider",function(o,...e){const[t]=e;if(!(t instanceof cn))throw tl();const{model:i,colorProviderRegistry:n,isDefaultColorDecoratorsEnabled:s}=fM(o,t);return v1(new dB,n,i,mi.None,s)});wn.registerCommand("_executeColorPresentationProvider",function(o,...e){const[t,i]=e,{uri:n,range:s}=i;if(!(n instanceof cn)||!Array.isArray(t)||t.length!==4||!z.isIRange(s))throw tl();const{model:r,colorProviderRegistry:a,isDefaultColorDecoratorsEnabled:c}=fM(o,n),[h,g,f,p]=t;return v1(new hB({range:s,color:{red:h,green:g,blue:f,alpha:p}}),a,r,mi.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},vw=function(o,e){return function(t,i){e(t,i,o)}},KS;const pM=Object.create({});var tc;let ug=(tc=class extends Ve{constructor(e,t,i,n){super(),this._editor=e,this._configurationService=t,this._languageFeaturesService=i,this._localToDispose=this._register(new He),this._decorationsIds=[],this._colorDatas=new Map,this._colorDecoratorIds=this._editor.createDecorationsCollection(),this._ruleFactory=new oE(this._editor),this._decoratorLimitReporter=new gB,this._colorDecorationClassRefs=this._register(new He),this._debounceInformation=n.for(i.colorProvider,"Document Colors",{min:KS.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 zp,this._timeoutTimer.cancelAndSet(()=>{this._timeoutTimer=null,this.beginCompute()},this._debounceInformation.get(e)))})),this.beginCompute())}async beginCompute(){this._computePromise=ys(async e=>{const t=this._editor.getModel();if(!t)return[];const i=new vo(!1),n=await uM(this._languageFeaturesService.colorProvider,t,e,this._isDefaultColorDecoratorsEnabled);return this._debounceInformation.update(t,i.elapsed()),n});try{const e=await this._computePromise;this.updateDecorations(e),this.updateColorDecorators(e),this._computePromise=null}catch(e){fn(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:Di.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 Qu(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:tE,inlineClassName:`${p.className} colorpicker-color-decoration`,inlineClassNameAffectsLetterSpacing:!0,attachedData:pM}}})}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(z.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)}},KS=tc,tc.ID="editor.contrib.colorDetector",tc.RECOMPUTE_TIME=1e3,tc);ug=KS=uB([vw(1,Pn),vw(2,It),vw(3,Zo)],ug);class gB{constructor(){this._onDidChange=new pi,this._computed=0,this._limited=!1}update(e,t){(e!==this._computed||t!==this._limited)&&(this._computed=e,this._limited=t,this._onDidChange.fire())}}bi(ug.ID,ug,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 pi,this.onColorFlushed=this._onColorFlushed.event,this._onDidChangeColor=new pi,this.onDidChangeColor=this._onDidChangeColor.event,this._onDidChangePresentation=new pi,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 Do=mt;class pB extends Ve{constructor(e,t,i,n=!1){super(),this.model=t,this.showingStandaloneColorPicker=n,this._closeButton=null,this._domNode=Do(".colorpicker-header"),ct(e,this._domNode),this._pickedColorNode=ct(this._domNode,Do(".picked-color")),ct(this._pickedColorNode,Do("span.codicon.codicon-color-mode")),this._pickedColorPresentation=ct(this._pickedColorNode,document.createElement("span")),this._pickedColorPresentation.classList.add("picked-color-presentation");const s=y("clickToToggleColorOptions","Click to toggle color options (rgb/hsl/hex)");this._pickedColorNode.setAttribute("title",s),this._originalColorNode=ct(this._domNode,Do(".original-color")),this._originalColorNode.style.backgroundColor=ki.Format.CSS.format(this.model.originalColor)||"",this.backgroundColor=i.getColorTheme().getColor(WL)||ki.white,this._register(i.onDidColorThemeChange(r=>{this.backgroundColor=r.getColor(WL)||ki.white})),this._register(zi(this._pickedColorNode,Un.CLICK,()=>this.model.selectNextColorPresentation())),this._register(zi(this._originalColorNode,Un.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=ki.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=ki.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 Ve{constructor(e){super(),this._onClicked=this._register(new pi),this.onClicked=this._onClicked.event,this._button=document.createElement("div"),this._button.classList.add("close-button"),ct(e,this._button);const t=document.createElement("div");t.classList.add("close-button-inner-div"),ct(this._button,t),ct(t,Do(".button"+Ki.asCSSSelector(Qn("color-picker-close",Yt.close,y("closeIcon","Icon to close the color picker"))))).classList.add("close-icon"),this._register(zi(this._button,Un.CLICK,()=>{this._onClicked.fire()}))}}class _B extends Ve{constructor(e,t,i,n=!1){super(),this.model=t,this.pixelRatio=i,this._insertButton=null,this._domNode=Do(".colorpicker-body"),ct(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 yB(this._domNode,this.model,n),this._register(this._hueStrip),this._register(this._hueStrip.onDidChange(this.onDidHueChange,this)),this._register(this._hueStrip.onColorFlushed(this.flushColor,this)),n&&(this._insertButton=this._register(new wB(this._domNode)),this._domNode.classList.add("standalone-colorpicker"))}flushColor(){this.model.flushColor()}onDidSaturationValueChange({s:e,v:t}){const i=this.model.color.hsva;this.model.color=new ki(new a_(i.h,e,t,i.a))}onDidOpacityChange(e){const t=this.model.color.hsva;this.model.color=new ki(new a_(t.h,t.s,t.v,e))}onDidHueChange(e){const t=this.model.color.hsva,i=(1-e)*360;this.model.color=new ki(new a_(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 Ve{constructor(e,t,i){super(),this.model=t,this.pixelRatio=i,this._onDidChange=new pi,this.onDidChange=this._onDidChange.event,this._onColorFlushed=new pi,this.onColorFlushed=this._onColorFlushed.event,this._domNode=Do(".saturation-wrap"),ct(e,this._domNode),this._canvas=document.createElement("canvas"),this._canvas.className="saturation-box",ct(this._domNode,this._canvas),this.selection=Do(".saturation-selection"),ct(this._domNode,this.selection),this.layout(),this._register(zi(this._domNode,Un.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 rE);const t=Qs(this._domNode);e.target!==this.selection&&this.onDidChangePosition(e.offsetX,e.offsetY),this.monitor.startMonitoring(e.target,e.pointerId,e.buttons,n=>this.onDidChangePosition(n.pageX-t.left,n.pageY-t.top),()=>null);const i=zi(e.target.ownerDocument,Un.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 ki(new a_(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=ki.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 mM extends Ve{constructor(e,t,i=!1){super(),this.model=t,this._onDidChange=new pi,this.onDidChange=this._onDidChange.event,this._onColorFlushed=new pi,this.onColorFlushed=this._onColorFlushed.event,i?(this.domNode=ct(e,Do(".standalone-strip")),this.overlay=ct(this.domNode,Do(".standalone-overlay"))):(this.domNode=ct(e,Do(".strip")),this.overlay=ct(this.domNode,Do(".overlay"))),this.slider=ct(this.domNode,Do(".slider")),this.slider.style.top="0px",this._register(zi(this.domNode,Un.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 rE),i=Qs(this.domNode);this.domNode.classList.add("grabbing"),e.target!==this.slider&&this.onDidChangeTop(e.offsetY),t.startMonitoring(e.target,e.pointerId,e.buttons,s=>this.onDidChangeTop(s.pageY-i.top),()=>null);const n=zi(e.target.ownerDocument,Un.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 mM{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 ki(new Qu(t,i,n,1)),r=new ki(new Qu(t,i,n,0));this.overlay.style.background=`linear-gradient(to bottom, ${s} 0%, ${r} 100%)`}getValue(e){return e.hsva.a}}class yB extends mM{constructor(e,t,i=!1){super(e,t,i),this.domNode.classList.add("hue-strip")}getValue(e){return 1-e.hsva.h/360}}class wB extends Ve{constructor(e){super(),this._onClicked=this._register(new pi),this.onClicked=this._onClicked.event,this._button=ct(e,document.createElement("button")),this._button.classList.add("insert-button"),this._button.textContent="Insert",this._register(zi(this._button,Un.CLICK,()=>{this._onClicked.fire()}))}get button(){return this._button}}class SB extends $p{constructor(e,t,i,n,s=!1){super(),this.model=t,this.pixelRatio=i,this._register(EA.getInstance(nd(e)).onDidChange(()=>this.layout())),this._domNode=Do(".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 bw{constructor(e,t,i,n){this.priority=e,this.range=t,this.initialMousePosX=i,this.initialMousePosY=n,this.type=1}equals(e){return e.type===1&&this.range.equalsRange(e.range)}canAdoptVisibleHover(e,t){return e.type===1&&t.lineNumber===this.range.startLineNumber}}class b_{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 hh{constructor(e){this.renderedHoverParts=e}dispose(){for(const e of this.renderedHoverParts)e.dispose()}}const Lh=new class{constructor(){this._participants=[]}register(e){this._participants.push(e)}getAll(){return this._participants}};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},vM=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 cp=class{constructor(e,t){this._editor=e,this._themeService=t,this.hoverOrdinal=2}computeSync(e,t){return[]}computeAsync(e,t,i){return zr.fromPromise(this._computeAsync(e,t,i))}async _computeAsync(e,t,i){if(!this._editor.hasModel())return[];const n=ug.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 bM(this,this._editor.getModel(),r.colorInfo,r.provider)]}return[]}renderHoverParts(e,t){const i=yM(this,this._editor,this._themeService,t,e);if(!i)return new hh([]);this._colorPicker=i.colorPicker;const n={hoverPart:i.hoverPart,hoverElement:this._colorPicker.domNode,dispose(){i.disposables.dispose()}};return new hh([n])}handleResize(){var e;(e=this._colorPicker)==null||e.layout()}isColorPickerVisible(){return!!this._colorPicker}};cp=_M([vM(1,Sr)],cp);class xB{constructor(e,t,i,n){this.owner=e,this.range=t,this.model=i,this.provider=n}}let dp=class{constructor(e,t){this._editor=e,this._themeService=t,this._color=null}async createColorHover(e,t,i){if(!this._editor.hasModel()||!ug.get(this._editor))return null;const s=await uM(i,this._editor.getModel(),mi.None);let r=null,a=null;for(const f of s){const p=f.colorInfo;z.containsRange(p.range,e.range)&&(r=p,a=f.provider)}const c=r??e,h=a??t,g=!!r;return{colorHover:await bM(this,this._editor.getModel(),c,h),foundInEditor:g}}async updateEditorModel(e){if(!this._editor.hasModel())return;const t=e.model;let i=new z(e.range.startLineNumber,e.range.startColumn,e.range.endLineNumber,e.range.endColumn);this._color&&(await y_(this._editor.getModel(),t,this._color,i,e),i=wM(this._editor,i,t))}renderHoverParts(e,t){return yM(this,this._editor,this._themeService,t,e)}set color(e){this._color=e}get color(){return this._color}};dp=_M([vM(1,Sr)],dp);async function bM(o,e,t,i){const n=e.getValueInRange(t.range),{red:s,green:r,blue:a,alpha:c}=t.color,h=new Qu(Math.round(s*255),Math.round(r*255),Math.round(a*255),c),g=new ki(h),f=await gM(e,t,i,mi.None),p=new fB(g,[],0);return p.colorPresentations=f||[],p.guessColorPresentation(g,n),o instanceof cp?new CB(o,z.lift(t.range),p,i):new xB(o,z.lift(t.range),p,i)}function yM(o,e,t,i,n){if(i.length===0||!e.hasModel())return;if(n.setMinimumDimensions){const p=e.getOption(67)+8;n.setMinimumDimensions(new vn(302,p))}const s=new He,r=i[0],a=e.getModel(),c=r.model,h=s.add(new SB(n.fragment,c,e.getOption(144),t,o instanceof dp));let g=!1,f=new z(r.range.startLineNumber,r.range.startColumn,r.range.endLineNumber,r.range.endColumn);if(o instanceof dp){const p=r.model.color;o.color=p,y_(a,c,p,f,r),s.add(c.onColorFlushed(v=>{o.color=v}))}else s.add(c.onColorFlushed(async p=>{await y_(a,c,p,f,r),g=!0,f=wM(e,f,c)}));return s.add(c.onDidChangeColor(p=>{y_(a,c,p,f,r)})),s.add(e.onDidChangeModelContent(p=>{g?g=!1:(n.hide(),e.focus())})),{hoverPart:r,colorPicker:h,disposables:s}}function wM(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=z.lift(n.range),r=o.getModel()._setTrackedRange(null,s,3);return o.executeEdits("colorpicker",i),o.pushUndoStop(),o.getModel()._getTrackedRange(r)??s}async function y_(o,e,t,i,n){const s=await gM(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,mi.None);e.colorPresentations=s||[]}const SM="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",Ly="editor.action.increaseHoverVerbosityLevel",RB=y({key:"increaseHoverVerbosityLevel",comment:["Label for action that will increase the hover verbosity level."]},"Increase Hover Verbosity Level"),ky="editor.action.decreaseHoverVerbosityLevel",AB=y({key:"decreaseHoverVerbosityLevel",comment:["Label for action that will decrease the hover verbosity level."]},"Decrease Hover Verbosity Level"),CM="editor.action.inlineSuggest.commit",xM="editor.action.inlineSuggest.showPrevious",LM="editor.action.inlineSuggest.showNext";var b1=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},hr=function(o,e){return function(t,i){e(t,i,o)}},w_;let GS=class extends Ve{constructor(e,t,i){super(),this.editor=e,this.model=t,this.instantiationService=i,this.alwaysShowToolbar=uo(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(62).showToolbar==="always"),this.sessionPosition=void 0,this.position=Qi(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 kt(s.lineNumber,Math.min(r,((h=this.sessionPosition)==null?void 0:h.column)??Number.MAX_SAFE_INTEGER));return this.sessionPosition=a,a}),this._register(qp((n,s)=>{const r=this.model.read(n);if(!r||!this.alwaysShowToolbar.read(n))return;const a=dE((h,g)=>{const f=g.add(this.instantiationService.createInstance(gg,this.editor,!0,this.position,r.selectedInlineCompletionIndex,r.inlineCompletionsCount,r.activeCommands));return e.addContentWidget(f),g.add(Dn(()=>e.removeContentWidget(f))),g.add(jn(p=>{this.position.read(p)&&r.lastTriggerKind.read(p)!==il.Explicit&&r.triggerExplicitly()})),f}),c=ty(this,(h,g)=>!!this.position.read(h)||!!g);s.add(jn(h=>{c.read(h)&&a.read(h)}))}))}};GS=b1([hr(2,hi)],GS);const OB=Qn("inline-suggestion-hints-next",Yt.chevronRight,y("parameterHintsNextIcon","Icon for show next parameter hint.")),FB=Qn("inline-suggestion-hints-previous",Yt.chevronLeft,y("parameterHintsPreviousIcon","Icon for show previous parameter hint."));var ic;let gg=(ic=class extends Ve{static get dropDownVisible(){return this._dropDownVisible}createCommandAction(e,t,i){const n=new eg(e,t,i,!0,()=>this._commandService.executeCommand(e)),s=this.keybindingService.lookupKeybinding(e,this._contextKeyService);let r=t;return s&&(r=y({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${w_.id++}`,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this.nodes=ur("div.inlineSuggestionsHints",{className:this.withBorder?".withBorder":""},[ur("div@toolBar")]),this.previousAction=this.createCommandAction(xM,y("previous","Previous"),Ki.asClassName(FB)),this.availableSuggestionCountAction=new eg("inlineSuggestionHints.availableSuggestionCount","",void 0,!1),this.nextAction=this.createCommandAction(LM,y("next","Next"),Ki.asClassName(OB)),this.inlineCompletionsActionsMenus=this._register(this._menuService.createMenu(lt.InlineCompletionsActions,this._contextKeyService)),this.clearAvailableSuggestionCountLabelDebounced=this._register(new hs(()=>{this.availableSuggestionCountAction.label=""},100)),this.disableButtonsDebounced=this._register(new hs(()=>{this.previousAction.enabled=this.nextAction.enabled=!1},100)),this.toolBar=this._register(c.createInstance(ZS,this.nodes.toolBar,lt.InlineSuggestionToolbar,{menuOptions:{renderShortTitle:!0},toolbarOptions:{primaryGroup:p=>p.startsWith("primary")},actionViewItemProvider:(p,v)=>{if(p instanceof tg)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=>{w_._dropDownVisible=p})),this._register(jn(p=>{this._position.read(p),this.editor.layoutContentWidget(this)})),this._register(jn(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(jn(p=>{const _=this._extraCommands.read(p).map(w=>({class:void 0,id:w.id,enabled:!0,tooltip:w.tooltip||"",label:w.title,run:S=>this._commandService.executeCommand(w.id)}));for(const[w,S]of this.inlineCompletionsActionsMenus.getActions())for(const D of S)D instanceof tg&&_.push(D);_.length>0&&_.unshift(new Gf),this.toolBar.setAdditionalSecondaryActions(_)}))}getId(){return this.id}getDomNode(){return this.nodes.root}getPosition(){return{position:this._position.get(),preference:[1,2],positionAffinity:3}}},w_=ic,ic._dropDownVisible=!1,ic.id=0,ic);gg=w_=b1([hr(6,ms),hr(7,hi),hr(8,as),hr(9,Vi),hr(10,bh)],gg);class HB extends Qw{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 aE{updateLabel(){const e=this._keybindingService.lookupKeybinding(this._action.id,this._contextKeyService);if(!e)return super.updateLabel();if(this.label){const t=ur("div.keybinding").root;this._register(new k0(t,I0,{disableTitle:!0,...lE})).set(e),this.label.textContent=this._action.label,this.label.appendChild(t),this.label.classList.add("inlineSuggestionStatusBarItemLabel")}}updateTooltip(){}},ZS=class extends cE{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=[];N0(this.menu,(i=this.options2)==null?void 0:i.menuOptions,{primary:e,secondary:t},(s=(n=this.options2)==null?void 0:n.toolbarOptions)==null?void 0:s.primaryGroup,(a=(r=this.options2)==null?void 0:r.toolbarOptions)==null?void 0:a.shouldInlineSubmenu,(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){Da(this.prependedPrimaryActions,e,(t,i)=>t===i)||(this.prependedPrimaryActions=e,this.updateToolbar())}setAdditionalSecondaryActions(e){Da(this.additionalActions,e,(t,i)=>t===i)||(this.additionalActions=e,this.updateToolbar())}};ZS=b1([hr(3,bh),hr(4,Vi),hr(5,Lg),hr(6,as),hr(7,ms),hr(8,Zr)],ZS);function Iy(o,e,t){const i=Qs(o);return!(e<i.left||e>i.left+i.width||t<i.top||t>i.top+i.height)}let BB=class{constructor(e,t,i){this.value=e,this.isComplete=t,this.hasLoadingMessage=i}};class kM extends Ve{constructor(e,t){super(),this._editor=e,this._computer=t,this._onResult=this._register(new pi),this.onResult=this._onResult.event,this._firstWaitScheduler=this._register(new hs(()=>this._triggerAsyncComputation(),0)),this._secondWaitScheduler=this._register(new hs(()=>this._triggerSyncComputation(),0)),this._loadingMessageScheduler=this._register(new hs(()=>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){fn(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 y1{constructor(){this._onDidWillResize=new pi,this.onDidWillResize=this._onDidWillResize.event,this._onDidResize=new pi,this.onDidResize=this._onDidResize.event,this._sashListener=new He,this._size=new vn(0,0),this._minSize=new vn(0,0),this._maxSize=new vn(Number.MAX_SAFE_INTEGER,Number.MAX_SAFE_INTEGER),this.domNode=document.createElement("div"),this._eastSash=new au(this.domNode,{getVerticalSashLeft:()=>this._size.width},{orientation:0}),this._westSash=new au(this.domNode,{getVerticalSashLeft:()=>0},{orientation:0}),this._northSash=new au(this.domNode,{getHorizontalSashTop:()=>0},{orientation:1,orthogonalEdge:BL.North}),this._southSash=new au(this.domNode,{getHorizontalSashTop:()=>this._size.height},{orientation:1,orthogonalEdge:BL.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(ds.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(ds.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(ds.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(ds.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 vn(t,e);vn.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 Ve{constructor(e,t=new vn(10,10)){super(),this._editor=e,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this._resizableNode=this._register(new y1),this._contentPosition=null,this._isResizing=!1,this._resizableNode.domNode.style.position="absolute",this._resizableNode.minSize=vn.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 vn(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?kt.lift(this._contentPosition.position):void 0}_availableVerticalSpaceAbove(e){const t=this._editor.getDomNode(),i=this._editor.getScrolledVisiblePosition(e);return!t||!i?void 0:Qs(t).top+i.top-zB}_availableVerticalSpaceBelow(e){const t=this._editor.getDomNode(),i=this._editor.getScrolledVisiblePosition(e);if(!t||!i)return;const n=Qs(t),s=Kp(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},Am=function(o,e){return function(t,i){e(t,i,o)}},ra;const qk=30,$B=6;var nc;let XS=(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 vn(a,r);super(e,c),this._configurationService=i,this._accessibilityService=n,this._keybindingService=s,this._hover=this._register(new hE),this._onDidResize=this._register(new pi),this.onDidResize=this._onDidResize.event,this._minimumSize=c,this._hoverVisibleKey=M.hoverVisible.bindTo(t),this._hoverFocusedKey=M.hoverFocused.bindTo(t),ct(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(Xu(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 ra.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 ra._applyDimensions(i,e,t)}_setContainerDomNodeDimensions(e,t){const i=this._hover.containerDomNode;return ra._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){ra._applyMaxDimensions(this._hover.contentsDomNode,e,t),ra._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 vn(e,t),this._setHoverWidgetMaxDimensions(e,t)}_resize(e){ra._lastDimensions=new vn(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?Kp(this._hover.containerDomNode.ownerDocument.body).width-14:this._hover.containerDomNode.clientWidth+2}isMouseGettingCloser(e,t){if(!this._renderedHover)return!1;if(this._renderedHover.initialMousePosX===void 0||this._renderedHover.initialMousePosY===void 0)return this._renderedHover.initialMousePosX=e,this._renderedHover.initialMousePosY=t,!1;const i=Qs(this.getDomNode());this._renderedHover.closestMouseDistance===void 0&&(this._renderedHover.closestMouseDistance=Kk(this._renderedHover.initialMousePosX,this._renderedHover.initialMousePosY,i.left,i.top,i.width,i.height));const n=Kk(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,ra._lastDimensions.height),t=Math.max(this._editor.getLayoutInfo().width*.66,500,ra._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=lu(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 vn(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 vn(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 vn(e,this._minimumSize.height)}onContentsChanged(){var n;this._removeConstraintsRenderNormally();const e=this._hover.containerDomNode;let t=lu(e),i=or(e);if(this._resizableNode.layout(t,i),this._setHoverWidgetDimensions(i,t),t=lu(e),i=or(e),this._contentWidth=i,this._updateMinimumWidth(),this._resizableNode.layout(t,i),(n=this._renderedHover)!=null&&n.showAtPosition){const s=lu(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-qk})}scrollRight(){const e=this._hover.scrollbar.getScrollPosition().scrollLeft;this._hover.scrollbar.setScrollPosition({scrollLeft:e+qk})}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})}},ra=nc,nc.ID="editor.contrib.resizableContentHoverWidget",nc._lastDimensions=new vn(0,0),nc);XS=ra=UB([Am(1,Vi),Am(2,Pn),Am(3,iy),Am(4,as)],XS);function Kk(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 tv{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 zr.EMPTY;const i=tv._getLineDecorations(this._editor,t);return zr.merge(this._participants.map(n=>n.computeAsync?n.computeAsync(t,i,e):zr.EMPTY))}computeSync(){if(!this._editor.hasModel()||!this._anchor)return[];const e=tv._getLineDecorations(this._editor,this._anchor);let t=[];for(const i of this._participants)t=t.concat(i.computeSync(this._anchor,e));return rl(t)}}class IM{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 IM{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 Gk=mt;let iv=class extends Ve{get hasContent(){return this._hasContent}constructor(e){super(),this._keybindingService=e,this.actions=[],this._hasContent=!1,this.hoverElement=Gk("div.hover-row.status-bar"),this.hoverElement.tabIndex=0,this.actionsElement=ct(this.hoverElement,Gk("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=ct(this.actionsElement,e);return this._hasContent=!0,t}};iv=KB([GB(0,as)],iv);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(is);if(!(!s||!YB(s)))return new ZB(o,s,e)}function w1(o,e,t,i,n=!1){const r=o.ordered(e,n).map((a,c)=>XB(a,c,e,t,i));return zr.fromPromises(r).coalesce()}function DM(o,e,t,i,n=!1){return w1(o,e,t,i,n).map(s=>s.hover).toPromise()}so("_executeHoverProvider",(o,e,t)=>{const i=o.get(It);return DM(i.hoverProvider,e,t,mi.None)});so("_executeHoverProvider_recursive",(o,e,t)=>{const i=o.get(It);return DM(i.hoverProvider,e,t,mi.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},Rc=function(o,e){return function(t,i){e(t,i,o)}};const gu=mt,QB=Qn("hover-increase-verbosity",Yt.add,y("increaseHoverVerbosity","Icon for increaseing hover verbosity.")),e4=Qn("hover-decrease-verbosity",Yt.remove,y("decreaseHoverVerbosity","Icon for decreasing hover verbosity."));class fr{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 EM{constructor(e,t,i){this.hover=e,this.hoverProvider=t,this.hoverPosition=i}supportsVerbosityAction(e){switch(e){case $o.Increase:return this.hover.canIncreaseVerbosity??!1;case $o.Decrease:return this.hover.canDecreaseVerbosity??!1}}}let hp=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 fr(this,e.range,[new Ws().appendText(y("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 fr(this,e.range,[{value:y("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 fr(this,e.range,[{value:y("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 w=_.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 P=new z(e.range.startLineNumber,w,e.range.startLineNumber,S);r.push(new fr(this,P,uE(D),v,a++))}return r}computeAsync(e,t,i){if(!this._editor.hasModel()||e.type!==1)return zr.EMPTY;const n=this._editor.getModel(),s=this._languageFeaturesService.hoverProvider;return s.has(n)?this._getMarkdownHovers(s,n,e,i):zr.EMPTY}_getMarkdownHovers(e,t,i,n){const s=i.range.getStartPosition();return w1(e,t,s,n).filter(c=>!Zf(c.hover.contents)).map(c=>{const h=c.hover.range?z.lift(c.hover.range):i.range,g=new EM(c.hover,c.provider,s);return new fr(this,h,c.hover.contents,!1,c.ordinal,g)})}renderHoverParts(e,t){return this._renderedHoverParts=new t4(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))}};hp=JB([Rc(1,Xr),Rc(2,Gr),Rc(3,Pn),Rc(4,It),Rc(5,as),Rc(6,Gp),Rc(7,ms)],hp);class Om{constructor(e,t,i){this.hoverPart=e,this.hoverElement=t,this.disposables=i}dispose(){this.disposables.dispose()}}class t4{constructor(e,t,i,n,s,r,a,c,h,g,f){this._hoverParticipant=i,this._editor=n,this._languageService=s,this._openerService=r,this._commandService=a,this._keybindingService=c,this._hoverService=h,this._configurationService=g,this._onFinishedRendering=f,this._ongoingHoverOperations=new Map,this._disposables=new He,this.renderedHoverParts=this._renderHoverParts(e,t,this._onFinishedRendering),this._disposables.add(Dn(()=>{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,ny)),e.map(n=>{const s=this._renderHoverPart(n,i);return t.appendChild(s.hoverElement),s})}_renderHoverPart(e,t){const i=this._renderMarkdownHover(e,t),n=i.hoverElement,s=e.source,r=new He;if(r.add(i),!s)return new Om(e,n,r);const a=s.supportsVerbosityAction($o.Increase),c=s.supportsVerbosityAction($o.Decrease);if(!a&&!c)return new Om(e,n,r);const h=gu("div.verbosity-actions");return n.prepend(h),r.add(this._renderHoverExpansionAction(h,$o.Increase,a)),r.add(this._renderHoverExpansionAction(h,$o.Decrease,c)),new Om(e,n,r)}_renderMarkdownHover(e,t){return PM(this._editor,e,this._languageService,this._openerService,t)}_renderHoverExpansionAction(e,t,i){const n=new He,s=t===$o.Increase,r=ct(e,gu(Ki.asCSSSelector(s?QB:e4)));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,n4(this._keybindingService,t))),!i)return r.classList.add("disabled"),n;r.classList.add("enabled");const c=()=>this._commandService.executeCommand(t===$o.Increase?Ly:ky);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 EM(a,r.hoverProvider,r.hoverPosition),h=s.hoverPart,g=new fr(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===$o.Increase?1:-1;const s=e.hoverProvider,r=this._ongoingHoverOperations.get(s);r&&(r.tokenSource.cancel(),n+=r.verbosityDelta);const a=new ws;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){is(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 Om(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 i4(o,e,t,i,n){e.sort(Zp(r=>r.ordinal,ny));const s=[];for(const r of e)s.push(PM(t,r,i,n,o.onContentsChanged));return new hh(s)}function PM(o,e,t,i,n){const s=new He,r=gu("div.hover-row"),a=gu("div.hover-row-contents");r.appendChild(a);const c=e.contents;for(const g of c){if(Zf(g))continue;const f=gu("div.markdown-hover"),p=ct(f,gu("div.hover-contents")),v=s.add(new Eg({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 n4(o,e){switch(e){case $o.Increase:{const t=o.lookupKeybinding(Ly);return t?y("increaseVerbosityWithKb","Increase Hover Verbosity ({0})",t.getLabel()):y("increaseVerbosity","Increase Hover Verbosity")}case $o.Decrease:{const t=o.lookupKeybinding(ky);return t?y("decreaseVerbosityWithKb","Decrease Hover Verbosity ({0})",t.getLabel()):y("decreaseVerbosity","Decrease Hover Verbosity")}}}function YS(o,e){return!!o[e]}class yw{constructor(e,t){this.target=e.target,this.isLeftClick=e.event.leftButton,this.isMiddleClick=e.event.middleButton,this.isRightClick=e.event.rightButton,this.hasTriggerModifier=YS(e.event,t.triggerModifier),this.hasSideBySideModifier=YS(e.event,t.triggerSideBySideModifier),this.isNoneOrSingleMouseDown=e.event.detail<=1}}class Zk{constructor(e,t){this.keyCodeIsTriggerKey=e.keyCode===t.triggerKey,this.keyCodeIsSideBySideKey=e.keyCode===t.triggerSideBySideKey,this.hasTriggerModifier=YS(e,t.triggerModifier)}}class Fm{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 Xk(o){return o==="altKey"?Ea?new Fm(57,"metaKey",6,"altKey"):new Fm(5,"ctrlKey",6,"altKey"):Ea?new Fm(6,"altKey",57,"metaKey"):new Fm(6,"altKey",5,"ctrlKey")}class Dy extends Ve{constructor(e,t){super(),this._onMouseMoveOrRelevantKeyDown=this._register(new pi),this.onMouseMoveOrRelevantKeyDown=this._onMouseMoveOrRelevantKeyDown.event,this._onExecute=this._register(new pi),this.onExecute=this._onExecute.event,this._onCancel=this._register(new pi),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=Xk(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=Xk(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 yw(i,this._opts)))),this._register(this._editor.onMouseDown(i=>this._onEditorMouseDown(new yw(i,this._opts)))),this._register(this._editor.onMouseUp(i=>this._onEditorMouseUp(new yw(i,this._opts)))),this._register(this._editor.onKeyDown(i=>this._onEditorKeyDown(new Zk(i,this._opts)))),this._register(this._editor.onKeyUp(i=>this._onEditorKeyUp(new Zk(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 TM{constructor(e,t){this.range=e,this.direction=t}}class S1{constructor(e,t,i){this.hint=e,this.anchor=t,this.provider=i,this._isResolved=!1}with(e){const t=new S1(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){is(t),this._isResolved=!1}}}const yu=class yu{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??yu._emptyInlayHintList,a])}catch(h){is(h)}}));if(await Promise.all(r.flat()),n.isCancellationRequested||t.isDisposed())throw new Yb;return new yu(i,s,t)}constructor(e,t,i){this._disposables=new He,this.ranges=e,this.provider=new Set;const n=[];for(const[s,r]of t){this._disposables.add(s),this.provider.add(r);for(const a of s.hints){const c=i.validatePosition(a.position);let h="before";const g=yu._getRangeAtPosition(i,c);let f;g.getStartPosition().isBefore(c)?(f=z.fromPositions(g.getStartPosition(),c),h="after"):(f=z.fromPositions(c,g.getEndPosition()),h="before"),n.push(new S1(a,new TM(f,h),r))}}this.items=n.sort((s,r)=>kt.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 z(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 z(i,c+1,i,h+1)}};yu._emptyInlayHintList=Object.freeze({dispose(){},hints:[]});let nv=yu;function s4(o){return cn.from({scheme:Ys.command,path:o.id,query:o.arguments&&encodeURIComponent(JSON.stringify(o.arguments))}).toString()}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},Wa=function(o,e){return function(t,i){e(t,i,o)}};let wr=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){R0(this._overwriteOptions,e,!0),super.updateOptions(this._overwriteOptions)}};wr=o4([Wa(4,hi),Wa(5,ns),Wa(6,ms),Wa(7,Vi),Wa(8,Sr),Wa(9,Ks),Wa(10,iy),Wa(11,_s),Wa(12,It)],wr);const Yk=new ki(new Qu(0,122,204)),r4={showArrow:!0,showFrame:!0,className:"",frameColor:Yk,arrowColor:Yk,keepEditorSelection:!1},a4="vs.editor.contrib.zoneWidget";class l4{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 c4{constructor(e,t){this._id=e,this._domNode=t}getId(){return this._id}getDomNode(){return this._domNode}getPosition(){return null}}const cb=class cb{constructor(e){this._editor=e,this._ruleName=cb._IdGenerator.nextId(),this._decorations=this._editor.createDecorationsCollection(),this._color=null,this._height=-1}dispose(){this.hide(),zL(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(){zL(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:z.fromPositions(e),options:{description:"zone-widget-arrow",className:this._ruleName,stickiness:1}}])}hide(){this._decorations.clear()}};cb._IdGenerator=new HA(".arrow-decoration-");let JS=cb;class d4{constructor(e,t={}){this._arrow=null,this._overlayWidget=null,this._resizeSash=null,this._viewZone=null,this._disposables=new He,this.container=null,this._isShowing=!1,this.editor=e,this._positionMarkerId=this.editor.createDecorationsCollection(),this.options=FA(t),R0(this.options,r4,!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 JS(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=z.isIRange(e)?z.lift(e):z.fromPositions(e);this._isShowing=!0,this._showImpl(i,t),this._isShowing=!1,this._positionMarkerId.set([{range:i,options:Di.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 l4(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 c4(a4+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 z(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 au(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 MM=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},NM=function(o,e){return function(t,i){e(t,i,o)}};const RM=_l("IPeekViewService");vl(RM,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 eo;(function(o){o.inPeekEditor=new Ri("inReferenceSearchEditor",!0,y("inReferenceSearchEditor","Whether the current code editor is embedded inside peek")),o.notInPeekEditor=o.inPeekEditor.toNegated()})(eo||(eo={}));var Wu;let sv=(Wu=class{constructor(e,t){e instanceof wr&&eo.inPeekEditor.bindTo(t)}dispose(){}},Wu.ID="editor.contrib.referenceController",Wu);sv=MM([NM(1,Vi)],sv);bi(sv.ID,sv,0);function h4(o){const e=o.get(ns).getFocusedCodeEditor();return e instanceof wr?e.getParentEditor():e}const u4={headerBackgroundColor:ki.white,primaryHeadingColor:ki.fromHex("#333333"),secondaryHeadingColor:ki.fromHex("#6c6c6cb3")};let ov=class extends d4{constructor(e,t,i){super(e,t),this.instantiationService=i,this._onDidClose=new pi,this.onDidClose=this._onDidClose.event,R0(this.options,u4,!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=mt(".head"),this._bodyElement=mt(".body"),this._fillHead(this._headElement),this._fillBody(this._bodyElement),e.appendChild(this._headElement),e.appendChild(this._bodyElement)}_fillHead(e,t){this._titleElement=mt(".peekview-title"),this.options.supportOnTitleClick&&(this._titleElement.classList.add("clickable"),ll(this._titleElement,"click",s=>this._onTitleClick(s))),ct(this._headElement,this._titleElement),this._fillTitleIcon(this._titleElement),this._primaryHeading=mt("span.filename"),this._secondaryHeading=mt("span.dirname"),this._metaHeading=mt("span.meta"),ct(this._titleElement,this._primaryHeading,this._secondaryHeading,this._metaHeading);const i=mt(".peekview-actions");ct(this._headElement,i);const n=this._getActionBarOptions();this._actionbarWidget=new $f(i,n),this._disposables.add(this._actionbarWidget),t||this._actionbarWidget.push(new eg("peekview.close",y("label.close","Close"),Ki.asClassName(Yt.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:La(this._secondaryHeading))}setMetaTitle(e){this._metaHeading&&(e?(this._metaHeading.innerText=e,gr(this._metaHeading)):ko(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`)}};ov=MM([NM(2,hi)],ov);const g4=_t("peekViewTitle.background",{dark:"#252526",light:"#F3F3F3",hcDark:ki.black,hcLight:ki.white},y("peekViewTitleBackground","Background color of the peek view title area.")),AM=_t("peekViewTitleLabel.foreground",{dark:ki.white,light:ki.black,hcDark:ki.white,hcLight:Xp},y("peekViewTitleForeground","Color of the peek view title.")),OM=_t("peekViewTitleDescription.foreground",{dark:"#ccccccb3",light:"#616161",hcDark:"#FFFFFF99",hcLight:"#292929"},y("peekViewTitleInfoForeground","Color of the peek view title info.")),f4=_t("peekView.border",{dark:eS,light:eS,hcDark:al,hcLight:al},y("peekViewBorder","Color of the peek view borders and arrow.")),p4=_t("peekViewResult.background",{dark:"#252526",light:"#F3F3F3",hcDark:ki.black,hcLight:ki.white},y("peekViewResultsBackground","Background color of the peek view result list."));_t("peekViewResult.lineForeground",{dark:"#bbbbbb",light:"#646465",hcDark:ki.white,hcLight:Xp},y("peekViewResultsMatchForeground","Foreground color for line nodes in the peek view result list."));_t("peekViewResult.fileForeground",{dark:ki.white,light:"#1E1E1E",hcDark:ki.white,hcLight:Xp},y("peekViewResultsFileForeground","Foreground color for file nodes in the peek view result list."));_t("peekViewResult.selectionBackground",{dark:"#3399ff33",light:"#3399ff33",hcDark:null,hcLight:null},y("peekViewResultsSelectionBackground","Background color of the selected entry in the peek view result list."));_t("peekViewResult.selectionForeground",{dark:ki.white,light:"#6C6C6C",hcDark:ki.white,hcLight:Xp},y("peekViewResultsSelectionForeground","Foreground color of the selected entry in the peek view result list."));const FM=_t("peekViewEditor.background",{dark:"#001F33",light:"#F2F8FC",hcDark:ki.black,hcLight:ki.white},y("peekViewEditorBackground","Background color of the peek view editor."));_t("peekViewEditorGutter.background",FM,y("peekViewEditorGutterBackground","Background color of the gutter in the peek view editor."));_t("peekViewEditorStickyScroll.background",FM,y("peekViewEditorStickScrollBackground","Background color of sticky scroll in the peek view editor."));_t("peekViewResult.matchHighlightBackground",{dark:"#ea5c004d",light:"#ea5c004d",hcDark:null,hcLight:null},y("peekViewResultsMatchHighlight","Match highlight color in the peek view result list."));_t("peekViewEditor.matchHighlightBackground",{dark:"#ff8f0099",light:"#f5d802de",hcDark:null,hcLight:null},y("peekViewEditorMatchHighlight","Match highlight color in the peek view editor."));_t("peekViewEditor.matchHighlightBorder",{dark:null,light:null,hcDark:eh,hcLight:eh},y("peekViewEditorMatchHighlightBorder","Match highlight border in the peek view editor."));class yc{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?y({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,Pa(this.uri),this.range.startLineNumber,this.range.startColumn):y("aria.oneReference","in {0} on line {1} at column {2}",Pa(this.uri),this.range.startLineNumber,this.range.startColumn)}}class m4{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 z(n,c.startColumn,n,s),g=new z(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 up{constructor(e,t){this.parent=e,this.uri=t,this.children=[],this._previews=new pc}dispose(){zs(this._previews.values()),this._previews.clear()}getPreview(e){return this._previews.get(e.uri)}get ariaMessage(){const e=this.children.length;return e===1?y("aria.fileReferences.1","1 symbol in {0}, full path {1}",Pa(this.uri),this.uri.fsPath):y("aria.fileReferences.N","{0} symbols in {1}, full path {2}",e,Pa(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 m4(i))}catch(i){fn(i)}return this}}class mo{constructor(e,t){this.groups=[],this.references=[],this._onDidChangeReferenceRange=new pi,this.onDidChangeReferenceRange=this._onDidChangeReferenceRange.event,this._links=e,this._title=t;const[i]=e;e.sort(mo._compareReferences);let n;for(const s of e)if((!n||!VL.isEqual(n.uri,s.uri,!0))&&(n=new up(this,s.uri),this.groups.push(n)),n.children.length===0||mo._compareReferences(s,n.children[n.children.length-1])!==0){const r=new yc(i===s,n,s,a=>this._onDidChangeReferenceRange.fire(a));this.references.push(r),n.children.push(r)}}dispose(){zs(this.groups),this._onDidChangeReferenceRange.dispose(),this.groups.length=0}clone(){return new mo(this._links,this._title)}get title(){return this._title}get isEmpty(){return this.groups.length===0}get ariaMessage(){return this.isEmpty?y("aria.result.0","No results found"):this.references.length===1?y("aria.result.1","Found 1 symbol in {0}",this.references[0].uri.fsPath):this.groups.length===1?y("aria.result.n1","Found {0} symbols in {1}",this.references.length,this.groups[0].uri.fsPath):y("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:Yp(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()&&z.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 VL.compare(e.uri,t.uri)||z.compareRangesUsingStarts(e.range,t.range)}}var Ey=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Py=function(o,e){return function(t,i){e(t,i,o)}},QS;let eC=class{constructor(e){this._resolverService=e}hasChildren(e){return e instanceof mo||e instanceof up}getChildren(e){if(e instanceof mo)return e.groups;if(e instanceof up)return e.resolve(this._resolverService).then(t=>t.children);throw new Error("bad tree")}};eC=Ey([Py(0,Yr)],eC);class _4{getHeight(){return 23}getTemplateId(e){return e instanceof up?rv.id:av.id}}let tC=class{constructor(e){this._keybindingService=e}getKeyboardNavigationLabel(e){var t;if(e instanceof yc){const i=(t=e.parent.getPreview(e))==null?void 0:t.preview(e.range);if(i)return i.value}return Pa(e.uri)}};tC=Ey([Py(0,as)],tC);class v4{getId(e){return e instanceof yc?e.id:e.uri}}let iC=class extends Ve{constructor(e,t){super(),this._labelService=t;const i=document.createElement("div");i.classList.add("reference-file"),this.file=this._register(new gE(i,{supportHighlights:!0})),this.badge=new VA(ct(i,mt(".count")),{},jA),e.appendChild(i)}set(e,t){const i=A0(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(y("referencesCount","{0} references",n)):this.badge.setTitleFormat(y("referenceCount","{0} reference",n))}};iC=Ey([Py(1,Xf)],iC);var _d;let rv=(_d=class{constructor(e){this._instantiationService=e,this.templateId=QS.id}renderTemplate(e){return this._instantiationService.createInstance(iC,e)}renderElement(e,t,i){i.set(e.element,sy(e.filterData))}disposeTemplate(e){e.dispose()}},QS=_d,_d.id="FileReferencesRenderer",_d);rv=QS=Ey([Py(0,hi)],rv);class b4 extends Ve{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(`${Pa(e.uri)}:${e.range.startLineNumber+1}:${e.range.startColumn+1}`);else{const{value:s,highlight:r}=i;t&&!Yf.isDefault(t)?(this.label.element.classList.toggle("referenceMatch",!1),this.label.set(s,sy(t))):(this.label.element.classList.toggle("referenceMatch",!0),this.label.set(s,[r]))}}}const db=class db{constructor(){this.templateId=db.id}renderTemplate(e){return new b4(e)}renderElement(e,t,i){i.set(e.element,e.filterData)}disposeTemplate(e){e.dispose()}};db.id="OneReferenceRenderer";let av=db;class y4{getWidgetAriaLabel(){return y("treeAriaLabel","References")}getAriaLabel(e){return e.ariaMessage}}var w4=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Vh=function(o,e){return function(t,i){e(t,i,o)}};const hb=class hb{constructor(e,t){this._editor=e,this._model=t,this._decorations=new Map,this._decorationIgnoreSet=new Set,this._callOnDispose=new He,this._callOnModelChange=new He,this._callOnDispose.add(this._editor.onDidChangeModel(()=>this._onModelChanged())),this._onModelChanged()}dispose(){this._callOnModelChange.dispose(),this._callOnDispose.dispose(),this.removeDecorations()}_onModelChanged(){this._callOnModelChange.clear();const e=this._editor.getModel();if(e){for(const t of this._model.references)if(t.uri.toString()===e.uri.toString()){this._addDecorations(t.parent);return}}}_addDecorations(e){if(!this._editor.hasModel())return;this._callOnModelChange.add(this._editor.getModel().onDidChangeDecorations(()=>this._onDecorationChanged()));const t=[],i=[];for(let n=0,s=e.children.length;n<s;n++){const r=e.children[n];this._decorationIgnoreSet.has(r.id)||r.uri.toString()===this._editor.getModel().uri.toString()&&(t.push({range:r.range,options:hb.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(!z.equalsRange(s,n.range)){if(z.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()}};hb.DecorationOptions=Di.register({description:"reference-decoration",stickiness:1,className:"reference-decoration"});let nC=hb;class S4{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 C4 extends KA{}let sC=class extends ov{constructor(e,t,i,n,s,r,a,c,h){super(e,{showFrame:!1,showArrow:!0,isResizeable:!0,isAccessible:!0,supportOnTitleClick:!0},r),this._defaultTreeKeyboardSupport=t,this.layoutData=i,this._textModelResolverService=s,this._instantiationService=r,this._peekViewService=a,this._uriLabel=c,this._keybindingService=h,this._disposeOnNewModel=new He,this._callOnDispose=new He,this._onDidSelectReference=new pi,this.onDidSelectReference=this._onDidSelectReference.event,this._dim=new vn(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(),zs(this._preview),zs(this._previewNotAvailableMessage),zs(this._tree),zs(this._previewModelReference),this._splitView.dispose(),super.dispose()}_applyTheme(e){const t=e.getColor(f4)||ki.transparent;this.style({arrowColor:t,frameColor:t,headerBackgroundColor:e.getColor(g4)||ki.transparent,primaryHeadingColor:e.getColor(AM),secondaryHeadingColor:e.getColor(OM)})}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=ct(e,mt("div.messages")),ko(this._messageContainer),this._splitView=new $A(e,{orientation:1}),this._previewContainer=ct(e,mt("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(wr,this._previewContainer,t,{},this.editor),ko(this._previewContainer),this._previewNotAvailableMessage=this._instantiationService.createInstance(Vl,y("missingPreviewMessage","no preview available"),Jf,Vl.DEFAULT_CREATION_OPTIONS,null),this._treeContainer=ct(e,mt("div.ref-tree.inline"));const i={keyboardSupport:this._defaultTreeKeyboardSupport,accessibilityProvider:new y4,keyboardNavigationLabelProvider:this._instantiationService.createInstance(tC),identityProvider:new v4,openOnSingleClick:!0,selectionNavigation:!0,overrideStyles:{listBackground:p4}};this._defaultTreeKeyboardSupport&&this._callOnDispose.add(ll(this._treeContainer,"keydown",s=>{s.equals(9)&&(this._keybindingService.dispatchEvent(s,s.target),s.stopPropagation())},!0)),this._tree=this._instantiationService.createInstance(C4,"ReferencesWidget",this._treeContainer,new _4,[this._instantiationService.createInstance(rv),this._instantiationService.createInstance(av)],this._instantiationService.createInstance(eC),i),this._splitView.addView({onDidChange:ds.None,element:this._previewContainer,minimumSize:200,maximumSize:Number.MAX_VALUE,layout:s=>{this._preview.layout({height:this._dim.height,width:s})}},jL.Distribute),this._splitView.addView({onDidChange:ds.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)}},jL.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 yc&&(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")})),ko(this._treeContainer)}_onWidth(e){this._dim&&this._doLayoutBody(this._dim.height,e)}_doLayoutBody(e,t){super._doLayoutBody(e,t),this._dim=new vn(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=y("noResults","No results"),gr(this._messageContainer),Promise.resolve(void 0)):(ko(this._messageContainer),this._decorationsManager=new nC(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"),gr(this._treeContainer),gr(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 yc)return e;if(e instanceof up&&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!==Ys.inMemory?this.setTitle(qA(e.uri),this._uriLabel.getUriLabel(A0(e.uri))):this.setTitle(y("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}zs(this._previewModelReference);const s=n.object;if(s){const r=this._preview.getModel()===s.textEditorModel?0:1,a=z.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()}};sC=w4([Vh(3,Sr),Vh(4,Yr),Vh(5,hi),Vh(6,RM),Vh(7,Xf),Vh(8,as)],sC);var x4=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},jh=function(o,e){return function(t,i){e(t,i,o)}},S_;const kh=new Ri("referenceSearchVisible",!1,y("referenceSearchVisible","Whether reference peek is visible, like 'Peek References' or 'Peek Definition'"));var vd;let uh=(vd=class{static get(e){return e.getContribution(S_.ID)}constructor(e,t,i,n,s,r,a,c){this._defaultTreeKeyboardSupport=e,this._editor=t,this._editorService=n,this._notificationService=s,this._instantiationService=r,this._storageService=a,this._configurationService=c,this._disposables=new He,this._requestIdPool=0,this._ignoreModelChangeEvent=!1,this._referenceSearchVisible=kh.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=S4.fromJSON(this._storageService.get(s,0,"{}"));this._widget=this._instantiationService.createInstance(sC,this._editor,this._defaultTreeKeyboardSupport,r),this._widget.setTitle(y("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(y("metaTitle.N","{0} ({1})",this._model.title,this._model.references.length));const g=this._editor.getModel().uri,f=new kt(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=z.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=S_.get(s),a=this._model.clone();this.closeWidget(),s.focus(),r==null||r.toggleWidget(i,ys(c=>Promise.resolve(a)),this._peekMode??!1)}},s=>{this._ignoreModelChangeEvent=!1,fn(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)}},S_=vd,vd.ID="editor.contrib.referencesController",vd);uh=S_=x4([jh(2,Vi),jh(3,ns),jh(4,Ks),jh(5,hi),jh(6,Lc),jh(7,Pn)],uh);function Ih(o,e){const t=h4(o);if(!t)return;const i=uh.get(t);i&&e(i)}Na.registerCommandAndKeybindingRule({id:"togglePeekWidgetFocus",weight:100,primary:rs(2089,60),when:ae.or(kh,eo.inPeekEditor),handler(o){Ih(o,e=>{e.changeFocusBetweenPreviewAndReferences()})}});Na.registerCommandAndKeybindingRule({id:"goToNextReference",weight:90,primary:62,secondary:[70],when:ae.or(kh,eo.inPeekEditor),handler(o){Ih(o,e=>{e.goToNextOrPreviousReference(!0)})}});Na.registerCommandAndKeybindingRule({id:"goToPreviousReference",weight:90,primary:1086,secondary:[1094],when:ae.or(kh,eo.inPeekEditor),handler(o){Ih(o,e=>{e.goToNextOrPreviousReference(!1)})}});wn.registerCommandAlias("goToNextReferenceFromEmbeddedEditor","goToNextReference");wn.registerCommandAlias("goToPreviousReferenceFromEmbeddedEditor","goToPreviousReference");wn.registerCommandAlias("closeReferenceSearchEditor","closeReferenceSearch");wn.registerCommand("closeReferenceSearch",o=>Ih(o,e=>e.closeWidget()));Na.registerKeybindingRule({id:"closeReferenceSearch",weight:-1,primary:9,secondary:[1033],when:ae.and(eo.inPeekEditor,ae.not("config.editor.stablePeek"))});Na.registerKeybindingRule({id:"closeReferenceSearch",weight:250,primary:9,secondary:[1033],when:ae.and(kh,ae.not("config.editor.stablePeek"),ae.or(M.editorTextFocus,GA.negate()))});Na.registerCommandAndKeybindingRule({id:"revealReference",weight:200,primary:3,mac:{primary:3,secondary:[2066]},when:ae.and(kh,fE,pE.negate(),mE.negate()),handler(o){var i;const t=(i=o.get(O0).lastFocusedList)==null?void 0:i.getFocus();Array.isArray(t)&&t[0]instanceof yc&&Ih(o,n=>n.revealReference(t[0]))}});Na.registerCommandAndKeybindingRule({id:"openReferenceToSide",weight:100,primary:2051,mac:{primary:259},when:ae.and(kh,fE,pE.negate(),mE.negate()),handler(o){var i;const t=(i=o.get(O0).lastFocusedList)==null?void 0:i.getFocus();Array.isArray(t)&&t[0]instanceof yc&&Ih(o,n=>n.openReference(t[0],!0,!0))}});wn.registerCommand("openReference",o=>{var i;const t=(i=o.get(O0).lastFocusedList)==null?void 0:i.getFocus();Array.isArray(t)&&t[0]instanceof yc&&Ih(o,n=>n.openReference(t[0],!1,!0))});var HM=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(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)}};const C1=new Ri("hasSymbols",!1,y("hasSymbols","Whether there are symbol locations that can be navigated via keyboard-only.")),Ty=_l("ISymbolNavigationService");let oC=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=C1.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 rC(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(R_(f.uri,a.uri))h=!0,g=g||z.containsPosition(f.range,c);else if(h)break;(!h||!g)&&this.reset()});this._currentState=_E(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:z.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?y("location.kb","Symbol {0} of {1}, {2} for next",this._currentIdx+1,this._currentModel.references.length,e.getLabel()):y("location","Symbol {0} of {1}",this._currentIdx+1,this._currentModel.references.length);this._currentMessage=this._notificationService.status(t)}};oC=HM([hf(0,Vi),hf(1,ns),hf(2,Ks),hf(3,as)],oC);vl(Ty,oC,1);Mt(new class extends no{constructor(){super({id:"editor.gotoNextSymbolFromResult",precondition:C1,kbOpts:{weight:100,primary:70}})}runEditorCommand(o,e){return o.get(Ty).revealNext(e)}});Na.registerCommandAndKeybindingRule({id:"editor.gotoNextSymbolFromResult.cancel",weight:100,when:C1,primary:9,handler(o){o.get(Ty).reset()}});let rC=class{constructor(e){this._listener=new Map,this._disposables=new He,this._onDidChange=new pi,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(),zs(this._listener.values())}_onDidAddEditor(e){this._listener.set(e,_E(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)}};rC=HM([hf(0,ns)],rC);function aC(o,e){return e.uri.scheme===o.uri.scheme?!0:!ZA(e.uri,Ys.walkThroughSnippet,Ys.vscodeChatCodeBlock,Ys.vscodeChatCodeCompareBlock)}async function lm(o,e,t,i,n){const r=t.ordered(o,i).map(c=>Promise.resolve(n(c,o,e)).then(void 0,h=>{is(h)})),a=await Promise.all(r);return rl(a.flat()).filter(c=>aC(o,c))}function cm(o,e,t,i,n){return lm(e,t,o,i,(s,r,a)=>s.provideDefinition(r,a,n))}function x1(o,e,t,i,n){return lm(e,t,o,i,(s,r,a)=>s.provideDeclaration(r,a,n))}function L1(o,e,t,i,n){return lm(e,t,o,i,(s,r,a)=>s.provideImplementation(r,a,n))}function k1(o,e,t,i,n){return lm(e,t,o,i,(s,r,a)=>s.provideTypeDefinition(r,a,n))}function dm(o,e,t,i,n,s){return lm(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=>aC(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=>aC(a,v));return g&&g.length===1?g:h})}async function Ra(o){const e=await o(),t=new mo(e,""),i=t.references.map(n=>n.link);return t.dispose(),i}so("_executeDefinitionProvider",(o,e,t)=>{const i=o.get(It),n=cm(i.definitionProvider,e,t,!1,mi.None);return Ra(()=>n)});so("_executeDefinitionProvider_recursive",(o,e,t)=>{const i=o.get(It),n=cm(i.definitionProvider,e,t,!0,mi.None);return Ra(()=>n)});so("_executeTypeDefinitionProvider",(o,e,t)=>{const i=o.get(It),n=k1(i.typeDefinitionProvider,e,t,!1,mi.None);return Ra(()=>n)});so("_executeTypeDefinitionProvider_recursive",(o,e,t)=>{const i=o.get(It),n=k1(i.typeDefinitionProvider,e,t,!0,mi.None);return Ra(()=>n)});so("_executeDeclarationProvider",(o,e,t)=>{const i=o.get(It),n=x1(i.declarationProvider,e,t,!1,mi.None);return Ra(()=>n)});so("_executeDeclarationProvider_recursive",(o,e,t)=>{const i=o.get(It),n=x1(i.declarationProvider,e,t,!0,mi.None);return Ra(()=>n)});so("_executeReferenceProvider",(o,e,t)=>{const i=o.get(It),n=dm(i.referenceProvider,e,t,!1,!1,mi.None);return Ra(()=>n)});so("_executeReferenceProvider_recursive",(o,e,t)=>{const i=o.get(It),n=dm(i.referenceProvider,e,t,!1,!0,mi.None);return Ra(()=>n)});so("_executeImplementationProvider",(o,e,t)=>{const i=o.get(It),n=L1(i.implementationProvider,e,t,!1,mi.None);return Ra(()=>n)});so("_executeImplementationProvider_recursive",(o,e,t)=>{const i=o.get(It),n=L1(i.implementationProvider,e,t,!0,mi.None);return Ra(()=>n)});vr.appendMenuItem(lt.EditorContext,{submenu:lt.EditorContextPeek,title:y("peek.submenu","Peek"),group:"navigation",order:100});class fg{static is(e){return!e||typeof e!="object"?!1:!!(e instanceof fg||kt.isIPosition(e.position)&&e.model)}constructor(e,t){this.model=e,this.position=t}}const nr=class nr extends qr{static all(){return nr._allSymbolNavigationCommands.values()}static _patchConfig(e){const t={...e,f1:!0};if(t.menu)for(const i of el.wrap(t.menu))(i.id===lt.EditorContext||i.id===lt.EditorContextPeek)&&(i.when=ae.and(e.precondition,i.when));return t}constructor(e,t){super(nr._patchConfig(t)),this.configuration=e,nr._allSymbolNavigationCommands.set(t.id,this)}runEditorCommand(e,t,i,n){if(!t.hasModel())return Promise.resolve(void 0);const s=e.get(Ks),r=e.get(ns),a=e.get(Vp),c=e.get(Ty),h=e.get(It),g=e.get(hi),f=t.getModel(),p=t.getPosition(),v=fg.is(i)?i:new fg(f,p),_=new Zu(t,5),w=Bp(this._getLocationModel(h,v.model,v.position,_.token),_.token).then(async S=>{var N;if(!S||_.token.isCancellationRequested)return;br(S.ariaMessage);let D;if(S.referenceAt(f.uri,p)){const V=this._getAlternativeCommand(t);!nr._activeAlternativeCommands.has(V)&&nr._allSymbolNavigationCommands.has(V)&&(D=nr._allSymbolNavigationCommands.get(V))}const P=S.references.length;if(P===0){if(!this.configuration.muteMessage){const V=f.getWordAtPosition(p);(N=po.get(t))==null||N.showMessage(this._getNoResultFoundMessage(V),p)}}else if(P===1&&D)nr._activeAlternativeCommands.add(this.desc.id),g.invokeFunction(V=>D.runEditorCommand(V,t,i,n).finally(()=>{nr._activeAlternativeCommands.delete(this.desc.id)}));else return this._onResult(r,c,t,S,n)},S=>{s.error(S)}).finally(()=>{_.dispose()});return a.showWhile(w,250),w}async _onResult(e,t,i,n,s){const r=this._getGoToPreference(i);if(!(i instanceof wr)&&(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:z.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=uh.get(e);n&&e.hasModel()?n.toggleWidget(i??e.getSelection(),ys(s=>Promise.resolve(t)),this.configuration.openInPeek):t.dispose()}};nr._allSymbolNavigationCommands=new Map,nr._activeAlternativeCommands=new Set;let gl=nr;class hm extends gl{async _getLocationModel(e,t,i,n){return new mo(await cm(e.definitionProvider,t,i,!1,n),y("def.title","Definitions"))}_getNoResultFoundMessage(e){return e&&e.word?y("noResultWord","No definition found for '{0}'",e.word):y("generic.noResults","No definition found")}_getAlternativeCommand(e){return e.getOption(58).alternativeDefinitionCommand}_getGoToPreference(e){return e.getOption(58).multipleDefinitions}}var sc;tn((sc=class extends hm{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:sc.id,title:{...Lt("actions.goToDecl.label","Go to Definition"),mnemonicTitle:y({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,vE),primary:2118,weight:100}],menu:[{id:lt.EditorContext,group:"navigation",order:1.1},{id:lt.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:2}]}),wn.registerCommandAlias("editor.action.goToDeclaration",sc.id)}},sc.id="editor.action.revealDefinition",sc));var oc;tn((oc=class extends hm{constructor(){super({openToSide:!0,openInPeek:!1,muteMessage:!1},{id:oc.id,title:Lt("actions.goToDeclToSide.label","Open Definition to the Side"),precondition:ae.and(M.hasDefinitionProvider,M.isInEmbeddedEditor.toNegated()),keybinding:[{when:M.editorTextFocus,primary:rs(2089,70),weight:100},{when:ae.and(M.editorTextFocus,vE),primary:rs(2089,2118),weight:100}]}),wn.registerCommandAlias("editor.action.openDeclarationToTheSide",oc.id)}},oc.id="editor.action.revealDefinitionAside",oc));var rc;tn((rc=class extends hm{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:rc.id,title:Lt("actions.previewDecl.label","Peek Definition"),precondition:ae.and(M.hasDefinitionProvider,eo.notInPeekEditor,M.isInEmbeddedEditor.toNegated()),keybinding:{when:M.editorTextFocus,primary:582,linux:{primary:3140},weight:100},menu:{id:lt.EditorContextPeek,group:"peek",order:2}}),wn.registerCommandAlias("editor.action.previewDeclaration",rc.id)}},rc.id="editor.action.peekDefinition",rc));class WM extends gl{async _getLocationModel(e,t,i,n){return new mo(await x1(e.declarationProvider,t,i,!1,n),y("decl.title","Declarations"))}_getNoResultFoundMessage(e){return e&&e.word?y("decl.noResultWord","No declaration found for '{0}'",e.word):y("decl.generic.noResults","No declaration found")}_getAlternativeCommand(e){return e.getOption(58).alternativeDeclarationCommand}_getGoToPreference(e){return e.getOption(58).multipleDeclarations}}var bd;tn((bd=class extends WM{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:bd.id,title:{...Lt("actions.goToDeclaration.label","Go to Declaration"),mnemonicTitle:y({key:"miGotoDeclaration",comment:["&& denotes a mnemonic"]},"Go to &&Declaration")},precondition:ae.and(M.hasDeclarationProvider,M.isInEmbeddedEditor.toNegated()),menu:[{id:lt.EditorContext,group:"navigation",order:1.3},{id:lt.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:3}]})}_getNoResultFoundMessage(e){return e&&e.word?y("decl.noResultWord","No declaration found for '{0}'",e.word):y("decl.generic.noResults","No declaration found")}},bd.id="editor.action.revealDeclaration",bd));tn(class extends WM{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:"editor.action.peekDeclaration",title:Lt("actions.peekDecl.label","Peek Declaration"),precondition:ae.and(M.hasDeclarationProvider,eo.notInPeekEditor,M.isInEmbeddedEditor.toNegated()),menu:{id:lt.EditorContextPeek,group:"peek",order:3}})}});class BM extends gl{async _getLocationModel(e,t,i,n){return new mo(await k1(e.typeDefinitionProvider,t,i,!1,n),y("typedef.title","Type Definitions"))}_getNoResultFoundMessage(e){return e&&e.word?y("goToTypeDefinition.noResultWord","No type definition found for '{0}'",e.word):y("goToTypeDefinition.generic.noResults","No type definition found")}_getAlternativeCommand(e){return e.getOption(58).alternativeTypeDefinitionCommand}_getGoToPreference(e){return e.getOption(58).multipleTypeDefinitions}}var yd;tn((yd=class extends BM{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:yd.ID,title:{...Lt("actions.goToTypeDefinition.label","Go to Type Definition"),mnemonicTitle:y({key:"miGotoTypeDefinition",comment:["&& denotes a mnemonic"]},"Go to &&Type Definition")},precondition:M.hasTypeDefinitionProvider,keybinding:{when:M.editorTextFocus,primary:0,weight:100},menu:[{id:lt.EditorContext,group:"navigation",order:1.4},{id:lt.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:3}]})}},yd.ID="editor.action.goToTypeDefinition",yd));var wd;tn((wd=class extends BM{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:wd.ID,title:Lt("actions.peekTypeDefinition.label","Peek Type Definition"),precondition:ae.and(M.hasTypeDefinitionProvider,eo.notInPeekEditor,M.isInEmbeddedEditor.toNegated()),menu:{id:lt.EditorContextPeek,group:"peek",order:4}})}},wd.ID="editor.action.peekTypeDefinition",wd));class zM extends gl{async _getLocationModel(e,t,i,n){return new mo(await L1(e.implementationProvider,t,i,!1,n),y("impl.title","Implementations"))}_getNoResultFoundMessage(e){return e&&e.word?y("goToImplementation.noResultWord","No implementation found for '{0}'",e.word):y("goToImplementation.generic.noResults","No implementation found")}_getAlternativeCommand(e){return e.getOption(58).alternativeImplementationCommand}_getGoToPreference(e){return e.getOption(58).multipleImplementations}}var Sd;tn((Sd=class extends zM{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:Sd.ID,title:{...Lt("actions.goToImplementation.label","Go to Implementations"),mnemonicTitle:y({key:"miGotoImplementation",comment:["&& denotes a mnemonic"]},"Go to &&Implementations")},precondition:M.hasImplementationProvider,keybinding:{when:M.editorTextFocus,primary:2118,weight:100},menu:[{id:lt.EditorContext,group:"navigation",order:1.45},{id:lt.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:4}]})}},Sd.ID="editor.action.goToImplementation",Sd));var Cd;tn((Cd=class extends zM{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:Cd.ID,title:Lt("actions.peekImplementation.label","Peek Implementations"),precondition:ae.and(M.hasImplementationProvider,eo.notInPeekEditor,M.isInEmbeddedEditor.toNegated()),keybinding:{when:M.editorTextFocus,primary:3142,weight:100},menu:{id:lt.EditorContextPeek,group:"peek",order:5}})}},Cd.ID="editor.action.peekImplementation",Cd));class VM extends gl{_getNoResultFoundMessage(e){return e?y("references.no","No references found for '{0}'",e.word):y("references.noGeneric","No references found")}_getAlternativeCommand(e){return e.getOption(58).alternativeReferenceCommand}_getGoToPreference(e){return e.getOption(58).multipleReferences}}tn(class extends VM{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:"editor.action.goToReferences",title:{...Lt("goToReferences.label","Go to References"),mnemonicTitle:y({key:"miGotoReference",comment:["&& denotes a mnemonic"]},"Go to &&References")},precondition:ae.and(M.hasReferenceProvider,eo.notInPeekEditor,M.isInEmbeddedEditor.toNegated()),keybinding:{when:M.editorTextFocus,primary:1094,weight:100},menu:[{id:lt.EditorContext,group:"navigation",order:1.45},{id:lt.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:5}]})}async _getLocationModel(e,t,i,n){return new mo(await dm(e.referenceProvider,t,i,!0,!1,n),y("ref.title","References"))}});tn(class extends VM{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:"editor.action.referenceSearch.trigger",title:Lt("references.action.label","Peek References"),precondition:ae.and(M.hasReferenceProvider,eo.notInPeekEditor,M.isInEmbeddedEditor.toNegated()),menu:{id:lt.EditorContextPeek,group:"peek",order:6}})}async _getLocationModel(e,t,i,n){return new mo(await dm(e.referenceProvider,t,i,!1,!1,n),y("ref.title","References"))}});class L4 extends gl{constructor(e,t,i){super(e,{id:"editor.action.goToLocation",title:Lt("label.generic","Go to Any Symbol"),precondition:ae.and(eo.notInPeekEditor,M.isInEmbeddedEditor.toNegated())}),this._references=t,this._gotoMultipleBehaviour=i}async _getLocationModel(e,t,i,n){return new mo(this._references,y("generic.title","Locations"))}_getNoResultFoundMessage(e){return e&&y("generic.noResult","No results for '{0}'",e.word)||""}_getGoToPreference(e){return this._gotoMultipleBehaviour??e.getOption(58).multipleReferences}_getAlternativeCommand(){return""}}wn.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:cn},{name:"position",description:"The position at which to start",constraint:kt.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)=>{Ui(cn.isUri(e)),Ui(kt.isIPosition(t)),Ui(Array.isArray(i)),Ui(typeof n>"u"||typeof n=="string"),Ui(typeof r>"u"||typeof r=="boolean");const a=o.get(ns),c=await a.openCodeEditor({resource:e},a.getFocusedCodeEditor());if(bE(c))return c.setPosition(t),c.revealPositionInCenterIfOutsideViewport(t,0),c.invokeWithinContext(h=>{const g=new class extends L4{_getNoResultFoundMessage(f){return s||super._getNoResultFoundMessage(f)}}({muteMessage:!s,openInPeek:!!r,openToSide:!1},i,n);h.get(hi).invokeFunction(g.run.bind(g),c)})}});wn.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:cn},{name:"position",description:"The position at which to start",constraint:kt.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(ms).executeCommand("editor.action.goToLocations",e,t,i,n,void 0,!0)}});wn.registerCommand({id:"editor.action.findReferences",handler:(o,e,t)=>{Ui(cn.isUri(e)),Ui(kt.isIPosition(t));const i=o.get(It),n=o.get(ns);return n.openCodeEditor({resource:e},n.getFocusedCodeEditor()).then(s=>{if(!bE(s)||!s.hasModel())return;const r=uh.get(s);if(!r)return;const a=ys(h=>dm(i.referenceProvider,s.getModel(),kt.lift(t),!1,!1,h).then(g=>new mo(g,y("ref.title","References")))),c=new z(t.lineNumber,t.column,t.lineNumber,t.column);return Promise.resolve(r.toggleWidget(c,a,!1))})}});wn.registerCommandAlias("editor.action.showReferences","editor.action.peekLocations");async function k4(o,e,t,i){const n=o.get(Yr),s=o.get(Lg),r=o.get(ms),a=o.get(hi),c=o.get(Ks);if(await i.item.resolve(mi.None),!i.part.location)return;const h=i.part.location,g=[],f=new Set(vr.getMenuItems(lt.EditorContext).map(v=>YA(v)?v.command.id:Cy()));for(const v of gl.all())f.has(v.desc.id)&&g.push(new eg(v.desc.id,tg.label(v.desc,{renderShortTitle:!0}),void 0,!0,async()=>{const _=await n.createModelReference(h.uri);try{const w=new fg(_.object.textEditorModel,z.getStartPosition(h.range)),S=i.item.anchor.range;await a.invokeFunction(v.runEditorCommand.bind(v),e,w,S)}finally{_.dispose()}}));if(i.part.command){const{command:v}=i.part;g.push(new Gf),g.push(new eg(v.id,v.title,void 0,!0,async()=>{try{await r.executeCommand(v.id,...v.arguments??[])}catch(_){c.notify({severity:F0.Error,source:i.item.provider.displayName,message:_})}}))}const p=e.getOption(128);s.showContextMenu({domForShadowRoot:p?e.getDomNode()??void 0:void 0,getAnchor:()=>{const v=Qs(t);return{x:v.left,y:v.top+v.height+8}},getActions:()=>g,onHide:()=>{e.focus()},autoSelectFirstItem:!0})}async function jM(o,e,t,i){const s=await o.get(Yr).createModelReference(i.uri);await t.invokeWithinContext(async r=>{const a=e.hasSideBySideModifier,c=r.get(Vi),h=eo.inPeekEditor.getValue(c),g=!a&&t.getOption(89)&&!h;return new hm({openToSide:a,openInPeek:g,muteMessage:!0},{title:{value:"",original:""},id:"",precondition:void 0}).run(r,new fg(s.object.textEditorModel,z.getStartPosition(i.range)),z.lift(i.range))}),s.dispose()}var I4=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Uh=function(o,e){return function(t,i){e(t,i,o)}},su;class lv{constructor(){this._entries=new Up(50)}get(e){const t=lv._key(e);return this._entries.get(t)}set(e,t){const i=lv._key(e);this._entries.set(i,t)}static _key(e){return`${e.uri.toString()}/${e.getVersionId()}`}}const UM=_l("IInlayHintsCache");vl(UM,lv,1);class lC{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 D4{constructor(e,t){this.part=e,this.hasTriggerModifier=t}}var Qa;let gp=(Qa=class{static get(e){return e.getContribution(su.ID)??void 0}constructor(e,t,i,n,s,r,a){this._editor=e,this._languageFeaturesService=t,this._inlayHintsCache=n,this._commandService=s,this._notificationService=r,this._instaService=a,this._disposables=new He,this._sessionDisposables=new He,this._decorationsMetadata=new Map,this._ruleFactory=new oE(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(Dn(()=>{t.isDisposed()||this._cacheHintsForFastRestore(t)}));let n;const s=new Set,r=new hs(async()=>{const a=Date.now();n==null||n.dispose(!0),n=new ws;const c=t.onWillDispose(()=>n==null?void 0:n.cancel());try{const h=n.token,g=await nv.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){fn(h)}finally{n.dispose(),c.dispose()}},this._debounceInfo.get(t));this._sessionDisposables.add(r),this._sessionDisposables.add(Dn(()=>n==null?void 0:n.dispose(!0))),r.schedule(0),this._sessionDisposables.add(this._editor.onDidScrollChange(a=>{(a.scrollTopChanged||!r.isScheduled())&&r.schedule()})),this._sessionDisposables.add(this._editor.onDidChangeModelContent(a=>{n==null||n.cancel();const c=Math.max(r.delay,1250);r.schedule(c)})),this._sessionDisposables.add(this._installDblClickGesture(()=>r.schedule(0))),this._sessionDisposables.add(this._installLinkGesture()),this._sessionDisposables.add(this._installContextMenu())}_installLinkGesture(){const e=new He,t=e.add(new Dy(this._editor)),i=new He;return e.add(i),e.add(t.onMouseMoveOrRelevantKeyDown(n=>{const[s]=n,r=this._getInlayHintLabelPart(s),a=this._editor.getModel();if(!r||!a){i.clear();return}const c=new ws;i.add(Dn(()=>c.dispose(!0))),r.item.resolve(c.token),this._activeInlayHintPart=r.part.command||r.part.location?new D4(r,s.hasTriggerModifier):void 0;const h=a.validatePosition(r.item.hint.position).lineNumber,g=new z(h,1,h,a.getLineMaxColumn(h)),f=this._getInlineHintsForRange(g);this._updateHintsDecorators([g],f),i.add(Dn(()=>{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(jM,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(mi.None),Eo(i.item.hint.textEdits))){const n=i.item.hint.textEdits.map(s=>Xn.replace(z.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(k4,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 H0&&(t==null?void 0:t.attachedData)instanceof lC)return t.attachedData}async _invokeCommand(e,t){try{await this._commandService.executeCommand(e.id,...e.arguments??[])}catch(i){this._notificationService.notify({severity:F0.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 TM(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(z.compareRangesUsingStarts)){const r=t.validateRange(new z(s.startLineNumber-30,s.startColumn,s.endLineNumber+30,s.endColumn));n.length===0||!z.areIntersectingOrTouching(n[n.length-1],r)?n.push(r):n[n.length-1]=z.plusRange(n[n.length-1],r)}return n}_updateHintsDecorators(e,t){var _,w;const i=[],n=(S,D,P,N,V)=>{const F={content:P,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 P=this._ruleFactory.createClassNameRef({width:`${r/3|0}px`,display:"inline-block"});n(S,P," ",D?cu.Right:cu.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>su._MAX_LABEL_LEN)continue;S.hint.paddingLeft&&s(S,!1);const D=typeof S.hint.label=="string"?[{label:S.hint.label}]:S.hint.label;for(let P=0;P<D.length;P++){const N=D[P],V=P===0,F=P===D.length-1,Y={fontSize:`${r}px`,fontFamily:`var(${g}), ${M0.fontFamily}`,verticalAlign:h?"baseline":"middle",unicodeBidi:"isolate"};Eo(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===P&&(Y.textDecoration="underline",this._activeInlayHintPart.hasTriggerModifier&&(Y.color=ls(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 me=!1;const Le=f.totalLen-su._MAX_LABEL_LEN;if(Le>0&&(X=X.slice(0,-Le)+"…",me=!0),n(S,this._ruleFactory.createClassNameRef(Y),E4(X),F&&!S.hint.paddingRight?cu.Right:cu.None,new lC(S,P)),me)break}if(S.hint.paddingRight&&s(S,!0),i.length>su._MAX_DECORATORS)break}const p=[];for(const[S,D]of this._decorationsMetadata){const P=(w=this._editor.getModel())==null?void 0:w.getDecorationRange(S);P&&e.some(N=>N.containsRange(P))&&(p.push(S),D.classNameRef.dispose(),this._decorationsMetadata.delete(S))}const v=Ju.capture(this._editor);this._editor.changeDecorations(S=>{const D=S.deltaDecorations(p,i.map(P=>P.decoration));for(let P=0;P<D.length;P++){const N=i[P];this._decorationsMetadata.set(D[P],N)}}),v.restore(this._editor)}_fillInColors(e,t){t.kind===UL.Parameter?(e.backgroundColor=ls(iO),e.color=ls(nO)):t.kind===UL.Type?(e.backgroundColor=ls(sO),e.color=ls(oO)):(e.backgroundColor=ls(rO),e.color=ls(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()}},su=Qa,Qa.ID="editor.contrib.InlayHints",Qa._MAX_DECORATORS=1500,Qa._MAX_LABEL_LEN=43,Qa);gp=su=I4([Uh(1,It),Uh(2,Zo),Uh(3,UM),Uh(4,ms),Uh(5,Ks),Uh(6,hi)],gp);function E4(o){return o.replace(/[ \t]/g," ")}wn.registerCommand("_executeInlayHintProvider",async(o,...e)=>{const[t,i]=e;Ui(cn.isUri(t)),Ui(z.isIRange(i));const{inlayHintsProvider:n}=o.get(It),s=await o.get(Yr).createModelReference(t);try{const r=await nv.create(n,s.object.textEditorModel,[z.lift(i)],mi.None),a=r.items.map(c=>c.hint);return setTimeout(()=>r.dispose(),0),a}finally{s.dispose()}});var P4=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Dl=function(o,e){return function(t,i){e(t,i,o)}};class Jk extends b_{constructor(e,t,i,n){super(10,t,e.item.anchor.range,i,n,!0),this.part=e}}let cv=class extends hp{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(!gp.get(this._editor)||e.target.type!==6)return null;const i=(n=e.target.detail.injectedText)==null?void 0:n.options;return i instanceof H0&&i.attachedData instanceof lC?new Jk(i.attachedData,this,e.event.posx,e.event.posy):null}computeSync(){return[]}computeAsync(e,t,i){return e instanceof Jk?new zr(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 Ws().appendText(s.item.hint.tooltip):s.item.hint.tooltip&&(r=s.item.hint.tooltip),r&&n.emitOne(new fr(this,e.range,[r],!1,0)),Eo(s.item.hint.textEdits)&&n.emitOne(new fr(this,e.range,[new Ws().appendText(y("hint.dbl","Double-click to insert"))],!1,10001));let a;if(typeof s.part.tooltip=="string"?a=new Ws().appendText(s.part.tooltip):s.part.tooltip&&(a=s.part.tooltip),a&&n.emitOne(new fr(this,e.range,[a],!1,1)),s.part.location||s.part.command){let h;const f=this._editor.getOption(78)==="altKey"?Ea?y("links.navigate.kb.meta.mac","cmd + click"):y("links.navigate.kb.meta","ctrl + click"):Ea?y("links.navigate.kb.alt.mac","option + click"):y("links.navigate.kb.alt","alt + click");s.part.location&&s.part.command?h=new Ws().appendText(y("hint.defAndCommand","Go to Definition ({0}), right click for more",f)):s.part.location?h=new Ws().appendText(y("hint.def","Go to Definition ({0})",f)):s.part.command&&(h=new Ws(`[${y("hint.cmd","Execute Command")}](${s4(s.part.command)} "${s.part.command.title}") (${f})`,{isTrusted:!0})),h&&n.emitOne(new fr(this,e.range,[h],!1,1e4))}const c=await this._resolveInlayHintLabelPartHover(s,i);for await(const h of c)n.emitOne(h)}):zr.EMPTY}async _resolveInlayHintLabelPartHover(e,t){if(!e.part.location)return zr.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)?w1(this._languageFeaturesService.hoverProvider,r,new kt(n.startLineNumber,n.startColumn),t).filter(a=>!Zf(a.hover.contents)).map(a=>new fr(this,e.item.anchor.range,a.hover.contents,!1,2+a.ordinal)):zr.EMPTY}finally{s.dispose()}}};cv=P4([Dl(1,Xr),Dl(2,Gr),Dl(3,as),Dl(4,Gp),Dl(5,Pn),Dl(6,Yr),Dl(7,It),Dl(8,ms)],cv);class I1 extends Ve{constructor(e,t,i,n,s,r){super();const a=t.anchor,c=t.hoverParts;this._renderedHoverParts=this._register(new cC(e,i,c,r,s));const{showAtPosition:h,showAtSecondaryPosition:g}=I1.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 kt(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 w=f.startColumn,S=Math.min(r,w);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 kt(s,r);return{showAtPosition:c,showAtSecondaryPosition:h}}}class T4{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 ub=class ub extends Ve{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 Ve.None;let i=t[0].range;for(const s of t){const r=s.range;i=z.plusRange(i,r)}const n=e.createDecorationsCollection();return n.set([{range:i,options:ub._DECORATION_OPTIONS}]),Dn(()=>{n.clear()})}_renderParts(e,t,i,n){const s=new iv(n),r={fragment:this._fragment,statusBar:s,...i},a=new He;for(const h of e){const g=this._renderHoverPartsForParticipant(t,h,r);a.add(g);for(const f of g.renderedHoverParts)this._renderedParts.push({type:"hoverPart",participant:h,hoverPart:f.hoverPart,hoverElement:f.hoverElement})}const c=this._renderStatusBar(this._fragment,s);return c&&(a.add(c),this._renderedParts.push({type:"statusBar",hoverElement:c.hoverElement,actions:c.actions})),Dn(()=>{a.dispose()})}_renderHoverPartsForParticipant(e,t,i){const n=e.filter(r=>r.owner===t);return n.length>0?t.renderHoverParts(i,n):new hh([])}_renderStatusBar(e,t){if(t.hasContent)return new T4(e,t)}_registerListenersOnRenderedParts(){const e=new He;return this._renderedParts.forEach((t,i)=>{const n=t.hoverElement;n.tabIndex=0,e.add(zi(n,Un.FOCUS_IN,s=>{s.stopPropagation(),this._focusedHoverPartIndex=i})),e.add(zi(n,Un.FOCUS_OUT,s=>{s.stopPropagation(),this._focusedHoverPartIndex=-1}))}),e}_updateMarkdownAndColorParticipantInfo(e){const t=e.find(i=>i instanceof hp&&!(i instanceof cv));t&&(this._markdownHoverParticipant=t),this._colorHoverParticipant=e.find(i=>i instanceof cp)}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 ig;return t-s}get domNode(){return this._fragment}get domNodeHasChildren(){return this._fragment.hasChildNodes()}get focusedHoverPartIndex(){return this._focusedHoverPartIndex}};ub._DECORATION_OPTIONS=Di.register({description:"content-hover-highlight",className:"hoverHighlight"});let cC=ub;var M4=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Qk=function(o,e){return function(t,i){e(t,i,o)}};let dC=class extends Ve{constructor(e,t,i){super(),this._editor=e,this._instantiationService=t,this._keybindingService=i,this._currentResult=null,this._onContentsChanged=this._register(new pi),this.onContentsChanged=this._onContentsChanged.event,this._contentHoverWidget=this._register(this._instantiationService.createInstance(XS,this._editor)),this._participants=this._initializeHoverParticipants(),this._computer=new tv(this._editor,this._participants),this._hoverOperation=this._register(new kM(this._editor,this._computer)),this._registerListeners()}_initializeHoverParticipants(){const e=[];for(const t of Lh.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 IM(this._computer.anchor,i,t.isComplete))}));const e=this._contentHoverWidget.getDomNode();this._register(ll(e,"keydown",t=>{t.equals(9)&&this.hide()})),this._register(ll(e,"mouseleave",t=>{this._onMouseLeave(t)})),this._register(oy.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 I1(this._editor,e,this._participants,this._computer,t,this._keybindingService),this._renderedContentHover.domNodeHasChildren?this._contentHoverWidget.show(this._renderedContentHover):this._renderedContentHover.dispose()}_hideHover(){this._contentHoverWidget.hide()}_getHoverContext(){return{hide:()=>{this.hide()},onContentsChanged:()=>{this._onContentsChanged.fire(),this._contentHoverWidget.onContentsChanged()},setMinimumDimensions:n=>{this._contentHoverWidget.setMinimumDimensions(n)}}}showsOrWillShow(e){if(this._contentHoverWidget.isResizing)return!0;const i=this._findHoverAnchorCandidates(e);if(!(i.length>0))return this._startShowingOrUpdateHover(null,0,0,!1,e);const s=i[0];return this._startShowingOrUpdateHover(s,0,0,!1,e)}_findHoverAnchorCandidates(e){const t=[];for(const n of this._participants){if(!n.suggestHoverAnchor)continue;const s=n.suggestHoverAnchor(e);s&&t.push(s)}const i=e.target;switch(i.type){case 6:{t.push(new bw(0,i.range,e.event.posx,e.event.posy));break}case 7:{const n=this._editor.getOption(50).typicalHalfwidthCharacterWidth/2;if(!(!i.detail.isAfterLines&&typeof i.detail.horizontalDistanceToText=="number"&&i.detail.horizontalDistanceToText<n))break;t.push(new bw(0,i.range,e.event.posx,e.event.posy));break}}return t.sort((n,s)=>s.priority-n.priority),t}_onMouseLeave(e){const t=this._editor.getDomNode();(!t||!Iy(t,e.x,e.y))&&this.hide()}startShowingAtRange(e,t,i,n){this._startShowingOrUpdateHover(new bw(0,e,void 0,void 0),t,i,n,null)}async updateHoverVerbosityLevel(e,t,i){var n;(n=this._renderedContentHover)==null||n.updateHoverVerbosityLevel(e,t,i)}focusedHoverPartIndex(){var e;return((e=this._renderedContentHover)==null?void 0:e.focusedHoverPartIndex)??-1}containsNode(e){return e?this._contentHoverWidget.getDomNode().contains(e):!1}focus(){this._contentHoverWidget.focus()}scrollUp(){this._contentHoverWidget.scrollUp()}scrollDown(){this._contentHoverWidget.scrollDown()}scrollLeft(){this._contentHoverWidget.scrollLeft()}scrollRight(){this._contentHoverWidget.scrollRight()}pageUp(){this._contentHoverWidget.pageUp()}pageDown(){this._contentHoverWidget.pageDown()}goToTop(){this._contentHoverWidget.goToTop()}goToBottom(){this._contentHoverWidget.goToBottom()}hide(){this._computer.anchor=null,this._hoverOperation.cancel(),this._setCurrentResult(null)}getDomNode(){return this._contentHoverWidget.getDomNode()}get isColorPickerVisible(){var e;return((e=this._renderedContentHover)==null?void 0:e.isColorPickerVisible())??!1}get isVisibleFromKeyboard(){return this._contentHoverWidget.isVisibleFromKeyboard}get isVisible(){return this._contentHoverWidget.isVisible}get isFocused(){return this._contentHoverWidget.isFocused}get isResizing(){return this._contentHoverWidget.isResizing}get widget(){return this._contentHoverWidget}};dC=M4([Qk(1,hi),Qk(2,as)],dC);var N4=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},eI=function(o,e){return function(t,i){e(t,i,o)}},hC,xd;let Hs=(xd=class extends Ve{constructor(e,t,i){super(),this._editor=e,this._instantiationService=t,this._keybindingService=i,this._onHoverContentsChanged=this._register(new pi),this.shouldKeepOpenOnEditorMouseMoveOrLeave=!1,this._listenersStore=new He,this._hoverState={mouseDown:!1,activatedByDecoratorClick:!1},this._reactToEditorMouseMoveRunner=this._register(new hs(()=>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(hC.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?Iy(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===SM||t.commandId===Ly||t.commandId===ky)&&((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)||gg.dropDownVisible||(this._hoverState.activatedByDecoratorClick=!1,(t=this._contentWidget)==null||t.hide())}_getOrCreateContentWidget(){return this._contentWidget||(this._contentWidget=this._instantiationService.createInstance(dC,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()}},hC=xd,xd.ID="editor.contrib.contentHover",xd);Hs=hC=N4([eI(1,hi),eI(2,as)],Hs);const gL=class gL extends Ve{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!==pM||!i.range)return;const n=this._editor.getContribution(Hs.ID);if(n&&!n.isColorPickerVisible){const s=new z(i.range.startLineNumber,i.range.startColumn+1,i.range.endLineNumber,i.range.endColumn+1);n.showContentHover(s,1,0,!1,!0)}}};gL.ID="editor.contrib.colorContribution";let dv=gL;bi(dv.ID,dv,2);Lh.register(cp);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},fu=function(o,e){return function(t,i){e(t,i,o)}},uC,gC,Ld;let gh=(Ld=class extends Ve{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(fC,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(uC.ID)}},uC=Ld,Ld.ID="editor.contrib.standaloneColorPickerController",Ld);gh=uC=$M([fu(1,Vi),fu(2,hi)],gh);bi(gh.ID,gh,1);const tI=8,R4=22;var kd;let fC=(kd=class extends Ve{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 pi),this.onResult=this._onResult.event,this._standaloneColorPickerVisible.set(!0),this._standaloneColorPickerParticipant=n.createInstance(dp,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(Xu(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 gC.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 A4(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 lp(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 iv(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-R4-tI,f=a.body.enterButton;f==null||f.onClicked(()=>{this.updateEditor(),this.hide()});const p=a.header,v=p.pickedColorNode;v.style.width=h+tI+"px";const _=p.originalColorNode;_.style.width=g+"px";const w=a.header.closeButton;w==null||w.onClicked(()=>{this.hide()}),t&&(f&&(f.button.textContent="Replace"),this._selectionSetInEditor=!0,this._editor.setSelection(e.range)),this._editor.layoutContentWidget(this)}},gC=kd,kd.ID="editor.contrib.standaloneColorPickerWidget",kd);fC=gC=$M([fu(3,hi),fu(4,as),fu(5,It),fu(6,bl)],fC);class A4{constructor(e,t){this.value=e,this.foundInEditor=t}}class O4 extends qr{constructor(){super({id:"editor.action.showOrFocusStandaloneColorPicker",title:{...Lt("showOrFocusStandaloneColorPicker","Show or Focus Standalone Color Picker"),mnemonicTitle:y({key:"mishowOrFocusStandaloneColorPicker",comment:["&& denotes a mnemonic"]},"&&Show or Focus Standalone Color Picker")},precondition:void 0,menu:[{id:lt.CommandPalette}],metadata:{description:Lt("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=gh.get(t))==null||i.showOrFocus()}}class F4 extends Se{constructor(){super({id:"editor.action.hideColorPicker",label:y({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:Lt("hideColorPickerDescription","Hide the standalone color picker.")}})}run(e,t){var i;(i=gh.get(t))==null||i.hide()}}class H4 extends Se{constructor(){super({id:"editor.action.insertColorWithStandaloneColorPicker",label:y({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:Lt("insertColorWithStandaloneColorPickerDescription","Insert hex/rgb/hsl colors with the focused standalone color picker.")}})}run(e,t){var i;(i=gh.get(t))==null||i.insertColor()}}ne(F4);ne(H4);tn(O4);class $l{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 w;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),w=$l._createRemoveBlockCommentOperations(new z(a,v+t.length+1,h,_+1),t,i)):(w=$l._createAddBlockCommentOperations(e,t,i,this._insertSpace),this._usedEndToken=w.length===1?i:null);for(const S of w)r.addTrackedEditOperation(S.range,S.text)}static _createRemoveBlockCommentOperations(e,t,i){const n=[];return z.isEmpty(e)?n.push(Xn.delete(new z(e.startLineNumber,e.startColumn-t.length,e.endLineNumber,e.endColumn+i.length))):(n.push(Xn.delete(new z(e.startLineNumber,e.startColumn-t.length,e.startLineNumber,e.startColumn))),n.push(Xn.delete(new z(e.endLineNumber,e.endColumn,e.endLineNumber,e.endColumn+i.length)))),n}static _createAddBlockCommentOperations(e,t,i,n){const s=[];return z.isEmpty(e)?s.push(Xn.replace(new z(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn),t+" "+i)):(s.push(Xn.insert(new kt(e.startLineNumber,e.startColumn),t+(n?" ":""))),s.push(Xn.insert(new kt(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 qt(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 qt(n.endLineNumber,n.endColumn+s,n.endLineNumber,n.endColumn+s)}}}class za{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 w=i.getLineContent(_),S=tS(w);if(S===-1){v.ignore=r,v.commentStrOffset=w.length;continue}if(h=!1,v.ignore=!1,v.commentStrOffset=S,g&&!$l._haystackHasNeedleAtOffset(w,v.commentStr,S)&&(e===0?g=!1:e===1||(v.ignore=!0)),g&&t){const D=S+v.commentStrLength;D<w.length&&w.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=za._gatherPreflightCommentStrings(i,n,s,c);return h===null?{supported:!1}:za._analyzeLines(e,t,i,h,n,r,a,c)}_executeLineComments(e,t,i,n){let s;i.shouldRemoveComments?s=za._createRemoveLineCommentsOperations(i.lines,n.startLineNumber):(za._normalizeInsertionPoint(e,i.lines,n.startLineNumber,this._indentSize),s=this._createAddLineCommentsOperations(i.lines,n.startLineNumber));const r=new kt(n.positionLineNumber,n.positionColumn);for(let a=0,c=s.length;a<c;a++)t.addEditOperation(s[a].range,s[a].text),z.isEmpty(s[a].range)&&z.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?$l._createRemoveBlockCommentOperations(new z(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=tS(h);g===-1&&(g=h.length),c=$l._createAddBlockCommentOperations(new z(i.startLineNumber,g+1,i.startLineNumber,h.length+1),r,a,this._insertSpace)}else c=$l._createAddBlockCommentOperations(new z(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 z(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=za._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 qt(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(Xn.delete(new z(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(Xn.insert(new kt(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=za.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=za.nextVisibleColumn(f,n,g.charCodeAt(r)===9,1);f>s?t[c].commentStrOffset=r-1:t[c].commentStrOffset=r}}}class D1 extends Se{constructor(e,t){super(t),this._type=e}run(e,t){const i=e.get(_s);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)=>z.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 za(i,g.selection,r.indentSize,this._type,a.insertSpace,a.ignoreEmptyLines,g.ignoreFirstLine));t.pushUndoStop(),t.executeCommands(this.id,s),t.pushUndoStop()}}class W4 extends D1{constructor(){super(0,{id:"editor.action.commentLine",label:y("comment.line","Toggle Line Comment"),alias:"Toggle Line Comment",precondition:M.writable,kbOpts:{kbExpr:M.editorTextFocus,primary:2138,weight:100},menuOpts:{menuId:lt.MenubarEditMenu,group:"5_insert",title:y({key:"miToggleLineComment",comment:["&& denotes a mnemonic"]},"&&Toggle Line Comment"),order:1}})}}class B4 extends D1{constructor(){super(1,{id:"editor.action.addCommentLine",label:y("comment.line.add","Add Line Comment"),alias:"Add Line Comment",precondition:M.writable,kbOpts:{kbExpr:M.editorTextFocus,primary:rs(2089,2081),weight:100}})}}class z4 extends D1{constructor(){super(2,{id:"editor.action.removeCommentLine",label:y("comment.line.remove","Remove Line Comment"),alias:"Remove Line Comment",precondition:M.writable,kbOpts:{kbExpr:M.editorTextFocus,primary:rs(2089,2099),weight:100}})}}class V4 extends Se{constructor(){super({id:"editor.action.blockComment",label:y("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:lt.MenubarEditMenu,group:"5_insert",title:y({key:"miToggleBlockComment",comment:["&& denotes a mnemonic"]},"Toggle &&Block Comment"),order:2}})}run(e,t){const i=e.get(_s);if(!t.hasModel())return;const n=t.getOption(23),s=[],r=t.getSelections();for(const a of r)s.push(new $l(a,n.insertSpace,i));t.pushUndoStop(),t.executeCommands(this.id,s),t.pushUndoStop()}}ne(W4);ne(B4);ne(z4);ne(V4);var j4=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Ac=function(o,e){return function(t,i){e(t,i,o)}},pC,Id;let pg=(Id=class{static get(e){return e.getContribution(pC.ID)}constructor(e,t,i,n,s,r,a,c){this._contextMenuService=t,this._contextViewService=i,this._contextKeyService=n,this._keybindingService=s,this._menuService=r,this._configurationService=a,this._workspaceContextService=c,this._toDispose=new He,this._contextMenuIsBeingShownCount=0,this._editor=e,this._toDispose.add(this._editor.onContextMenu(h=>this._onContextMenu(h))),this._toDispose.add(this._editor.onMouseWheel(h=>{if(this._contextMenuIsBeingShownCount>0){const g=this._contextViewService.getContextViewElement(),f=h.srcElement;f.shadowRoot&&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 $L(c.id,c.label,h)),a++)}else i.push(c),a++;a&&i.push(new Gf)}return i.length&&i.pop(),i}_doShowContextMenu(e,t=null){if(!this._editor.hasModel())return;const i=this._editor.getOption(60);this._editor.updateOptions({hover:{enabled:!1}});let n=t;if(!n){this._editor.revealPosition(this._editor.getPosition(),1),this._editor.render();const r=this._editor.getScrolledVisiblePosition(this._editor.getPosition()),a=Qs(this._editor.getDomNode()),c=a.left+r.left,h=a.top+r.top+r.height;n={x:c,y:h}}const s=this._editor.getOption(128)&&!iS;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 Qw(r,r,{label:!0,keybinding:a.getLabel(),isMenu:!0});const c=r;return typeof c.getActionViewItem=="function"?c.getActionViewItem():new Qw(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 $L(`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)},w=[];for(const S of v)w.push(n({label:S.label,checked:p===S.value,run:_(S.value)}));return s(h,w)},a=[];a.push(n({label:y("context.minimap.minimap","Minimap"),checked:t.enabled,run:()=>{this._configurationService.updateValue("editor.minimap.enabled",!t.enabled)}})),a.push(new Gf),a.push(n({label:y("context.minimap.renderCharacters","Render Characters"),enabled:t.enabled,checked:t.renderCharacters,run:()=>{this._configurationService.updateValue("editor.minimap.renderCharacters",!t.renderCharacters)}})),a.push(r(y("context.minimap.size","Vertical size"),t.enabled,"editor.minimap.size",t.size,[{label:y("context.minimap.size.proportional","Proportional"),value:"proportional"},{label:y("context.minimap.size.fill","Fill"),value:"fill"},{label:y("context.minimap.size.fit","Fit"),value:"fit"}])),a.push(r(y("context.minimap.slider","Slider"),t.enabled,"editor.minimap.showSlider",t.showSlider,[{label:y("context.minimap.slider.mouseover","Mouse Over"),value:"mouseover"},{label:y("context.minimap.slider.always","Always"),value:"always"}]));const c=this._editor.getOption(128)&&!iS;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()}},pC=Id,Id.ID="editor.contrib.contextmenu",Id);pg=pC=j4([Ac(1,Lg),Ac(2,Jb),Ac(3,Vi),Ac(4,as),Ac(5,bh),Ac(6,Pn),Ac(7,Gu)],pg);class U4 extends Se{constructor(){super({id:"editor.action.showContextMenu",label:y("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=pg.get(t))==null||i.showContextMenu()}}bi(pg.ID,pg,2);ne(U4);class ww{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 Sw{constructor(e,t,i){this.cursorState=e,this.scrollTop=t,this.scrollLeft=i}}const gb=class gb extends Ve{static get(e){return e.getContribution(gb.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 ww(t.oldSelections);this._undoStack.length>0&&this._undoStack[this._undoStack.length-1].cursorState.equals(i)||(this._undoStack.push(new Sw(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 Sw(new ww(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 Sw(new ww(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}};gb.ID="editor.contrib.cursorUndoRedoController";let mg=gb;class $4 extends Se{constructor(){super({id:"cursorUndo",label:y("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=mg.get(t))==null||n.cursorUndo()}}class q4 extends Se{constructor(){super({id:"cursorRedo",label:y("cursor.redo","Cursor Redo"),alias:"Cursor Redo",precondition:void 0})}run(e,t,i){var n;(n=mg.get(t))==null||n.cursorRedo()}}bi(mg.ID,mg,0);ne($4);ne(q4);class K4{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 z(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 qt(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 qt(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 qt(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 qt(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 qt(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 $h(o){return Ea?o.altKey:o.ctrlKey}const Al=class Al extends Ve{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)||($h(e)&&(this._modifierPressed=!0),this._mouseDown&&$h(e)&&this._editor.updateOptions({mouseStyle:"copy"}))}onEditorKeyUp(e){!this._editor.getOption(35)||this._editor.getOption(22)||($h(e)&&(this._modifierPressed=!1),this._mouseDown&&e.keyCode===Al.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}$h(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 kt(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 qt(s,r,t.lineNumber,t.column)]}}else i=(this._editor.getSelections()||[]).map(n=>n.containsPosition(t)?new qt(t.lineNumber,t.column,t.lineNumber,t.column):n);this._editor.setSelections(i||[],"mouse",3)}else(!this._dragSelection.containsPosition(t)||($h(e.event)||this._modifierPressed)&&(this._dragSelection.getEndPosition().equals(t)||this._dragSelection.getStartPosition().equals(t)))&&(this._editor.pushUndoStop(),this._editor.executeCommand(Al.ID,new K4(this._dragSelection,t,$h(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 z(e.lineNumber,e.column,e.lineNumber,e.column),options:Al._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()}};Al.ID="editor.contrib.dragAndDrop",Al.TRIGGER_KEY_VALUE=Ea?6:5,Al._DECORATION_OPTIONS=Di.register({description:"dnd-target",className:"dnd-target"});let hv=Al;bi(hv.ID,hv,2);bi(ul.ID,ul,0);Dg(PS);Mt(new class extends no{constructor(){super({id:GT,precondition:f1,kbOpts:{weight:100,primary:2137}})}runEditorCommand(o,e){var t;return(t=ul.get(e))==null?void 0:t.changePasteType()}});Mt(new class extends no{constructor(){super({id:"editor.hidePasteWidget",precondition:f1,kbOpts:{weight:100,primary:9}})}runEditorCommand(o,e){var t;(t=ul.get(e))==null||t.clearWidgets()}});var Dd;ne((Dd=class extends Se{constructor(){super({id:"editor.action.pasteAs",label:y("pasteAs","Paste As..."),alias:"Paste As...",precondition:M.writable,metadata:{description:"Paste as",args:[{name:"args",schema:Dd.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=ul.get(t))==null?void 0:s.pasteAs(n?new En(n):void 0)}},Dd.argsSchema={type:"object",properties:{kind:{type:"string",description:y("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.")}}},Dd));ne(class extends Se{constructor(){super({id:"editor.action.pasteAsText",label:y("pasteAsText","Paste as Text"),alias:"Paste as Text",precondition:M.writable})}run(o,e){var t;return(t=ul.get(e))==null?void 0:t.pasteAs({providerId:rh.id})}});class G4{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 iI{constructor(e){this.identifier=e}}const qM=_l("treeViewsDndService");vl(qM,G4,1);var Z4=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(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)}},mC;const KM="editor.experimental.dropIntoEditor.defaultProvider",GM="editor.changeDropType",E1=new Ri("dropWidgetVisible",!1,y("dropWidgetVisible","Whether the drop widget is showing"));var Ed;let _g=(Ed=class extends Ve{static get(e){return e.getContribution(mC.ID)}constructor(e,t,i,n,s){super(),this._configService=i,this._languageFeaturesService=n,this._treeViewsDragAndDropService=s,this.treeItemsTransfer=DS.getInstance(),this._dropProgressManager=this._register(t.createInstance(J_,"dropIntoEditor",e)),this._postDropWidgetManager=this._register(t.createInstance(ev,"dropIntoEditor",e,E1,{id:GM,label:y("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=ys(async r=>{const a=new He,c=a.add(new Zu(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([z.fromPositions(t)],{activeEditIndex:v,allEdits:p.edits},_,async w=>w,r)}}finally{a.dispose(),this._currentOperation===n&&(this._currentOperation=void 0)}});this._dropProgressManager.showWhile(t,y("dropIntoEditorProgress","Running drop handlers. Click to cancel"),n,{cancel:()=>n.cancel()}),this._currentOperation=n}async getDropEdits(e,t,i,n,s){const r=new He,a=await Bp(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=rl(a??[]).flat();return{edits:qT(c),dispose:()=>r.dispose()}}getInitialActiveEditIndex(e,t){const i=this._configService.getValue(KM,{resource:e.uri});for(const[n,s]of Object.entries(i)){const r=new En(s),a=t.findIndex(c=>r.value===c.providerId&&c.handledMimeType&&FT(n,[c.handledMimeType]));if(a>=0)return a}return 0}async extractDataTransferData(e){if(!e.dataTransfer)return new OT;const t=BT(e.dataTransfer);if(this.treeItemsTransfer.hasData(iI.prototype)){const i=this.treeItemsTransfer.getData(iI.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}},mC=Ed,Ed.ID="editor.contrib.dropIntoEditorController",Ed);_g=mC=Z4([Hm(1,hi),Hm(2,Pn),Hm(3,It),Hm(4,qM)],_g);bi(_g.ID,_g,2);Dg(ES);Mt(new class extends no{constructor(){super({id:GM,precondition:E1,kbOpts:{weight:100,primary:2137}})}runEditorCommand(o,e,t){var i;(i=_g.get(e))==null||i.changeDropType()}});Mt(new class extends no{constructor(){super({id:"editor.hideDropWidget",precondition:E1,kbOpts:{weight:100,primary:9}})}runEditorCommand(o,e,t){var i;(i=_g.get(e))==null||i.clearWidgets()}});Kr.as(jp.Configuration).registerConfiguration({...ey,properties:{[KM]:{type:"object",scope:5,description:y("defaultProviderDescription","Configures the default drop provider to use for content of a given mime type."),default:{},additionalProperties:{type:"string"}}}});const Rs=class Rs{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===Rs._FIND_MATCH_DECORATION||n===Rs._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,Rs._FIND_MATCH_DECORATION),this._highlightedDecorationId=null),t!==null&&(this._highlightedDecorationId=t,n.changeDecorationOptions(this._highlightedDecorationId,Rs._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 z(s.startLineNumber,s.startColumn,r,a)}this._rangeHighlightDecorationId=n.addDecoration(s,Rs._RANGE_HIGHLIGHT_DECORATION)}}),i}set(e,t){this._editor.changeDecorations(i=>{let n=Rs._FIND_MATCH_DECORATION;const s=[];if(e.length>1e3){n=Rs._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 w=e[v].range;p+g>=w.startLineNumber?w.endLineNumber>p&&(p=w.endLineNumber):(s.push({range:new z(f,1,p,1),options:Rs._FIND_MATCH_ONLY_OVERVIEW_DECORATION}),f=w.startLineNumber,p=w.endLineNumber)}s.push({range:new z(f,1,p,1),options:Rs._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,Rs._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}};Rs._CURRENT_FIND_MATCH_DECORATION=Di.register({description:"current-find-match",stickiness:1,zIndex:13,className:"currentFindMatch",inlineClassName:"currentFindMatchInline",showIfCollapsed:!0,overviewRuler:{color:ls(Qy),position:xa.Center},minimap:{color:ls(qL),position:1}}),Rs._FIND_MATCH_DECORATION=Di.register({description:"find-match",stickiness:1,zIndex:10,className:"findMatch",inlineClassName:"findMatchInline",showIfCollapsed:!0,overviewRuler:{color:ls(Qy),position:xa.Center},minimap:{color:ls(qL),position:1}}),Rs._FIND_MATCH_NO_OVERVIEW_DECORATION=Di.register({description:"find-match-no-overview",stickiness:1,className:"findMatch",showIfCollapsed:!0}),Rs._FIND_MATCH_ONLY_OVERVIEW_DECORATION=Di.register({description:"find-match-only-overview",stickiness:1,overviewRuler:{color:ls(Qy),position:xa.Center}}),Rs._RANGE_HIGHLIGHT_DECORATION=Di.register({description:"find-range-highlight",stickiness:1,className:"rangeHighlight",isWholeLine:!0}),Rs._FIND_SCOPE_DECORATION=Di.register({description:"find-scope",className:"findScope",isWholeLine:!0});let _C=Rs;class X4{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)=>z.compareRangesUsingStarts(r.range,a.range));const n=[];let s=i[0];for(let r=1;r<i.length;r++)s.range.endLineNumber===i[r].range.startLineNumber&&s.range.endColumn===i[r].range.startColumn?(s.range=s.range.plusRange(i[r].range),s.text=s.text+i[r].text):(n.push(s),s=i[r]);n.push(s);for(const r of n)t.addEditOperation(r.range,r.text)}this._trackedEditorSelectionId=t.trackSelection(this._editorSelection)}computeCursorState(e,t){return t.getTrackedSelection(this._trackedEditorSelectionId)}}function ZM(o,e){if(o&&o[0]!==""){const t=nI(o,e,"-"),i=nI(o,e,"_");return t&&!i?sI(o,e,"-"):!t&&i?sI(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 nI(o,e,t){return o[0].indexOf(t)!==-1&&e.indexOf(t)!==-1&&o[0].split(t).length===e.split(t).length}function sI(o,e,t){const i=e.split(t),n=o[0].split(t);let s="";return i.forEach((r,a)=>{s+=ZM([n[a]],r)+t}),s.slice(0,-1)}class oI{constructor(e){this.staticValue=e,this.kind=0}}class Y4{constructor(e){this.pieces=e,this.kind=1}}class vg{static fromStaticValue(e){return new vg([dd.staticValue(e)])}get hasReplacementPatterns(){return this._state.kind===1}constructor(e){!e||e.length===0?this._state=new oI(""):e.length===1&&e[0].staticValue!==null?this._state=new oI(e[0].staticValue):this._state=new Y4(e)}buildReplaceString(e,t){if(this._state.kind===0)return t?ZM(e,this._state.staticValue):this._state.staticValue;let i="";for(let n=0,s=this._state.pieces.length;n<s;n++){const r=this._state.pieces[n];if(r.staticValue!==null){i+=r.staticValue;continue}let a=vg._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 dd{static staticValue(e){return new dd(e,-1,null)}static caseOps(e,t){return new dd(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 J4{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++]=dd.staticValue(this._currentStaticPiece),this._currentStaticPiece=""),this._result[this._resultLen++]=dd.caseOps(e,i),this._lastCharIndex=t}finalize(){return this.emitUnchanged(this._source.length),this._currentStaticPiece.length!==0&&(this._result[this._resultLen++]=dd.staticValue(this._currentStaticPiece),this._currentStaticPiece=""),new vg(this._result)}}function Q4(o){if(!o||o.length===0)return new vg(null);const e=[],t=new J4(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 Sl=new Ri("findWidgetVisible",!1);Sl.toNegated();const My=new Ri("findInputFocussed",!1),P1=new Ri("replaceInputFocussed",!1),Wm={primary:545,mac:{primary:2593}},Bm={primary:565,mac:{primary:2613}},zm={primary:560,mac:{primary:2608}},Vm={primary:554,mac:{primary:2602}},jm={primary:558,mac:{primary:2606}},gn={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"},ql=19999,ez=240;class Tf{constructor(e,t){this._toDispose=new He,this._editor=e,this._state=t,this._isDisposed=!1,this._startSearchingTimer=new zp,this._decorations=new _C(e),this._toDispose.add(this._decorations),this._updateDecorationsScheduler=new hs(()=>{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,zs(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)},ez)):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 z(a.startLineNumber,1,c,this._editor.getModel().getLineMaxColumn(c))}return a}));const n=this._findMatches(i,!1,ql);this._decorations.set(n,i);const s=this._editor.getSelection();let r=this._decorations.getCurrentMatchesPosition(s);if(r===0&&n.length>0){const a=yE(n.map(c=>c.range),c=>z.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 kt(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()<ql){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=Tf._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 kt(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 kt(i,n)}_moveToNextMatch(e){if(!this._state.canNavigateForward()){const i=this._decorations.matchBeforePosition(e);i&&this._setCurrentFindMatch(i);return}if(this._decorations.getCount()<ql){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=Tf._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 kt(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?Q4(this._state.replaceString):vg.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 Wp(t,n);this._executeEditorCommand("replace",s),this._decorations.setStartPosition(new kt(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=>Tf._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>=ql?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 wE(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 X4(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 qt(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 fb=class fb extends $p{constructor(e,t,i){super(),this._hideSoon=this._register(new hs(()=>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:id(CE),inputActiveOptionForeground:id(SE),inputActiveOptionBackground:id(E0)},s=this._register(nS());this.caseSensitive=this._register(new gO({appendTitle:this._keybindingLabelFor(gn.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(gn.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(gn.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(zi(this._domNode,Un.MOUSE_LEAVE,r=>this._onMouseLeave())),this._register(zi(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 fb.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")}};fb.ID="editor.contrib.findOptionsWidget";let vC=fb;function Um(o,e){return o===1?!0:o===2?!1:e}class tz extends Ve{get searchString(){return this._searchString}get replaceString(){return this._replaceString}get isRevealed(){return this._isRevealed}get isReplaceRevealed(){return this._isReplaceRevealed}get isRegex(){return Um(this._isRegexOverride,this._isRegex)}get wholeWord(){return Um(this._wholeWordOverride,this._wholeWord)}get matchCase(){return Um(this._matchCaseOverride,this._matchCase)}get preserveCase(){return Um(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 pi),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"&&(z.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=>!z.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>=ql}}const iz=y("defaultLabel","input"),nz=y("label.preserveCaseToggle","Preserve Case");class sz extends xE{constructor(e){super({icon:Yt.preserveCase,title:nz+e.appendTitle,isChecked:e.isChecked,hoverDelegate:e.hoverDelegate??ry("element"),inputActiveOptionBorder:e.inputActiveOptionBorder,inputActiveOptionForeground:e.inputActiveOptionForeground,inputActiveOptionBackground:e.inputActiveOptionBackground})}}class oz extends $p{constructor(e,t,i,n){super(),this._showOptionButtons=i,this.fixFocusOnOptionClickEnabled=!0,this.cachedOptionsWidth=0,this._onDidOptionChange=this._register(new pi),this.onDidOptionChange=this._onDidOptionChange.event,this._onKeyDown=this._register(new pi),this.onKeyDown=this._onKeyDown.event,this._onMouseDown=this._register(new pi),this._onInput=this._register(new pi),this._onKeyUp=this._register(new pi),this._onPreserveCaseKeyDown=this._register(new pi),this.onPreserveCaseKeyDown=this._onPreserveCaseKeyDown.event,this.contextViewProvider=t,this.placeholder=n.placeholder||"",this.validation=n.validation,this.label=n.label||iz;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 sz({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(),O_.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 XM=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},YM=function(o,e){return function(t,i){e(t,i,o)}};const T1=new Ri("suggestWidgetVisible",!1,y("suggestWidgetVisible","Whether suggestion are visible")),M1="historyNavigationWidgetFocus",JM="historyNavigationForwardsEnabled",QM="historyNavigationBackwardsEnabled";let sl;const $m=[];function eN(o,e){if($m.includes(e))throw new Error("Cannot register the same widget multiple times");$m.push(e);const t=new He,i=new Ri(M1,!1).bindTo(o),n=new Ri(JM,!0).bindTo(o),s=new Ri(QM,!0).bindTo(o),r=()=>{i.set(!0),sl=e},a=()=>{i.set(!1),sl===e&&(sl=void 0)};return vO(e.element)&&r(),t.add(e.onDidFocus(()=>r())),t.add(e.onDidBlur(()=>a())),t.add(Dn(()=>{$m.splice($m.indexOf(e),1),a()})),{historyNavigationForwardsEnablement:n,historyNavigationBackwardsEnablement:s,dispose(){t.dispose()}}}let bC=class extends _O{constructor(e,t,i,n){super(e,t,i);const s=this._register(n.createScoped(this.inputBox.element));this._register(eN(s,this.inputBox))}};bC=XM([YM(3,Vi)],bC);let yC=class extends oz{constructor(e,t,i,n,s=!1){super(e,t,s,i);const r=this._register(n.createScoped(this.inputBox.element));this._register(eN(r,this.inputBox))}};yC=XM([YM(3,Vi)],yC);Na.registerCommandAndKeybindingRule({id:"history.showPrevious",weight:200,when:ae.and(ae.has(M1),ae.equals(QM,!0),ae.not("isComposing"),T1.isEqualTo(!1)),primary:16,secondary:[528],handler:o=>{sl==null||sl.showPreviousValue()}});Na.registerCommandAndKeybindingRule({id:"history.showNext",weight:200,when:ae.and(ae.has(M1),ae.equals(JM,!0),ae.not("isComposing"),T1.isEqualTo(!1)),primary:18,secondary:[530],handler:o=>{sl==null||sl.showNextValue()}});function rI(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 aI=Qn("find-collapsed",Yt.chevronRight,y("findCollapsedIcon","Icon to indicate that the editor find widget is collapsed.")),lI=Qn("find-expanded",Yt.chevronDown,y("findExpandedIcon","Icon to indicate that the editor find widget is expanded.")),rz=Qn("find-selection",Yt.selection,y("findSelectionIcon","Icon for 'Find in Selection' in the editor find widget.")),az=Qn("find-replace",Yt.replace,y("findReplaceIcon","Icon for 'Replace' in the editor find widget.")),lz=Qn("find-replace-all",Yt.replaceAll,y("findReplaceAllIcon","Icon for 'Replace All' in the editor find widget.")),cz=Qn("find-previous-match",Yt.arrowUp,y("findPreviousMatchIcon","Icon for 'Find Previous' in the editor find widget.")),dz=Qn("find-next-match",Yt.arrowDown,y("findNextMatchIcon","Icon for 'Find Next' in the editor find widget.")),hz=y("label.findDialog","Find / Replace"),uz=y("label.find","Find"),gz=y("placeholder.find","Find"),fz=y("label.previousMatchButton","Previous Match"),pz=y("label.nextMatchButton","Next Match"),mz=y("label.toggleSelectionFind","Find in Selection"),_z=y("label.closeButton","Close"),vz=y("label.replace","Replace"),bz=y("placeholder.replace","Replace"),yz=y("label.replaceButton","Replace"),wz=y("label.replaceAllButton","Replace All"),Sz=y("label.toggleReplaceButton","Toggle Replace"),Cz=y("title.matchesCountLimit","Only the first {0} results are highlighted, but all find operations work on the entire text.",ql),xz=y("label.matchesLocation","{0} of {1}"),cI=y("label.noResults","No results"),sa=419,Lz=275,kz=Lz-54;let Jg=69;const Iz=33,dI="ctrlEnterReplaceAll.windows.donotask",hI=Ea?256:2048;class Cw{constructor(e){this.afterLineNumber=e,this.heightInPx=Iz,this.suppressMouseDown=!1,this.domNode=document.createElement("div"),this.domNode.className="dock-find-viewzone"}}function uI(o,e,t){const i=!!e.match(/\n/);if(t&&i&&t.selectionStart>0){o.stopPropagation();return}}function gI(o,e,t){const i=!!e.match(/\n/);if(t&&i&&t.selectionEnd<t.value.length){o.stopPropagation();return}}const pb=class pb extends $p{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(dI,0),this._isVisible=!1,this._isReplaceVisible=!1,this._ignoreChangeEvent=!1,this._updateHistoryDelayer=new mc(500),this._register(Dn(()=>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 Cw(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=My.bindTo(r),this._findFocusTracker=this._register(Xu(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=P1.bindTo(r),this._replaceFocusTracker=this._register(Xu(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 Cw(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 pb.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=or(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,fn)}_updateHistory(){this._state.searchString&&this._findInput.inputBox.addToHistory(),this._state.replaceString&&this._replaceInput.inputBox.addToHistory()}_updateMatchesCount(){var t;this._matchesCount.style.minWidth=Jg+"px",this._state.matchesCount>=ql?this._matchesCount.title=Cz: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>=ql&&(i+="+");let n=String(this._state.matchesPosition);n==="0"&&(n="?"),e=W0(xz,n,i)}else e=cI;this._matchesCount.appendChild(document.createTextNode(e)),br(this._getAriaLabel(e,this._state.currentMatch,this._state.searchString)),Jg=Math.max(Jg,this._matchesCount.clientWidth)}_getAriaLabel(e,t,i){if(e===cI)return i===""?y("ariaSearchNoResultEmpty","{0} found",e):y("ariaSearchNoResult","{0} found for '{1}'",e,i);if(t){const n=y("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 y("ariaSearchNoResultWithLineNumNoCurrentMatch","{0} found for '{1}'",e,i)}_updateToggleSelectionFindButton(){const e=this._codeEditor.getSelection(),t=e?e.startLineNumber!==e.endLineNumber||e.startColumn!==e.endColumn:!1,i=this._toggleSelectionFind.checked;this._isVisible&&(i||t)?this._toggleSelectionFind.enable():this._toggleSelectionFind.disable()}_updateButtons(){this._findInput.setEnabled(this._isVisible),this._replaceInput.setEnabled(this._isVisible&&this._isReplaceVisible),this._updateToggleSelectionFindButton(),this._closeBtn.setEnabled(this._isVisible);const e=this._state.searchString.length>0,t=!!this._state.matchesCount;this._prevBtn.setEnabled(this._isVisible&&e&&t&&this._state.canNavigateBack()),this._nextBtn.setEnabled(this._isVisible&&e&&t&&this._state.canNavigateForward()),this._replaceBtn.setEnabled(this._isVisible&&this._isReplaceVisible&&e),this._replaceAllBtn.setEnabled(this._isVisible&&this._isReplaceVisible&&e),this._domNode.classList.toggle("replaceToggled",this._isReplaceVisible),this._toggleReplaceBtn.setExpanded(this._isReplaceVisible);const i=!this._codeEditor.getOption(92);this._toggleReplaceBtn.setEnabled(this._isVisible&&i)}_reveal(){if(this._revealTimeouts.forEach(e=>{clearTimeout(e)}),this._revealTimeouts=[],!this._isVisible){this._isVisible=!0;const e=this._codeEditor.getSelection();switch(this._codeEditor.getOption(41).autoFindInSelection){case"always":this._toggleSelectionFind.checked=!0;break;case"never":this._toggleSelectionFind.checked=!1;break;case"multiline":{const i=!!e&&e.startLineNumber!==e.endLineNumber;this._toggleSelectionFind.checked=i;break}}this._tryUpdateWidgetWidth(),this._updateButtons(),this._revealTimeouts.push(setTimeout(()=>{this._domNode.classList.add("visible"),this._domNode.setAttribute("aria-hidden","false")},0)),this._revealTimeouts.push(setTimeout(()=>{this._findInput.validate()},200)),this._codeEditor.layoutOverlayWidget(this);let t=!0;if(this._codeEditor.getOption(41).seedSearchStringFromSelection&&e){const i=this._codeEditor.getDomNode();if(i){const n=Qs(i),s=this._codeEditor.getScrolledVisiblePosition(e.getStartPosition()),r=n.left+(s?s.left:0),a=s?s.top:0;if(this._viewZone&&a<this._viewZone.heightInPx){e.endLineNumber>e.startLineNumber&&(t=!1);const c=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 Cw(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&&or(this._domNode)>sa){this._domNode.style.maxWidth=`${i-28-n-15}px`,this._replaceInput.width=or(this._findInput.domNode);return}if(sa+28+n>=i&&(r=!0),sa+28+n-Jg>=i&&(a=!0),sa+28+n-Jg>=i+50&&(s=!0),this._domNode.classList.toggle("collapsed-find-widget",s),this._domNode.classList.toggle("narrow-find-widget",a),this._domNode.classList.toggle("reduced-find-widget",r),!a&&!s&&(this._domNode.style.maxWidth=`${i-28-n-15}px`),this._findInput.layout({collapsedFindWidget:s,narrowFindWidget:a,reducedFindWidget:r}),this._resized){const c=this._findInput.inputBox.element.clientWidth;c>0&&(this._replaceInput.width=c)}else this._isReplaceVisible&&(this._replaceInput.width=or(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&&!z.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(hI|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 uI(e,this._findInput.getValue(),this._findInput.domNode.querySelector("textarea"));if(e.equals(18))return gI(e,this._findInput.getValue(),this._findInput.domNode.querySelector("textarea"))}_onReplaceInputKeyDown(e){if(e.equals(hI|3))if(this._keybindingService.dispatchEvent(e,e.target)){e.preventDefault();return}else{Zb&&Ig&&!this._ctrlEnterReplaceAllWarningPrompted&&(this._notificationService.info(y("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(dI,!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 uI(e,this._replaceInput.inputBox.value,this._replaceInput.inputBox.element.querySelector("textarea"));if(e.equals(18))return gI(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 bC(null,this._contextViewProvider,{width:kz,label:uz,placeholder:gz,appendCaseSensitiveLabel:this._keybindingLabelFor(gn.ToggleCaseSensitiveCommand),appendWholeWordsLabel:this._keybindingLabelFor(gn.ToggleWholeWordCommand),appendRegexLabel:this._keybindingLabelFor(gn.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:()=>rI(this._keybindingService),inputBoxStyles:GL,toggleStyles:KL},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()})),yO&&this._register(this._findInput.onMouseDown(g=>this._onFindInputMouseDown(g))),this._matchesCount=document.createElement("div"),this._matchesCount.className="matchesCount",this._updateMatchesCount();const i=this._register(nS());this._prevBtn=this._register(new qh({label:fz+this._keybindingLabelFor(gn.PreviousMatchFindAction),icon:cz,hoverDelegate:i,onTrigger:()=>{du(this._codeEditor.getAction(gn.PreviousMatchFindAction)).run().then(void 0,fn)}},this._hoverService)),this._nextBtn=this._register(new qh({label:pz+this._keybindingLabelFor(gn.NextMatchFindAction),icon:dz,hoverDelegate:i,onTrigger:()=>{du(this._codeEditor.getAction(gn.NextMatchFindAction)).run().then(void 0,fn)}},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 xE({icon:rz,title:mz+this._keybindingLabelFor(gn.ToggleSearchScopeCommand),isChecked:!1,hoverDelegate:i,inputActiveOptionBackground:id(E0),inputActiveOptionBorder:id(CE),inputActiveOptionForeground:id(SE)})),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 qh({label:_z+this._keybindingLabelFor(gn.CloseFindWidgetCommand),icon:LE,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 yC(null,void 0,{label:vz,placeholder:bz,appendPreserveCaseLabel:this._keybindingLabelFor(gn.TogglePreserveCaseCommand),history:[],flexibleHeight:!0,flexibleWidth:!0,flexibleMaxHeight:118,showHistoryHint:()=>rI(this._keybindingService),inputBoxStyles:GL,toggleStyles:KL},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(nS());this._replaceBtn=this._register(new qh({label:yz+this._keybindingLabelFor(gn.ReplaceOneAction),icon:az,hoverDelegate:r,onTrigger:()=>{this._controller.replace()},onKeyDown:g=>{g.equals(1026)&&(this._closeBtn.focus(),g.preventDefault())}},this._hoverService)),this._replaceAllBtn=this._register(new qh({label:wz+this._keybindingLabelFor(gn.ReplaceAllAction),icon:lz,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 qh({label:Sz,className:"codicon toggle left",onTrigger:()=>{this._state.change({isReplaceRevealed:!this._isReplaceVisible},!1),this._isReplaceVisible&&(this._replaceInput.width=or(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=hz,this._domNode.role="dialog",this._domNode.style.width=`${sa}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 au(this._domNode,this,{orientation:0,size:2})),this._resized=!1;let h=sa;this._register(this._resizeSash.onDidStart(()=>{h=or(this._domNode)})),this._register(this._resizeSash.onDidChange(g=>{this._resized=!0;const f=h+g.startX-g.currentX;if(f<sa)return;const p=parseFloat(wO(this._domNode).maxWidth)||0;f>p||(this._domNode.style.width=`${f}px`,this._isReplaceVisible&&(this._replaceInput.width=or(this._findInput.domNode)),this._findInput.inputBox.layout(),this._tryUpdateHeight())})),this._register(this._resizeSash.onDidReset(()=>{const g=or(this._domNode);if(g<sa)return;let f=sa;if(!this._resized||g===sa){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=or(this._findInput.domNode)),this._findInput.inputBox.layout()}))}updateAccessibilitySupport(){const e=this._codeEditor.getOption(2);this._findInput.setFocusInputOnOptionClick(e!==2)}};pb.ID="editor.contrib.findWidget";let wC=pb;class qh extends $p{constructor(e,t){super(),this._opts=e;let i="button";this._opts.className&&(i=i+" "+this._opts.className),this._opts.icon&&(i=i+" "+Ki.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??ry("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(...Ki.asClassNameArray(aI)),this._domNode.classList.add(...Ki.asClassNameArray(lI))):(this._domNode.classList.remove(...Ki.asClassNameArray(lI)),this._domNode.classList.add(...Ki.asClassNameArray(aI)))}}Qb((o,e)=>{const t=o.getColor(sE);t&&e.addRule(`.monaco-editor .findMatch { border: 1px ${qf(o.type)?"dotted":"solid"} ${t}; box-sizing: border-box; }`);const i=o.getColor(SO);i&&e.addRule(`.monaco-editor .findScope { border: 1px ${qf(o.type)?"dashed":"solid"} ${i}; }`);const n=o.getColor(al);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 tN=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},jo=function(o,e){return function(t,i){e(t,i,o)}},SC;const Dz=524288;function CC(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)<Dz)return o.getModel().getValueInRange(i)}return null}var Pd;let to=(Pd=class extends Ve{get editor(){return this._editor}static get(e){return e.getContribution(SC.ID)}constructor(e,t,i,n,s,r){super(),this._editor=e,this._findWidgetVisible=Sl.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 tz),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!!My.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=Kf(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=CC(this._editor,e.seedSearchStringFromSelection,e.seedSearchStringFromNonEmptySelection);n&&(this._state.isRegex?i.searchString=Kf(n):i.searchString=n)}else if(e.seedSearchStringFromSelection==="multiple"&&!e.updateSearchScope){const n=CC(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 Tf(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(y("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)}},SC=Pd,Pd.ID="editor.contrib.findController",Pd);to=SC=tN([jo(1,Vi),jo(2,Lc),jo(3,kg),jo(4,Ks),jo(5,Gp)],to);let xC=class extends to{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 wC(this._editor,this,this._state,this._contextViewService,this._keybindingService,this._contextKeyService,this._themeService,this._storageService,this._notificationService,this._hoverService)),this._findOptionsWidget=this._register(new vC(this._editor,this._state,this._keybindingService))}};xC=tN([jo(1,Jb),jo(2,Vi),jo(3,as),jo(4,Sr),jo(5,Ks),jo(6,Lc),jo(7,kg),jo(8,Gp)],xC);const Ez=kE(new IE({id:gn.StartFindAction,label:y("startFindAction","Find"),alias:"Find",precondition:ae.or(M.focus,ae.has("editorIsOpen")),kbOpts:{kbExpr:null,primary:2084,weight:100},menuOpts:{menuId:lt.MenubarEditMenu,group:"3_find",title:y({key:"miFind",comment:["&& denotes a mnemonic"]},"&&Find"),order:1}}));Ez.addImplementation(0,(o,e,t)=>{const i=to.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 Pz={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 Tz extends Se{constructor(){super({id:gn.StartFindWithArgs,label:y("startFindWithArgsAction","Find With Arguments"),alias:"Find With Arguments",precondition:void 0,kbOpts:{kbExpr:null,primary:0,weight:100},metadata:Pz})}async run(e,t,i){const n=to.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 Mz extends Se{constructor(){super({id:gn.StartFindWithSelection,label:y("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=to.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 iN extends Se{async run(e,t){const i=to.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 Nz extends iN{constructor(){super({id:gn.NextMatchFindAction,label:y("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,My),primary:3,weight:100}]})}_run(e){return e.moveToNextMatch()?(e.editor.pushUndoStop(),!0):!1}}class Rz extends iN{constructor(){super({id:gn.PreviousMatchFindAction,label:y("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,My),primary:1027,weight:100}]})}_run(e){return e.moveToPrevMatch()}}class Az extends Se{constructor(){super({id:gn.GoToMatchFindAction,label:y("findMatchAction.goToMatch","Go to Match..."),alias:"Go to Match...",precondition:Sl}),this._highlightDecorations=[]}run(e,t,i){const n=to.get(t);if(!n)return;const s=n.getState().matchesCount;if(s<1){e.get(Ks).notify({severity:F0.Warning,message:y("findMatchAction.noResults","No matches. Try searching for something else.")});return}const r=e.get(ml),a=new He,c=a.add(r.createInputBox());c.placeholder=y("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=y("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=y("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:ls(DE),position:xa.Full}}}])})}}class nN extends Se{async run(e,t){const i=to.get(t);if(!i)return;const n=CC(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 Oz extends nN{constructor(){super({id:gn.NextSelectionMatchFindAction,label:y("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 Fz extends nN{constructor(){super({id:gn.PreviousSelectionMatchFindAction,label:y("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 Hz=kE(new IE({id:gn.StartFindReplaceAction,label:y("startReplace","Replace"),alias:"Replace",precondition:ae.or(M.focus,ae.has("editorIsOpen")),kbOpts:{kbExpr:null,primary:2086,mac:{primary:2596},weight:100},menuOpts:{menuId:lt.MenubarEditMenu,group:"3_find",title:y({key:"miReplace",comment:["&& denotes a mnemonic"]},"&&Replace"),order:2}}));Hz.addImplementation(0,(o,e,t)=>{if(!e.hasModel()||e.getOption(92))return!1;const i=to.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})});bi(to.ID,xC,0);ne(Tz);ne(Mz);ne(Nz);ne(Rz);ne(Az);ne(Oz);ne(Fz);const Jr=no.bindToContribution(to.get);Mt(new Jr({id:gn.CloseFindWidgetCommand,precondition:Sl,handler:o=>o.closeFindWidget(),kbOpts:{weight:105,kbExpr:ae.and(M.focus,ae.not("isComposing")),primary:9,secondary:[1033]}}));Mt(new Jr({id:gn.ToggleCaseSensitiveCommand,precondition:void 0,handler:o=>o.toggleCaseSensitive(),kbOpts:{weight:105,kbExpr:M.focus,primary:Wm.primary,mac:Wm.mac,win:Wm.win,linux:Wm.linux}}));Mt(new Jr({id:gn.ToggleWholeWordCommand,precondition:void 0,handler:o=>o.toggleWholeWords(),kbOpts:{weight:105,kbExpr:M.focus,primary:Bm.primary,mac:Bm.mac,win:Bm.win,linux:Bm.linux}}));Mt(new Jr({id:gn.ToggleRegexCommand,precondition:void 0,handler:o=>o.toggleRegex(),kbOpts:{weight:105,kbExpr:M.focus,primary:zm.primary,mac:zm.mac,win:zm.win,linux:zm.linux}}));Mt(new Jr({id:gn.ToggleSearchScopeCommand,precondition:void 0,handler:o=>o.toggleSearchScope(),kbOpts:{weight:105,kbExpr:M.focus,primary:Vm.primary,mac:Vm.mac,win:Vm.win,linux:Vm.linux}}));Mt(new Jr({id:gn.TogglePreserveCaseCommand,precondition:void 0,handler:o=>o.togglePreserveCase(),kbOpts:{weight:105,kbExpr:M.focus,primary:jm.primary,mac:jm.mac,win:jm.win,linux:jm.linux}}));Mt(new Jr({id:gn.ReplaceOneAction,precondition:Sl,handler:o=>o.replace(),kbOpts:{weight:105,kbExpr:M.focus,primary:3094}}));Mt(new Jr({id:gn.ReplaceOneAction,precondition:Sl,handler:o=>o.replace(),kbOpts:{weight:105,kbExpr:ae.and(M.focus,P1),primary:3}}));Mt(new Jr({id:gn.ReplaceAllAction,precondition:Sl,handler:o=>o.replaceAll(),kbOpts:{weight:105,kbExpr:M.focus,primary:2563}}));Mt(new Jr({id:gn.ReplaceAllAction,precondition:Sl,handler:o=>o.replaceAll(),kbOpts:{weight:105,kbExpr:ae.and(M.focus,P1),primary:void 0,mac:{primary:2051}}}));Mt(new Jr({id:gn.SelectAllMatchesAction,precondition:Sl,handler:o=>o.selectAllMatches(),kbOpts:{weight:105,kbExpr:M.focus,primary:515}}));const Wz={0:" ",1:"u",2:"r"},fI=65535,Ar=16777215,pI=4278190080;class xw{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 Io{constructor(e,t,i){if(e.length!==t.length||e.length>fI)throw new Error("invalid startIndexes or endIndexes size");this._startIndexes=e,this._endIndexes=t,this._collapseStates=new xw(e.length),this._userDefinedStates=new xw(e.length),this._recoveredStates=new xw(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>Ar||r>Ar)throw new Error("startLineNumber or endLineNumber must not exceed "+Ar);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]&Ar}getEndLineNumber(e){return this._endIndexes[e]&Ar}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 Bz(this,e)}getParentIndex(e){this.ensureParentIndices();const t=((this._startIndexes[e]&pI)>>>24)+((this._endIndexes[e]&pI)>>>16);return t===fI?-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]=`[${Wz[this.getSource(t)]}${this.isCollapsed(t)?"+":"-"}] ${this.getStartLineNumber(t)}/${this.getEndLineNumber(t)}`;return e.join(", ")}toFoldRange(e){return{startLineNumber:this._startIndexes[e]&Ar,endLineNumber:this._endIndexes[e]&Ar,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 Io(i,n,s);for(let c=0;c<t;c++)e[c].isCollapsed&&a.setCollapsed(c,!0),a.setSource(c,e[c].source);return a}static sanitizeAndMerge(e,t,i,n){i=i??Number.MAX_VALUE;const s=(S,D)=>Array.isArray(S)?(P=>P<D?S[P]:void 0):(P=>P<D?S.toFoldRange(P):void 0),r=s(e,e.length),a=s(t,t.length);let c=0,h=0,g=r(0),f=a(0);const p=[];let v,_=0;const w=[];for(;g||f;){let S;if(f&&(!g||g.startLineNumber>=f.startLineNumber))g&&g.startLineNumber===f.startLineNumber?(f.source===1?S=f:(S=g,S.isCollapsed=f.isCollapsed&&(g.endLineNumber===f.endLineNumber||!(n!=null&&n.startsInside(g.startLineNumber+1,g.endLineNumber+1))),S.source=0),g=r(++c)):(S=f,f.isCollapsed&&f.source===0&&(S.source=2)),f=a(++h);else{let D=h,P=f;for(;;){if(!P||P.startLineNumber>g.endLineNumber){S=g;break}if(P.source===1&&P.endLineNumber>g.endLineNumber)break;P=a(++D)}g=r(++c)}if(S){for(;v&&v.endLineNumber<S.startLineNumber;)v=p.pop();S.endLineNumber>S.startLineNumber&&S.startLineNumber>_&&S.endLineNumber<=i&&(!v||v.endLineNumber>=S.endLineNumber)&&(w.push(S),_=S.startLineNumber,v&&p.push(v),v=S)}}return w}}class Bz{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 zz{get regions(){return this._regions}get textModel(){return this._textModel}constructor(e,t){this._updateEventEmitter=new pi,this.onDidChange=this._updateEventEmitter.event,this._textModel=e,this._decorationProvider=t,this._regions=new Io(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(Io.fromFoldRanges(t))}update(e,t){const i=this._currentFoldedOrManualRanges(t),n=Io.sanitizeAndMerge(e,i,this._textModel.getLineCount(),t);this.updatePost(Io.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=Io.sanitizeAndMerge(this._regions,t,i);this.updatePost(Io.fromFoldRanges(n))}_getLinesChecksum(e,t){return EE(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 N1(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 Ag(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 sN(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 Vz(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 jz(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 oN(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 R1(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 A1(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 Uz(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 $z(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 qz(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 Kz{get onDidChange(){return this._updateEventEmitter.event}get hiddenRanges(){return this._hiddenRanges}constructor(e){this._updateEventEmitter=new pi,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 z(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 mI(this._hiddenRanges,e)!==null}adjustSelections(e){let t=!1;const i=this._foldingModel.textModel;let n=null;const s=r=>((!n||!Gz(r,n))&&(n=mI(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 Gz(o,e){return o>=e.startLineNumber&&o<=e.endLineNumber}function mI(o,e){const t=yE(o,i=>e<i.startLineNumber)-1;return t>=0&&o[t].endLineNumber>=e?o[t]:null}const Zz=5e3,Xz="indent";class O1{constructor(e,t,i){this.editorModel=e,this.languageConfigurationService=t,this.foldingRangesLimit=i,this.id=Xz}dispose(){}compute(e){const t=this.languageConfigurationService.getLanguageConfiguration(this.editorModel.getLanguageId()).foldingRules,i=t&&!!t.offSide,n=t&&t.markers;return Promise.resolve(Qz(this.editorModel,i,n,this.foldingRangesLimit))}}let Yz=class{constructor(e){this._startIndexes=[],this._endIndexes=[],this._indentOccurrences=[],this._length=0,this._foldingRangesLimit=e}insertFirst(e,t,i){if(e>Ar||t>Ar)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 Io(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=L0(f,s);(p<n||p===n&&i++<t)&&(r[h]=g,a[h]=this._endIndexes[c],h++)}return new Io(r,a)}}};const Jz={limit:Zz,update:()=>{}};function Qz(o,e,t,i=Jz){const n=o.getOptions().tabSize,s=new Yz(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=L0(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 eV=_t("editor.foldBackground",{light:ka(ZL,.3),dark:ka(ZL,.3),hcDark:null,hcLight:null},y("foldBackgroundBackground","Background color behind folded ranges. The color must not be opaque so as not to hide underlying decorations."),!0);_t("editor.foldPlaceholderForeground",{light:"#808080",dark:"#808080",hcDark:null,hcLight:null},y("collapsedTextColor","Color of the collapsed text after the first line of a folded range."));_t("editorGutter.foldingControlForeground",kO,y("editorGutter.foldingControlForeground","Color of the folding control in the editor gutter."));const uv=Qn("folding-expanded",Yt.chevronDown,y("foldingExpandedIcon","Icon for expanded ranges in the editor glyph margin.")),gv=Qn("folding-collapsed",Yt.chevronRight,y("foldingCollapsedIcon","Icon for collapsed ranges in the editor glyph margin.")),_I=Qn("folding-manual-collapsed",gv,y("foldingManualCollapedIcon","Icon for manually collapsed ranges in the editor glyph margin.")),vI=Qn("folding-manual-expanded",uv,y("foldingManualExpandedIcon","Icon for manually expanded ranges in the editor glyph margin.")),Lw={color:ls(eV),position:1},Kh=y("linesCollapsed","Click to expand the range."),qm=y("linesExpanded","Click to collapse the range."),ts=class ts{constructor(e){this.editor=e,this.showFoldingControls="mouseover",this.showFoldingHighlights=!0}getDecorationOption(e,t,i){return t?ts.HIDDEN_RANGE_DECORATION:this.showFoldingControls==="never"?e?this.showFoldingHighlights?ts.NO_CONTROLS_COLLAPSED_HIGHLIGHTED_RANGE_DECORATION:ts.NO_CONTROLS_COLLAPSED_RANGE_DECORATION:ts.NO_CONTROLS_EXPANDED_RANGE_DECORATION:e?i?this.showFoldingHighlights?ts.MANUALLY_COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION:ts.MANUALLY_COLLAPSED_VISUAL_DECORATION:this.showFoldingHighlights?ts.COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION:ts.COLLAPSED_VISUAL_DECORATION:this.showFoldingControls==="mouseover"?i?ts.MANUALLY_EXPANDED_AUTO_HIDE_VISUAL_DECORATION:ts.EXPANDED_AUTO_HIDE_VISUAL_DECORATION:i?ts.MANUALLY_EXPANDED_VISUAL_DECORATION:ts.EXPANDED_VISUAL_DECORATION}changeDecorations(e){return this.editor.changeDecorations(e)}removeDecorations(e){this.editor.removeDecorations(e)}};ts.COLLAPSED_VISUAL_DECORATION=Di.register({description:"folding-collapsed-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:!0,linesDecorationsTooltip:Kh,firstLineDecorationClassName:Ki.asClassName(gv)}),ts.COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION=Di.register({description:"folding-collapsed-highlighted-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",className:"folded-background",minimap:Lw,isWholeLine:!0,linesDecorationsTooltip:Kh,firstLineDecorationClassName:Ki.asClassName(gv)}),ts.MANUALLY_COLLAPSED_VISUAL_DECORATION=Di.register({description:"folding-manually-collapsed-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:!0,linesDecorationsTooltip:Kh,firstLineDecorationClassName:Ki.asClassName(_I)}),ts.MANUALLY_COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION=Di.register({description:"folding-manually-collapsed-highlighted-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",className:"folded-background",minimap:Lw,isWholeLine:!0,linesDecorationsTooltip:Kh,firstLineDecorationClassName:Ki.asClassName(_I)}),ts.NO_CONTROLS_COLLAPSED_RANGE_DECORATION=Di.register({description:"folding-no-controls-range-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:!0,linesDecorationsTooltip:Kh}),ts.NO_CONTROLS_COLLAPSED_HIGHLIGHTED_RANGE_DECORATION=Di.register({description:"folding-no-controls-range-decoration",stickiness:0,afterContentClassName:"inline-folded",className:"folded-background",minimap:Lw,isWholeLine:!0,linesDecorationsTooltip:Kh}),ts.EXPANDED_VISUAL_DECORATION=Di.register({description:"folding-expanded-visual-decoration",stickiness:1,isWholeLine:!0,firstLineDecorationClassName:"alwaysShowFoldIcons "+Ki.asClassName(uv),linesDecorationsTooltip:qm}),ts.EXPANDED_AUTO_HIDE_VISUAL_DECORATION=Di.register({description:"folding-expanded-auto-hide-visual-decoration",stickiness:1,isWholeLine:!0,firstLineDecorationClassName:Ki.asClassName(uv),linesDecorationsTooltip:qm}),ts.MANUALLY_EXPANDED_VISUAL_DECORATION=Di.register({description:"folding-manually-expanded-visual-decoration",stickiness:0,isWholeLine:!0,firstLineDecorationClassName:"alwaysShowFoldIcons "+Ki.asClassName(vI),linesDecorationsTooltip:qm}),ts.MANUALLY_EXPANDED_AUTO_HIDE_VISUAL_DECORATION=Di.register({description:"folding-manually-expanded-auto-hide-visual-decoration",stickiness:0,isWholeLine:!0,firstLineDecorationClassName:Ki.asClassName(vI),linesDecorationsTooltip:qm}),ts.NO_CONTROLS_EXPANDED_RANGE_DECORATION=Di.register({description:"folding-no-controls-range-decoration",stickiness:0,isWholeLine:!0}),ts.HIDDEN_RANGE_DECORATION=Di.register({description:"folding-hidden-range-decoration",stickiness:1});let LC=ts;const tV={},iV="syntax";class F1{constructor(e,t,i,n,s){this.editorModel=e,this.providers=t,this.handleFoldingRangesChange=i,this.foldingRangesLimit=n,this.fallbackRangeProvider=s,this.id=iV,this.disposables=new He,s&&this.disposables.add(s);for(const r of t)typeof r.onDidChange=="function"&&this.disposables.add(r.onDidChange(i))}compute(e){return nV(this.providers,this.editorModel,e).then(t=>{var i;return t?oV(t,this.foldingRangesLimit):((i=this.fallbackRangeProvider)==null?void 0:i.compute(e))??null})}dispose(){this.disposables.dispose()}}function nV(o,e,t){let i=null;const n=o.map((s,r)=>Promise.resolve(s.provideFoldingRanges(e,tV,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})}},is));return Promise.all(n).then(s=>i)}class sV{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>Ar||t>Ar)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 Io(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 Io(n,s,r)}}}function oV(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 sV(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 rV=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(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)}},Bc;const xs=new Ri("foldingEnabled",!1);var Td;let wc=(Td=class extends Ve{static get(e){return e.getContribution(Bc.ID)}static getFoldingRangeProviders(e,t){var n;const i=e.foldingRangeProvider.ordered(t);return((n=Bc._foldingRangeSelector)==null?void 0:n.call(Bc,i,t))??i}constructor(e,t,i,n,s,r){super(),this.contextKeyService=t,this.languageConfigurationService=i,this.languageFeaturesService=r,this.localToDispose=this._register(new He),this.editor=e,this._foldingLimitReporter=new rN(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 LC(e),this.foldingDecorationProvider.showFoldingControls=a.get(111),this.foldingDecorationProvider.showFoldingHighlights=a.get(45),this.foldingEnabled=xs.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 zz(e,this.foldingDecorationProvider),this.localToDispose.add(this.foldingModel),this.hiddenRangeModel=new Kz(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 hs(()=>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 O1(e,this.languageConfigurationService,this._foldingLimitReporter);if(this.rangeProvider=t,this._useFoldingProviders&&this.foldingModel){const i=Bc.getFoldingRangeProviders(this.languageFeaturesService,e);i.length>0&&(this.rangeProvider=new F1(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 vo,i=this.getRangeProvider(e.textModel),n=this.foldingRegionPromise=ys(s=>i.compute(s));return n.then(s=>{if(s&&n===this.foldingRegionPromise){let r;if(this._foldingImportsByDefault&&!this._currentModelHasFoldedImports){const h=s.setCollapsedAllOfType(Jp.Imports.value,!0);h&&(r=Ju.capture(this.editor),this._currentModelHasFoldedImports=h)}const a=this.editor.getSelections();e.update(s,aV(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=>(fn(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,fn)}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)}},Bc=Td,Td.ID="editor.contrib.folding",Td);wc=Bc=rV([Qg(1,Vi),Qg(2,_s),Qg(3,Ks),Qg(4,Zo),Qg(5,It)],wc);class rN{constructor(e){this.editor=e,this._onDidChange=new pi,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 Es extends Se{runEditorCommand(e,t,i){const n=e.get(_s),s=wc.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 aV(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 aN(o){if(!rf(o)){if(!PE(o))return!1;const e=o;if(!rf(e.levels)&&!XL(e.levels)||!rf(e.direction)&&!iE(e.direction)||!rf(e.selectionLines)&&(!Array.isArray(e.selectionLines)||!e.selectionLines.every(XL)))return!1}return!0}class lV extends Es{constructor(){super({id:"editor.unfold",label:y("unfoldAction.label","Unfold"),alias:"Unfold",precondition:xs,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:aN,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"?sN(t,!1,s,r):Ag(t,!1,s,r)}}class cV extends Es{constructor(){super({id:"editor.unfoldRecursively",label:y("unFoldRecursivelyAction.label","Unfold Recursively"),alias:"Unfold Recursively",precondition:xs,kbOpts:{kbExpr:M.editorTextFocus,primary:rs(2089,2142),weight:100}})}invoke(e,t,i,n){Ag(t,!1,Number.MAX_VALUE,this.getSelectedLines(i))}}class dV extends Es{constructor(){super({id:"editor.fold",label:y("foldAction.label","Fold"),alias:"Fold",precondition:xs,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:aN,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"?Vz(t,!0,s):a==="up"?sN(t,!0,r||1,s):Ag(t,!0,r||1,s)}}class hV extends Es{constructor(){super({id:"editor.toggleFold",label:y("toggleFoldAction.label","Toggle Fold"),alias:"Toggle Fold",precondition:xs,kbOpts:{kbExpr:M.editorTextFocus,primary:rs(2089,2090),weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);N1(t,1,n)}}class uV extends Es{constructor(){super({id:"editor.foldRecursively",label:y("foldRecursivelyAction.label","Fold Recursively"),alias:"Fold Recursively",precondition:xs,kbOpts:{kbExpr:M.editorTextFocus,primary:rs(2089,2140),weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);Ag(t,!0,Number.MAX_VALUE,n)}}class gV extends Es{constructor(){super({id:"editor.toggleFoldRecursively",label:y("toggleFoldRecursivelyAction.label","Toggle Fold Recursively"),alias:"Toggle Fold Recursively",precondition:xs,kbOpts:{kbExpr:M.editorTextFocus,primary:rs(2089,3114),weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);N1(t,Number.MAX_VALUE,n)}}class fV extends Es{constructor(){super({id:"editor.foldAllBlockComments",label:y("foldAllBlockComments.label","Fold All Block Comments"),alias:"Fold All Block Comments",precondition:xs,kbOpts:{kbExpr:M.editorTextFocus,primary:rs(2089,2138),weight:100}})}invoke(e,t,i,n,s){if(t.regions.hasTypes())A1(t,Jp.Comment.value,!0);else{const r=i.getModel();if(!r)return;const a=s.getLanguageConfiguration(r.getLanguageId()).comments;if(a&&a.blockCommentStartToken){const c=new RegExp("^\\s*"+Kf(a.blockCommentStartToken));R1(t,c,!0)}}}}class pV extends Es{constructor(){super({id:"editor.foldAllMarkerRegions",label:y("foldAllMarkerRegions.label","Fold All Regions"),alias:"Fold All Regions",precondition:xs,kbOpts:{kbExpr:M.editorTextFocus,primary:rs(2089,2077),weight:100}})}invoke(e,t,i,n,s){if(t.regions.hasTypes())A1(t,Jp.Region.value,!0);else{const r=i.getModel();if(!r)return;const a=s.getLanguageConfiguration(r.getLanguageId()).foldingRules;if(a&&a.markers&&a.markers.start){const c=new RegExp(a.markers.start);R1(t,c,!0)}}}}class mV extends Es{constructor(){super({id:"editor.unfoldAllMarkerRegions",label:y("unfoldAllMarkerRegions.label","Unfold All Regions"),alias:"Unfold All Regions",precondition:xs,kbOpts:{kbExpr:M.editorTextFocus,primary:rs(2089,2078),weight:100}})}invoke(e,t,i,n,s){if(t.regions.hasTypes())A1(t,Jp.Region.value,!1);else{const r=i.getModel();if(!r)return;const a=s.getLanguageConfiguration(r.getLanguageId()).foldingRules;if(a&&a.markers&&a.markers.start){const c=new RegExp(a.markers.start);R1(t,c,!1)}}}}class _V extends Es{constructor(){super({id:"editor.foldAllExcept",label:y("foldAllExcept.label","Fold All Except Selected"),alias:"Fold All Except Selected",precondition:xs,kbOpts:{kbExpr:M.editorTextFocus,primary:rs(2089,2136),weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);oN(t,!0,n)}}class vV extends Es{constructor(){super({id:"editor.unfoldAllExcept",label:y("unfoldAllExcept.label","Unfold All Except Selected"),alias:"Unfold All Except Selected",precondition:xs,kbOpts:{kbExpr:M.editorTextFocus,primary:rs(2089,2134),weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);oN(t,!1,n)}}class bV extends Es{constructor(){super({id:"editor.foldAll",label:y("foldAllAction.label","Fold All"),alias:"Fold All",precondition:xs,kbOpts:{kbExpr:M.editorTextFocus,primary:rs(2089,2069),weight:100}})}invoke(e,t,i){Ag(t,!0)}}class yV extends Es{constructor(){super({id:"editor.unfoldAll",label:y("unfoldAllAction.label","Unfold All"),alias:"Unfold All",precondition:xs,kbOpts:{kbExpr:M.editorTextFocus,primary:rs(2089,2088),weight:100}})}invoke(e,t,i){Ag(t,!1)}}const wu=class wu extends Es{getFoldingLevel(){return parseInt(this.id.substr(wu.ID_PREFIX.length))}invoke(e,t,i){jz(t,this.getFoldingLevel(),!0,this.getSelectedLines(i))}};wu.ID_PREFIX="editor.foldLevel",wu.ID=e=>wu.ID_PREFIX+e;let fv=wu;class wV extends Es{constructor(){super({id:"editor.gotoParentFold",label:y("gotoParentFold.label","Go to Parent Fold"),alias:"Go to Parent Fold",precondition:xs,kbOpts:{kbExpr:M.editorTextFocus,weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);if(n.length>0){const s=Uz(n[0],t);s!==null&&i.setSelection({startLineNumber:s,startColumn:1,endLineNumber:s,endColumn:1})}}}class SV extends Es{constructor(){super({id:"editor.gotoPreviousFold",label:y("gotoPreviousFold.label","Go to Previous Folding Range"),alias:"Go to Previous Folding Range",precondition:xs,kbOpts:{kbExpr:M.editorTextFocus,weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);if(n.length>0){const s=$z(n[0],t);s!==null&&i.setSelection({startLineNumber:s,startColumn:1,endLineNumber:s,endColumn:1})}}}class CV extends Es{constructor(){super({id:"editor.gotoNextFold",label:y("gotoNextFold.label","Go to Next Folding Range"),alias:"Go to Next Folding Range",precondition:xs,kbOpts:{kbExpr:M.editorTextFocus,weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);if(n.length>0){const s=qz(n[0],t);s!==null&&i.setSelection({startLineNumber:s,startColumn:1,endLineNumber:s,endColumn:1})}}}class xV extends Es{constructor(){super({id:"editor.createFoldingRangeFromSelection",label:y("createManualFoldRange.label","Create Folding Range from Selection"),alias:"Create Folding Range from Selection",precondition:xs,kbOpts:{kbExpr:M.editorTextFocus,primary:rs(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=Io.sanitizeAndMerge(t.regions,n,(r=i.getModel())==null?void 0:r.getLineCount());t.updatePost(Io.fromFoldRanges(a))}}}}class LV extends Es{constructor(){super({id:"editor.removeManualFoldingRanges",label:y("removeManualFoldingRanges.label","Remove Manual Folding Ranges"),alias:"Remove Manual Folding Ranges",precondition:xs,kbOpts:{kbExpr:M.editorTextFocus,primary:rs(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()}}}bi(wc.ID,wc,0);ne(lV);ne(cV);ne(dV);ne(uV);ne(gV);ne(bV);ne(yV);ne(fV);ne(pV);ne(mV);ne(_V);ne(vV);ne(hV);ne(wV);ne(SV);ne(CV);ne(xV);ne(LV);for(let o=1;o<=7;o++)IO(new fv({id:fv.ID(o),label:y("foldLevelAction.label","Fold Level {0}",o),alias:`Fold Level ${o}`,precondition:xs,kbOpts:{kbExpr:M.editorTextFocus,primary:rs(2089,2048|21+o),weight:100}}));wn.registerCommand("_executeFoldingRangeProvider",async function(o,...e){const[t]=e;if(!(t instanceof cn))throw tl();const i=o.get(It),n=o.get(Gs).getModel(t);if(!n)throw tl();const s=o.get(Pn);if(!s.getValue("editor.folding",{resource:t}))return[];const r=o.get(_s),a=s.getValue("editor.foldingStrategy",{resource:t}),c={get limit(){return s.getValue("editor.foldingMaximumRegions",{resource:t})},update:(v,_)=>{}},h=new O1(n,r,c);let g=h;if(a!=="indentation"){const v=wc.getFoldingRangeProviders(i,n);v.length&&(g=new F1(n,v,()=>{},c,h))}const f=await g.compute(mi.None),p=[];try{if(f)for(let v=0;v<f.length;v++){const _=f.getType(v);p.push({start:f.getStartLineNumber(v),end:f.getEndLineNumber(v),kind:_?Jp.fromValue(_):void 0})}return p}finally{g.dispose()}});class kV extends Se{constructor(){super({id:"editor.action.fontZoomIn",label:y("EditorFontZoomIn.label","Increase Editor Font Size"),alias:"Increase Editor Font Size",precondition:void 0})}run(e,t){Qf.setZoomLevel(Qf.getZoomLevel()+1)}}class IV extends Se{constructor(){super({id:"editor.action.fontZoomOut",label:y("EditorFontZoomOut.label","Decrease Editor Font Size"),alias:"Decrease Editor Font Size",precondition:void 0})}run(e,t){Qf.setZoomLevel(Qf.getZoomLevel()-1)}}class DV extends Se{constructor(){super({id:"editor.action.fontZoomReset",label:y("EditorFontZoomReset.label","Reset Editor Font Size"),alias:"Reset Editor Font Size",precondition:void 0})}run(e,t){Qf.setZoomLevel(0)}}ne(kV);ne(IV);ne(DV);var lN=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Mf=function(o,e){return function(t,i){e(t,i,o)}},Bu;let pv=(Bu=class{constructor(e,t,i,n){this._editor=e,this._languageFeaturesService=t,this._workerService=i,this._accessibilitySignalService=n,this._disposables=new He,this._sessionDisposables=new He,this._disposables.add(t.onTypeFormattingEditProvider.onDidChange(this._update,this)),this._disposables.add(e.onDidChangeModel(()=>this._update())),this._disposables.add(e.onDidChangeModelLanguage(()=>this._update())),this._disposables.add(e.onDidChangeConfiguration(s=>{s.hasChanged(56)&&this._update()})),this._update()}dispose(){this._disposables.dispose(),this._sessionDisposables.dispose()}_update(){if(this._sessionDisposables.clear(),!this._editor.getOption(56)||!this._editor.hasModel())return;const e=this._editor.getModel(),[t]=this._languageFeaturesService.onTypeFormattingEditProvider.ordered(e);if(!t||!t.autoFormatTriggerCharacters)return;const i=new F_;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 ws,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||Eo(r)&&(this._accessibilitySignalService.playSignal(ME.format,{userGesture:!1}),EO.execute(this._editor,r,!0))}).finally(()=>{s.dispose()})}},Bu.ID="editor.contrib.autoFormat",Bu);pv=lN([Mf(1,It),Mf(2,bl),Mf(3,TE)],pv);var zu;let mv=(zu=class{constructor(e,t,i){this.editor=e,this._languageFeaturesService=t,this._instantiationService=i,this._callOnDispose=new He,this._callOnModel=new He,this._callOnDispose.add(e.onDidChangeConfiguration(()=>this._update())),this._callOnDispose.add(e.onDidChangeModel(()=>this._update())),this._callOnDispose.add(e.onDidChangeModelLanguage(()=>this._update())),this._callOnDispose.add(t.documentRangeFormattingEditProvider.onDidChange(this._update,this))}dispose(){this._callOnDispose.dispose(),this._callOnModel.dispose()}_update(){this._callOnModel.clear(),this.editor.getOption(55)&&this.editor.hasModel()&&this._languageFeaturesService.documentRangeFormattingEditProvider.has(this.editor.getModel())&&this._callOnModel.add(this.editor.onDidPaste(({range:e})=>this._trigger(e)))}_trigger(e){this.editor.hasModel()&&(this.editor.getSelections().length>1||this._instantiationService.invokeFunction(NE,this.editor,e,2,Za.None,mi.None,!1).catch(fn))}},zu.ID="editor.contrib.formatOnPaste",zu);mv=lN([Mf(1,It),Mf(2,hi)],mv);class EV extends Se{constructor(){super({id:"editor.action.formatDocument",label:y("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(hi);await e.get(Vp).showWhile(i.invokeFunction(PO,t,1,Za.None,mi.None,!0),250)}}}class PV extends Se{constructor(){super({id:"editor.action.formatSelection",label:y("formatSelection.label","Format Selection"),alias:"Format Selection",precondition:ae.and(M.writable,M.hasDocumentSelectionFormattingProvider),kbOpts:{kbExpr:M.editorTextFocus,primary:rs(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(hi),n=t.getModel(),s=t.getSelections().map(a=>a.isEmpty()?new z(a.startLineNumber,1,a.startLineNumber,n.getLineMaxColumn(a.startLineNumber)):a);await e.get(Vp).showWhile(i.invokeFunction(NE,t,s,1,Za.None,mi.None,!0),250)}}bi(pv.ID,pv,2);bi(mv.ID,mv,2);ne(EV);ne(PV);wn.registerCommand("editor.action.format",async o=>{const e=o.get(ns).getFocusedCodeEditor();if(!e||!e.hasModel())return;const t=o.get(ms);e.getSelection().isEmpty()?await t.executeCommand("editor.action.formatDocument"):await t.executeCommand("editor.action.formatSelection")});var TV=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},kw=function(o,e){return function(t,i){e(t,i,o)}};class pu{remove(){var e;(e=this.parent)==null||e.children.delete(this.id)}static findId(e,t){let i;typeof e=="string"?i=`${t.id}/${e}`:(i=`${t.id}/${e.name}`,t.children.get(i)!==void 0&&(i=`${t.id}/${e.name}_${e.range.startLineNumber}_${e.range.startColumn}`));let n=i;for(let s=0;t.children.get(n)!==void 0;s++)n=`${i}_${s}`;return n}static empty(e){return e.children.size===0}}class kC extends pu{constructor(e,t,i){super(),this.id=e,this.parent=t,this.symbol=i,this.children=new Map}}class cN extends pu{constructor(e,t,i,n){super(),this.id=e,this.parent=t,this.label=i,this.order=n,this.children=new Map}}class ja extends pu{static create(e,t,i){const n=new ws(i),s=new ja(t.uri),r=e.ordered(t),a=r.map((h,g)=>{const f=pu.findId(`provider_${g}`,s),p=new cN(f,s,h.displayName??"Unknown Outline Provider",g);return Promise.resolve(h.provideDocumentSymbols(t,n.token)).then(v=>{for(const _ of v||[])ja._makeOutlineElement(_,p);return p},v=>(is(v),p)).then(v=>{pu.empty(v)?v.remove():s._groups.set(f,v)})}),c=e.onDidChange(()=>{const h=e.ordered(t);Da(h,r)||n.cancel()});return Promise.all(a).then(()=>n.token.isCancellationRequested&&!i.isCancellationRequested?ja.create(e,t,i):s._compact()).finally(()=>{n.dispose(),c.dispose(),n.dispose()})}static _makeOutlineElement(e,t){const i=pu.findId(e,t),n=new kC(i,t,e);if(e.children)for(const s of e.children)ja._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=el.first(this._groups.values());for(const[,i]of t.children)i.parent=this,this.children.set(i.id,i)}return this}getTopLevelSymbols(){const e=[];for(const t of this.children.values())t instanceof kC?e.push(t.symbol):e.push(...el.map(t.children.values(),i=>i.symbol));return e.sort((t,i)=>z.compareRangesUsingStarts(t.range,i.range))}asListOfDocumentSymbols(){const e=this.getTopLevelSymbols(),t=[];return ja._flattenDocumentSymbols(t,e,""),t.sort((i,n)=>kt.compare(z.getStartPosition(i.range),z.getStartPosition(n.range))||kt.compare(z.getEndPosition(n.range),z.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&&ja._flattenDocumentSymbols(e,n.children,n.name)}}const um=_l("IOutlineModelService");let IC=class{constructor(e,t,i){this._languageFeaturesService=e,this._disposables=new He,this._cache=new Up(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()||!Da(s.provider,n)){const a=new ws;s={versionId:e.getVersionId(),provider:n,promiseCnt:0,source:a,promise:ja.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()}}};IC=TV([kw(0,It),kw(1,Zo),kw(2,Gs)],IC);vl(um,IC,1);wn.registerCommand("_executeDocumentSymbolProvider",async function(o,...e){const[t]=e;Ui(cn.isUri(t));const i=o.get(um),s=await o.get(Yr).createModelReference(t);try{return(await i.getOrCreate(s.object.textEditorModel,mi.None)).getTopLevelSymbols()}finally{s.dispose()}});const ca=class ca extends Ve{constructor(e,t){super(),this.contextKeyService=e,this.model=t,this.inlineCompletionVisible=ca.inlineSuggestionVisible.bindTo(this.contextKeyService),this.inlineCompletionSuggestsIndentation=ca.inlineSuggestionHasIndentation.bindTo(this.contextKeyService),this.inlineCompletionSuggestsIndentationLessThanTabSize=ca.inlineSuggestionHasIndentationLessThanTabSize.bindTo(this.contextKeyService),this.suppressSuggestions=ca.suppressSuggestions.bindTo(this.contextKeyService),this._register(jn(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(jn(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=tS(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)}))}};ca.inlineSuggestionVisible=new Ri("inlineSuggestionVisible",!1,y("inlineSuggestionVisible","Whether an inline suggestion is visible")),ca.inlineSuggestionHasIndentation=new Ri("inlineSuggestionHasIndentation",!1,y("inlineSuggestionHasIndentation","Whether the inline suggestion starts with whitespace")),ca.inlineSuggestionHasIndentationLessThanTabSize=new Ri("inlineSuggestionHasIndentationLessThanTabSize",!0,y("inlineSuggestionHasIndentationLessThanTabSize","Whether the inline suggestion starts with whitespace that is less than what would be inserted by tab")),ca.suppressSuggestions=new Ri("inlineSuggestionSuppressSuggestions",void 0,y("suppressSuggestions","Whether suggestions should be suppressed for the current suggestion"));let _o=ca;function MV(o){const e=new He,t=e.add(RE());return e.add(jn(i=>{t.setStyle(o.read(i))})),e}class fp{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 AE([...this.parts.map(s=>new cl(z.fromPositions(new kt(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 _v{constructor(e,t,i){this.column=e,this.text=t,this.preview=i,this.lines=ay(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 DC{constructor(e,t,i,n=0){this.lineNumber=e,this.columnRange=t,this.text=i,this.additionalReservedLineCount=n,this.parts=[new _v(this.columnRange.endColumnExclusive,this.text,!1)],this.newLines=ay(this.text)}renderForScreenReader(e){return this.newLines.join(`
|
|
33
|
-
`)}get lineCount(){return this.newLines.length}isEmpty(){return this.parts.every(e=>e.lines.length===0)}equals(e){return this.lineNumber===e.lineNumber&&this.columnRange.equals(e.columnRange)&&this.newLines.length===e.newLines.length&&this.newLines.every((t,i)=>t===e.newLines[i])&&this.additionalReservedLineCount===e.additionalReservedLineCount}}function bI(o,e){return Da(o,e,dN)}function dN(o,e){return o===e?!0:!o||!e?!1:o instanceof fp&&e instanceof fp||o instanceof DC&&e instanceof DC?o.equals(e):!1}const NV=[];function RV(){return NV}class hN{constructor(e,t){if(this.startColumn=e,this.endColumnExclusive=t,e>t)throw new ig(`startColumn ${e} cannot be after endColumnExclusive ${t}`)}toRange(e){return new z(e,this.startColumn,e,this.endColumnExclusive)}equals(e){return this.startColumn===e.startColumn&&this.endColumnExclusive===e.endColumnExclusive}}function uN(o,e){const t=new He,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 AV(o,e){return new kt(o.lineNumber+e.lineNumber-1,e.lineNumber===1?o.column+e.column-1:e.column)}function yI(o,e){return new kt(o.lineNumber-e.lineNumber+1,o.lineNumber-e.lineNumber===0?o.column-e.column+1:o.column)}var OV=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},FV=function(o,e){return function(t,i){e(t,i,o)}};const wI="ghost-text";let EC=class extends Ve{constructor(e,t,i){super(),this.editor=e,this.model=t,this.languageService=i,this.isDisposed=Po(this,!1),this.currentTextModel=uo(this,this.editor.onDidChangeModel,()=>this.editor.getModel()),this.uiState=Qi(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 DC?r.columnRange:void 0,c=[],h=[];function g(w,S){if(h.length>0){const D=h[h.length-1];S&&D.decorations.push(new ep(D.content.length+1,D.content.length+1+w[0].length,S,0)),D.content+=w[0],w=w.slice(1)}for(const D of w)h.push({content:D,decorations:S?[new ep(1,D.length+1,S,0)]:[]})}const f=s.getLineContent(r.lineNumber);let p,v=0;for(const w of r.parts){let S=w.lines;p===void 0?(c.push({column:w.column,text:S[0],preview:w.preview}),S=S.slice(1)):g([f.substring(v,w.column-1)],void 0),S.length>0&&(g(S,wI),p===void 0&&w.column<=f.length&&(p=w.column)),v=w.column-1}p!==void 0&&g([f.substring(v)],void 0);const _=p!==void 0?new hN(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=Qi(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:z.fromPositions(new kt(s.lineNumber,a.column)),options:{description:wI,after:{content:a.text,inlineClassName:a.preview?"ghost-text-decoration-preview":"ghost-text-decoration",cursorStops:cu.Left},showIfCollapsed:!0}});return r}),this.additionalLinesWidget=this._register(new HV(this.editor,this.languageService.languageIdCodec,Qi(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(Dn(()=>{this.isDisposed.set(!0,void 0)})),this._register(uN(this.editor,this.decorations))}ownsViewZone(e){return this.additionalLinesWidget.viewZoneId===e}};EC=OV([FV(2,Xr)],EC);class HV extends Ve{get viewZoneId(){return this._viewZoneId}constructor(e,t,i){super(),this.editor=e,this.languageIdCodec=t,this.lines=i,this._viewZoneId=void 0,this.editorOptionsChanged=sd("editorOptionChanged",ds.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(jn(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");WV(c,s,t,this.editor.getOptions(),this.languageIdCodec),this._viewZoneId=r.addZone({afterLineNumber:e,heightInLines:a,domNode:c,afterColumnAffinity:1})}})}}function WV(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 FE(1e4);p.appendString('<div class="suggest-preview-text">');for(let w=0,S=t.length;w<S;w++){const D=t[w],P=D.content;p.appendString('<div class="view-line'),p.appendString('" style="top:'),p.appendString(String(w*f)),p.appendString('px;width:1000000px;">');const N=zE(P),V=NO(P),F=RO.createEmpty(P,n);HE(new WE(g.isMonospace&&!s,g.canUseHalfwidthRightwardsArrow,P,!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>"),BE(o,g);const v=p.build(),_=SI?SI.createHTML(v):v;o.innerHTML=_}const SI=OE("editorGhostText",{createHTML:o=>o});function BV(o,e){const t=new WO,i=new FO(t,h=>e.getLanguageConfiguration(h)),n=new OO(new zV([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=Gg(g,h.openingBracket.length),h.child&&(c(h.child,g),g=Gg(g,h.child.length)),h.closingBracket)c(h.closingBracket,g),g=Gg(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(YL(g),YL(Gg(g,h.length)));else if(h.kind===4)for(const f of h.children)c(f,g),g=Gg(g,f.length)}}return c(s,BO),r}class zV{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 gN(o,e,t,i,n=mi.None,s){const r=e instanceof kt?UV(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 P=[];for(const N of D.yieldsToGroupIds||[]){const V=c.get(N);for(const F of V)P.push(F)}return P}const g=new Map,f=new Set;function p(D,P){if(P=[...P,D],f.has(D))return P;f.add(D);try{const N=h(D);for(const V of N){const F=p(V,P);if(F)return F}}finally{f.delete(D)}}function v(D){const P=g.get(D);if(P)return P;const N=p(D,[]);N&&is(new Error(`Inline completions: cyclic yield-to dependency detected. Path: ${N.map(F=>F.toString?F.toString():""+F).join(" -> ")}`));const V=new Xb;return g.set(D,V.p),(async()=>{var F;if(!N){const Y=h(D);for(const X of Y){const me=await v(X);if(me&&me.items.length>0)return}}try{return e instanceof kt?await D.provideInlineCompletions(t,e,i,n):await((F=D.provideInlineEdits)==null?void 0:F.call(D,t,e,i,n))}catch(Y){is(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)}))),w=new Map,S=[];for(const D of _){const P=D.completions;if(!P)continue;const N=new jV(P,D.provider);S.push(N);for(const V of P.items){const F=vv.from(V,N,r,t,s);w.set(F.hash(),F)}}return new VV(Array.from(w.values()),new Set(w.keys()),S)}class VV{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 jV{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 vv{static from(e,t,i,n,s){let r,a,c=e.range?z.lift(e.range):i;if(typeof e.insertText=="string"){if(r=e.insertText,s&&e.completeBracketPairs){r=CI(r,c.getStartPosition(),n,s);const h=r.length-e.insertText.length;h!==0&&(c=new z(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=CI(e.insertText.snippet,c.getStartPosition(),n,s);const f=e.insertText.snippet.length-h;f!==0&&(c=new z(c.startLineNumber,c.startColumn,c.endLineNumber,c.endColumn+f))}const g=new ah().parse(e.insertText.snippet);g.children.length===1&&g.children[0]instanceof go?(r=g.children[0].value,a=void 0):(r=g.toString(),a={snippet:e.insertText.snippet,range:c})}else VO(e.insertText);return new vv(r,e.command,c,r,a,e.additionalTextEdits||RV(),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 vv(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 cl(this.range,this.insertText)}}function UV(o,e){const t=e.getWordAtPosition(o),i=e.getLineMaxColumn(o.lineNumber);return t?new z(o.lineNumber,t.startColumn,o.lineNumber,i):z.fromPositions(o,o.with(void 0,i))}function CI(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?BV(a,i):o}function hd(o,e,t){const i=t?o.range.intersectRanges(t):o.range;if(!i)return o;const n=e.getValueInRange(i,1),s=Yp(n,o.text),r=H_.ofText(n.substring(0,s)).addToPosition(o.range.getStartPosition()),a=o.text.substring(s),c=z.fromPositions(r,o.range.getEndPosition());return new cl(c,a)}function fN(o,e){return o.text.startsWith(e.text)&&$V(o.range,e.range)}function xI(o,e,t,i,n=0){let s=hd(o,e);if(s.range.endLineNumber!==s.range.startLineNumber)return;const r=e.getLineContent(s.range.startLineNumber),a=Is(r).length;if(s.range.startColumn-1<=a){const _=Is(s.text).length,w=r.substring(s.range.startColumn-1,a),[S,D]=[s.range.getStartPosition(),s.range.getEndPosition()],P=S.column+w.length<=D.column?S.delta(0,w.length):D,N=z.fromPositions(P,D),V=s.text.startsWith(w)?s.text.substring(w.length):s.text.substring(_);s=new cl(N,V)}const h=e.getValueInRange(s.range),g=qV(h,s.text);if(!g)return;const f=s.range.startLineNumber,p=new Array;if(t==="prefix"){const _=g.filter(w=>w.originalLength===0);if(_.length>1||_.length===1&&_[0].originalStart!==h.length)return}const v=s.text.length-n;for(const _ of g){const w=s.range.startColumn+_.originalStart+_.originalLength;if(t==="subwordSmart"&&i&&i.lineNumber===s.range.startLineNumber&&w<i.column||_.originalLength>0)return;if(_.modifiedLength===0)continue;const S=_.modifiedStart+_.modifiedLength,D=Math.max(_.modifiedStart,Math.min(S,v)),P=s.text.substring(_.modifiedStart,D),N=s.text.substring(D,Math.max(_.modifiedStart,S));P.length>0&&p.push(new _v(w,P,!1)),N.length>0&&p.push(new _v(w,N,!0))}return new fp(f,p)}function $V(o,e){return e.getStartPosition().equals(o.getStartPosition())&&e.getEndPosition().isBeforeOrEqual(o.getEndPosition())}let oa;function qV(o,e){if((oa==null?void 0:oa.originalValue)===o&&(oa==null?void 0:oa.newValue)===e)return oa==null?void 0:oa.changes;{let t=kI(o,e,!0);if(t){const i=LI(t);if(i>0){const n=kI(o,e,!1);n&&LI(n)<i&&(t=n)}}return oa={originalValue:o,newValue:e,changes:t},t}}function LI(o){let e=0;for(const t of o)e+=t.originalLength;return e}function kI(o,e,t){if(o.length>5e3||e.length>5e3)return;function i(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 w=f*100+g;p[v]=s(2*w),g++}else if(t&&h[v]===")"){g=Math.max(g-1,0);const w=f*100+g;p[v]=s(2*w+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 KV=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},II=function(o,e){return function(t,i){e(t,i,o)}};let PC=class extends Ve{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 Mo),this.inlineCompletions=sS("inlineCompletions",void 0),this.suggestWidgetInlineCompletions=sS("suggestWidgetInlineCompletions",void 0),this._register(this.textModel.onDidChangeContent(()=>{this._updateOperation.clear()}))}fetch(e,t,i){var g,f;const n=new ZV(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 ws,c=(async()=>{if((r||t.triggerKind===il.Automatic)&&await GV(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 gN(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 w=new Date;this._debounceValue.update(this.textModel,w.getTime()-v.getTime());const S=new YV(_,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(),yh(D=>{s.set(S,D)}),!0})(),h=new XV(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()}};PC=KV([II(3,It),II(4,_s)],PC);function GV(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 ZV{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===il.Automatic||this.context.triggerKind===il.Explicit)&&this.versionId===e.versionId}}class XV{constructor(e,t,i){this.request=e,this.cancellationTokenSource=t,this.promise=i}dispose(){this.cancellationTokenSource.cancel()}}class YV{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 DI(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 DI(e,n,this._textModel,this._versionId)),this._prependedInlineCompletionItems.push(e)}}class DI{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=Ga({owner:this,equalsFn:z.equalsRange},s=>(this._modelVersion.read(s),this._textModel.getDecorationRange(this.decorationId)))}toInlineCompletion(e){return this.inlineCompletion.withRange(this._updatedRange.read(e)??Iw)}toSingleTextEdit(e){return new cl(this._updatedRange.read(e)??Iw,this.inlineCompletion.insertText)}isVisible(e,t,i){const n=hd(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)&&H_.ofRange(i).isGreaterThanOrEqualTo(H_.ofRange(this.inlineCompletion.range))}_toFilterTextReplacement(e){return new cl(this._updatedRange.read(e)??Iw,this.inlineCompletion.filterText)}}const Iw=new z(1,1,1,1),Zt={Visible:T1,HasFocusedSuggestion:new Ri("suggestWidgetHasFocusedSuggestion",!1,y("suggestWidgetHasSelection","Whether any suggestion is focused")),DetailsVisible:new Ri("suggestWidgetDetailsVisible",!1,y("suggestWidgetDetailsVisible","Whether suggestion details are visible")),MultipleSuggestions:new Ri("suggestWidgetMultipleSuggestions",!1,y("suggestWidgetMultipleSuggestions","Whether there are multiple suggestions to pick from")),MakesTextEdit:new Ri("suggestionMakesTextEdit",!0,y("suggestionMakesTextEdit","Whether inserting the current suggestion yields in a change or has everything already been typed")),AcceptSuggestionsOnEnter:new Ri("acceptSuggestionOnEnter",!0,y("acceptSuggestionOnEnter","Whether suggestions are inserted when pressing Enter")),HasInsertAndReplaceRange:new Ri("suggestionHasInsertAndReplaceRange",!1,y("suggestionHasInsertAndReplaceRange","Whether the current suggestion has insert and replace behaviour")),InsertMode:new Ri("suggestionInsertMode",void 0,{type:"string",description:y("suggestionInsertMode","Whether the default behaviour is to insert or replace")}),CanResolve:new Ri("suggestionCanResolve",!1,y("suggestionCanResolve","Whether the current suggestion supports to resolve further details"))},Jl=new lt("suggestWidgetStatusBar");class JV{constructor(e,t,i,n){var s;this.position=e,this.completion=t,this.container=i,this.provider=n,this.isInvalid=!1,this.score=Yf.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,z.isIRange(t.range)?(this.editStart=new kt(t.range.startLineNumber,t.range.startColumn),this.editInsertEnd=new kt(t.range.endLineNumber,t.range.endColumn),this.editReplaceEnd=new kt(t.range.endLineNumber,t.range.endColumn),this.isInvalid=this.isInvalid||z.spansMultipleLines(t.range)||t.range.startLineNumber!==e.lineNumber):(this.editStart=new kt(t.range.insert.startLineNumber,t.range.insert.startColumn),this.editInsertEnd=new kt(t.range.insert.endLineNumber,t.range.insert.endColumn),this.editReplaceEnd=new kt(t.range.replace.endLineNumber,t.range.replace.endColumn),this.isInvalid=this.isInvalid||z.spansMultipleLines(t.range.insert)||z.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 vo(!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 mb=class mb{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}};mb.default=new mb;let pp=mb;class QV{constructor(e,t,i,n){this.items=e,this.needsClipboard=t,this.durations=i,this.disposable=n}}async function H1(o,e,t,i=pp.default,n={triggerKind:0},s=mi.None){const r=new vo;t=t.clone();const a=e.getWordAtPosition(t),c=a?new z(t.lineNumber,a.startColumn,t.lineNumber,a.endColumn):z.fromPositions(t),h={replace:c,insert:c.setEndPosition(t.lineNumber,t.column)},g=[],f=new He,p=[];let v=!1;const _=(S,D,P)=>{var 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=ah.guessNeedsClipboard(F.insertText)),g.push(new JV(t,F,D,S)),N=!0}return VE(D)&&f.add(D),p.push({providerName:S._debugDisplayName??"unknown_provider",elapsedProvider:D.duration??-1,elapsedOverall:P.elapsed()}),N},w=(async()=>{})();for(const S of o.orderedGroups(e)){let D=!1;if(await Promise.all(S.map(async P=>{if(i.providerItemsToReuse.has(P)){const N=i.providerItemsToReuse.get(P);N.forEach(V=>g.push(V)),D=D||N.length>0;return}if(!(i.providerFilter.size>0&&!i.providerFilter.has(P)))try{const N=new vo,V=await P.provideCompletionItems(e,t,n,s);D=_(P,V,N)||D}catch(N){is(N)}})),D||s.isCancellationRequested)break}return await w,s.isCancellationRequested?(f.dispose(),Promise.reject(new Yb)):new QV(g.sort(ij(i.snippetSortOrder)),v,{entries:p,elapsed:r.elapsed()},f)}function W1(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 W1(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 W1(o,e)}const Ny=new Map;Ny.set(0,ej);Ny.set(2,tj);Ny.set(1,W1);function ij(o){return Ny.get(o)}wn.registerCommand("_executeCompletionItemProvider",async(o,...e)=>{const[t,i,n,s]=e;Ui(cn.isUri(t)),Ui(kt.isIPosition(i)),Ui(typeof n=="string"||!n),Ui(typeof s=="number"||!s);const{completionProvider:r}=o.get(It),a=await o.get(Yr).createModelReference(t);try{const c={incomplete:!1,suggestions:[]},h=[],g=a.object.textEditorModel.validatePosition(i),f=await H1(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(mi.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 mu{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 EI(o,e=Zb){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 PI{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 TI{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=Is(s,0,this._selection.startColumn-1);let a=r;e.snippet.walk(h=>h===e?!1:(h instanceof go&&(a=Is(ay(h.value).pop())),!0));const c=Yp(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 MI{constructor(e,t){this._labelService=e,this._model=t}resolve(e){const{name:t}=e;if(t==="TM_FILENAME")return xf(this._model.uri.fsPath);if(t==="TM_FILENAME_BASE"){const i=xf(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(A0(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 NI{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 bv=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}}};bv=sj([oj(2,_s)],bv);const da=class da{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 da.dayNames[this._date.getDay()];if(t==="CURRENT_DAY_NAME_SHORT")return da.dayNamesShort[this._date.getDay()];if(t==="CURRENT_MONTH_NAME")return da.monthNames[this._date.getMonth()];if(t==="CURRENT_MONTH_NAME_SHORT")return da.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}}};da.dayNames=[y("Sunday","Sunday"),y("Monday","Monday"),y("Tuesday","Tuesday"),y("Wednesday","Wednesday"),y("Thursday","Thursday"),y("Friday","Friday"),y("Saturday","Saturday")],da.dayNamesShort=[y("SundayShort","Sun"),y("MondayShort","Mon"),y("TuesdayShort","Tue"),y("WednesdayShort","Wed"),y("ThursdayShort","Thu"),y("FridayShort","Fri"),y("SaturdayShort","Sat")],da.monthNames=[y("January","January"),y("February","February"),y("March","March"),y("April","April"),y("May","May"),y("June","June"),y("July","July"),y("August","August"),y("September","September"),y("October","October"),y("November","November"),y("December","December")],da.monthNamesShort=[y("JanuaryShort","Jan"),y("FebruaryShort","Feb"),y("MarchShort","Mar"),y("AprilShort","Apr"),y("MayShort","May"),y("JuneShort","Jun"),y("JulyShort","Jul"),y("AugustShort","Aug"),y("SeptemberShort","Sep"),y("OctoberShort","Oct"),y("NovemberShort","Nov"),y("DecemberShort","Dec")];let yv=da;class RI{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(JL(e))return xf(e.uri.path);let t=xf(e.configPath.path);return t.endsWith(QL)&&(t=t.substr(0,t.length-QL.length-1)),t}_resoveWorkspacePath(e){if(JL(e))return EI(e.uri.fsPath);const t=xf(e.configPath.path);let i=e.configPath.fsPath;return i.endsWith(t)&&(i=i.substr(0,i.length-t.length-1)),i?EI(i):"/"}}class AI{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 Cy()}}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)}},Dr;const sr=class sr{constructor(e,t,i){this._editor=e,this._snippet=t,this._snippetLineLeadingWhitespace=i,this._offset=-1,this._nestingLevel=1,this._placeholderGroups=ek(t.placeholders,qo.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=z.fromPositions(e.getPositionAt(this._offset+n),e.getPositionAt(this._offset+n+s)),a=i.isFinalTabstop?sr._decor.inactiveFinal:sr._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(Xn.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 qt(h.startLineNumber,h.startColumn,h.endLineNumber,h.endColumn)),t=t&&this._hasPlaceholderBeenCollapsed(a),n.changeDecorationOptions(c,a.isFinalTabstop?sr._decor.activeFinal:sr._decor.active),s.add(a);for(const g of this._snippet.enclosingPlaceholders(a)){const f=this._placeholderDecorations.get(g);n.changeDecorationOptions(f,g.isFinalTabstop?sr._decor.activeFinal:sr._decor.active),s.add(g)}}for(const[a,c]of this._placeholderDecorations)s.has(a)||n.changeDecorationOptions(c,a.isFinalTabstop?sr._decor.inactiveFinal:sr._decor.inactive);return r});return t?this.move(e):i??[]}_hasPlaceholderBeenCollapsed(e){let t=e;for(;t;){if(t instanceof qo){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 Rg,!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=z.fromPositions(t.getPositionAt(s._offset+h),t.getPositionAt(s._offset+h+g)),p=i.addDecoration(f,sr._decor.inactive);this._placeholderDecorations.set(c,p)}}this._placeholderGroups=ek(this._snippet.placeholders,qo.compareByIndex)})}};sr._decor={active:Di.register({description:"snippet-placeholder-1",stickiness:0,className:"snippet-placeholder"}),inactive:Di.register({description:"snippet-placeholder-2",stickiness:1,className:"snippet-placeholder"}),activeFinal:Di.register({description:"snippet-placeholder-3",stickiness:1,className:"finish-snippet-placeholder"}),inactiveFinal:Di.register({description:"snippet-placeholder-4",stickiness:1,className:"finish-snippet-placeholder"})};let wv=sr;const OI={overwriteBefore:0,overwriteAfter:0,adjustWhitespace:!0,clipboardText:void 0,overtypingCapturer:void 0};let Sv=Dr=class{static adjustWhitespace(e,t,i,n,s){const r=e.getLineContent(t.lineNumber),a=Is(r,0,t.column-1);let c;return n.walk(h=>{if(!(h instanceof go)||h.parent instanceof Rg||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 go(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=qt.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(Gu)),_=e.invokeWithinContext(V=>new MI(V.get(Xf),p)),w=()=>a,S=p.getValueInRange(Dr.adjustSelection(p,e.getSelection(),i,0)),D=p.getValueInRange(Dr.adjustSelection(p,e.getSelection(),0,n)),P=p.getLineFirstNonWhitespaceColumn(e.getSelection().positionLineNumber),N=e.getSelections().map((V,F)=>({selection:V,idx:F})).sort((V,F)=>z.compareRangesUsingStarts(V.selection,F.selection));for(const{selection:V,idx:F}of N){let Y=Dr.adjustSelection(p,V,i,0),X=Dr.adjustSelection(p,V,0,n);S!==p.getValueInRange(Y)&&(Y=V),D!==p.getValueInRange(X)&&(X=V);const me=V.setStartPosition(Y.startLineNumber,Y.startColumn).setEndPosition(X.endLineNumber,X.endColumn),Le=new ah().parse(t,!0,s),je=me.getStartPosition(),ve=Dr.adjustWhitespace(p,je,r||F>0&&P!==p.getLineFirstNonWhitespaceColumn(V.positionLineNumber),Le);Le.resolveVariables(new PI([_,new NI(w,F,N.length,e.getOption(79)==="spread"),new TI(p,V,F,c),new bv(p,V,h),new yv,new RI(v),new AI])),g[F]=Xn.replace(me,Le.toString()),g[F].identifier={major:F,minor:0},g[F]._isTracked=!0,f[F]=new wv(e,Le,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 ah,f=new om,p=new PI([e.invokeWithinContext(_=>new MI(_.get(Xf),h)),new NI(()=>s,0,e.getSelections().length,e.getOption(79)==="spread"),new TI(h,e.getSelection(),0,r),new bv(h,e.getSelection(),a),new yv,new RI(e.invokeWithinContext(_=>_.get(Gu))),new AI]);t=t.sort((_,w)=>z.compareRangesUsingStarts(_.range,w.range));let v=0;for(let _=0;_<t.length;_++){const{range:w,template:S}=t[_];if(_>0){const F=t[_-1].range,Y=z.fromPositions(F.getEndPosition(),w.getStartPosition()),X=new go(h.getValueInRange(Y));f.appendChild(X),v+=X.value.length}const D=g.parseFragment(S,f);Dr.adjustWhitespace(h,w.getStartPosition(),!0,f,new Set(D)),f.resolveVariables(p);const P=f.toString(),N=P.slice(v);v=P.length;const V=Xn.replace(w,N);V.identifier={major:_,minor:0},V._isTracked=!0,c.push(V)}return g.ensureFinalTabstop(f,i,!0),{edits:c,snippets:[new wv(e,f,"")]}}constructor(e,t,i=OI,n){this._editor=e,this._template=t,this._options=i,this._languageConfigurationService=n,this._templateMerges=[],this._snippets=[]}dispose(){zs(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"?Dr.createEditsAndSnippetsFromSelections(this._editor,this._template,this._options.overwriteBefore,this._options.overwriteAfter,!1,this._options.adjustWhitespace,this._options.clipboardText,this._options.overtypingCapturer,this._languageConfigurationService):Dr.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=>qt.fromPositions(s.range.getEndPosition()))}),this._editor.revealRange(this._editor.getSelections()[0])}merge(e,t=OI){if(!this._editor.hasModel())return;this._templateMerges.push([this._snippets[0]._nestingLevel,this._snippets[0]._placeholderGroupsIdx,e]);const{edits:i,snippets:n}=Dr.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=>qt.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(z.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(z.compareRangesUsingStarts);for(const[i,n]of t){if(n.length!==e.length){t.delete(i);continue}n.sort(z.compareRangesUsingStarts);for(let s=0;s<n.length;s++)if(!n[s].containsRange(e[s])){t.delete(i);continue}}return t.size>0}};Sv=Dr=rj([aj(3,_s)],Sv);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},Km=function(o,e){return function(t,i){e(t,i,o)}},ou;const FI={overwriteBefore:0,overwriteAfter:0,undoStopBefore:!0,undoStopAfter:!0,adjustWhitespace:!0,clipboardText:void 0,overtypingCapturer:void 0};var ba;let qs=(ba=class{static get(e){return e.getContribution(ou.ID)}constructor(e,t,i,n,s){this._editor=e,this._logService=t,this._languageFeaturesService=i,this._languageConfigurationService=s,this._snippetListener=new He,this._modelVersionId=-1,this._inSnippet=ou.InSnippetMode.bindTo(n),this._hasNextTabstop=ou.HasNextTabstop.bindTo(n),this._hasPrevTabstop=ou.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"?FI:{...FI,...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?(Ui(typeof e=="string"),this._session.merge(e,t)):(this._modelVersionId=this._editor.getModel().getAlternativeVersionId(),this._session=new Sv(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()||!kt.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),w=[];for(let S=0;S<p.choice.options.length;S++){const D=p.choice.options[S];w.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:y("next","Go to next placeholder...")}})}return{suggestions:w}}},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()}},ou=ba,ba.ID="snippetController2",ba.InSnippetMode=new Ri("inSnippetMode",!1,y("inSnippetMode","Whether the editor in current in snippet mode")),ba.HasNextTabstop=new Ri("hasNextTabstop",!1,y("hasNextTabstop","Whether there is a next tab stop when in snippet mode")),ba.HasPrevTabstop=new Ri("hasPrevTabstop",!1,y("hasPrevTabstop","Whether there is a previous tab stop when in snippet mode")),ba);qs=ou=lj([Km(1,wh),Km(2,It),Km(3,Vi),Km(4,_s)],qs);bi(qs.ID,qs,4);const Ry=no.bindToContribution(qs.get);Mt(new Ry({id:"jumpToNextSnippetPlaceholder",precondition:ae.and(qs.InSnippetMode,qs.HasNextTabstop),handler:o=>o.next(),kbOpts:{weight:130,kbExpr:M.textInputFocus,primary:2}}));Mt(new Ry({id:"jumpToPrevSnippetPlaceholder",precondition:ae.and(qs.InSnippetMode,qs.HasPrevTabstop),handler:o=>o.prev(),kbOpts:{weight:130,kbExpr:M.textInputFocus,primary:1026}}));Mt(new Ry({id:"leaveSnippet",precondition:qs.InSnippetMode,handler:o=>o.cancel(!0),kbOpts:{weight:130,kbExpr:M.textInputFocus,primary:9,secondary:[1033]}}));Mt(new Ry({id:"acceptSnippet",precondition:qs.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},Dw=function(o,e){return function(t,i){e(t,i,o)}};let TC=class extends Ve{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(PC,this.textModel,this._textModelVersionId,this._debounceValue)),this._isActive=Po(this,!1),this._forceUpdateExplicitlySignal=B0(this),this._selectedInlineCompletionId=Po(this,void 0),this._primaryPosition=Qi(this,_=>this._positions.read(_)[0]??new kt(1,1)),this._isAcceptingPartially=!1,this._preserveCurrentCompletionReasons=new Set([Va.Redo,Va.Undo,Va.AcceptWord]),this._fetchInlineCompletionsPromise=jE({owner:this,createEmptyChangeSummary:()=>({preserveCurrentCompletion:!1,inlineCompletionTriggerKind:il.Automatic}),handleChange:(_,w)=>(_.didChange(this._textModelVersionId)&&this._preserveCurrentCompletionReasons.has(this._getReason(_.change))?w.preserveCurrentCompletion=!0:_.didChange(this._forceUpdateExplicitlySignal)&&(w.inlineCompletionTriggerKind=il.Explicit),!0)},(_,w)=>{if(this._forceUpdateExplicitlySignal.read(_),!(this._enabled.read(_)&&this.selectedSuggestItem.read(_)||this._isActive.read(_))){this._source.cancelUpdate();return}this._textModelVersionId.read(_);const D=this._source.suggestWidgetInlineCompletions.get(),P=this.selectedSuggestItem.read(_);if(D&&!P){const X=this._source.inlineCompletions.get();yh(me=>{(!X||D.request.versionId>X.request.versionId)&&this._source.inlineCompletions.set(D.clone(),me),this._source.clearSuggestWidgetInlineCompletions(me)})}const N=this._primaryPosition.read(_),V={triggerKind:w.inlineCompletionTriggerKind,selectedSuggestionInfo:P==null?void 0:P.toSelectedSuggestionInfo()},F=this.selectedInlineCompletion.get(),Y=w.preserveCurrentCompletion||F!=null&&F.forwardStable?F:void 0;return this._source.fetch(N,V,Y)}),this._filteredInlineCompletionItems=Ga({owner:this,equalsFn:oS()},_=>{const w=this._source.inlineCompletions.read(_);if(!w)return[];const S=this._primaryPosition.read(_);return w.inlineCompletions.filter(P=>P.isVisible(this.textModel,S,_))}),this.selectedInlineCompletionIndex=Qi(this,_=>{const w=this._selectedInlineCompletionId.read(_),S=this._filteredInlineCompletionItems.read(_),D=this._selectedInlineCompletionId===void 0?-1:S.findIndex(P=>P.semanticId===w);return D===-1?(this._selectedInlineCompletionId.set(void 0,void 0),0):D}),this.selectedInlineCompletion=Qi(this,_=>{const w=this._filteredInlineCompletionItems.read(_),S=this.selectedInlineCompletionIndex.read(_);return w[S]}),this.activeCommands=Ga({owner:this,equalsFn:oS()},_=>{var w;return((w=this.selectedInlineCompletion.read(_))==null?void 0:w.inlineCompletion.source.inlineCompletions.commands)??[]}),this.lastTriggerKind=this._source.inlineCompletions.map(this,_=>_==null?void 0:_.request.context.triggerKind),this.inlineCompletionsCount=Qi(this,_=>{if(this.lastTriggerKind.read(_)===il.Explicit)return this._filteredInlineCompletionItems.read(_).length}),this.state=Ga({owner:this,equalsFn:(_,w)=>!_||!w?_===w:bI(_.ghostTexts,w.ghostTexts)&&_.inlineCompletion===w.inlineCompletion&&_.suggestItem===w.suggestItem},_=>{const w=this.textModel,S=this.selectedSuggestItem.read(_);if(S){const D=hd(S.toSingleTextEdit(),w),P=this._computeAugmentation(D,_);if(!this._suggestPreviewEnabled.read(_)&&!P)return;const V=(P==null?void 0:P.edit)??D,F=P?P.edit.text.length-D.text.length:0,Y=this._suggestPreviewMode.read(_),X=this._positions.read(_),me=[V,...Ew(this.textModel,X,V)],Le=me.map((ve,st)=>xI(ve,w,Y,X[st],F)).filter(l_),je=Le[0]??new fp(V.range.endLineNumber,[]);return{edits:me,primaryGhostText:je,ghostTexts:Le,inlineCompletion:P==null?void 0:P.completion,suggestItem:S}}else{if(!this._isActive.read(_))return;const D=this.selectedInlineCompletion.read(_);if(!D)return;const P=D.toSingleTextEdit(_),N=this._inlineSuggestMode.read(_),V=this._positions.read(_),F=[P,...Ew(this.textModel,V,P)],Y=F.map((X,me)=>xI(X,w,N,V[me],0)).filter(l_);return Y[0]?{edits:F,primaryGhostText:Y[0],ghostTexts:Y,inlineCompletion:D,suggestItem:void 0}:void 0}}),this.ghostTexts=Ga({owner:this,equalsFn:bI},_=>{const w=this.state.read(_);if(w)return w.ghostTexts}),this.primaryGhostText=Ga({owner:this,equalsFn:dN},_=>{const w=this.state.read(_);if(w)return w==null?void 0:w.primaryGhostText}),this._register(UE(this._fetchInlineCompletionsPromise));let v;this._register(jn(_=>{var D,P;const w=this.state.read(_),S=w==null?void 0:w.inlineCompletion;if((S==null?void 0:S.semanticId)!==(v==null?void 0:v.semanticId)&&(v=S,S)){const N=S.inlineCompletion,V=N.source;(P=(D=V.provider).handleItemDidShow)==null||P.call(D,V.inlineCompletions,N.sourceInlineCompletion,N.insertText)}}))}_getReason(e){return e!=null&&e.isUndoing?Va.Undo:e!=null&&e.isRedoing?Va.Redo:this.isAcceptingPartially?Va.AcceptWord:Va.Other}async trigger(e){this._isActive.set(!0,e),await this._fetchInlineCompletionsPromise.get()}async triggerExplicitly(e){W_(e,t=>{this._isActive.set(!0,t),this._forceUpdateExplicitlySignal.trigger(t)}),await this._fetchInlineCompletionsPromise.get()}stop(e){W_(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(l_);return JO(s,a=>{let c=a.toSingleTextEdit(t);return c=hd(c,i,z.fromPositions(c.range.getStartPosition(),e.range.getEndPosition())),fN(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 ig;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",[Xn.replace(i.range,""),...i.additionalTextEdits]),e.setPosition(i.snippetInfo.range.getStartPosition(),"inlineCompletionAccept"),(n=qs.get(e))==null||n.insert(i.snippetInfo.snippet,{undoStopBefore:!1});else{const s=t.edits,r=HI(s).map(a=>qt.fromPositions(a));e.executeEdits("inlineSuggestion.accept",[...s.map(a=>Xn.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,is),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 ig;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 kt(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 _=z.fromPositions(v,c),w=e.getModel().getValueInRange(_)+f,S=new cl(_,w),D=[S,...Ew(this.textModel,p,S)],P=HI(D).map(N=>qt.fromPositions(N));e.executeEdits("inlineSuggestion.accept",D.map(N=>Xn.replace(N.range,N.text))),e.setSelections(P,"inlineCompletionPartialAccept"),e.revealPositionInCenterIfOutsideViewport(e.getPosition(),1)}finally{this._isAcceptingPartially=!1}if(r.source.provider.handlePartialAccept){const _=z.fromPositions(r.range.getStartPosition(),H_.ofText(f).addToPosition(c)),w=e.getModel().getValueInRange(_,1);r.source.provider.handlePartialAccept(r.source.inlineCompletions,r.sourceInlineCompletion,w.length,{kind:i})}}finally{r.source.removeRef()}}handleSuggestAccepted(e){var s,r;const t=hd(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})}};TC=cj([Dw(9,hi),Dw(10,ms),Dw(11,_s)],TC);var Va;(function(o){o[o.Undo=0]="Undo",o[o.Redo=1]="Redo",o[o.AcceptWord=2]="AcceptWord",o[o.Other=3]="Other"})(Va||(Va={}));function Ew(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(z.fromPositions(i,r)),c=yI(i,s);if(c.lineNumber<1)return fn(new ig(`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=AV(yI(g,s),r),p=o.getValueInRange(z.fromPositions(g,f)),v=Yp(a,p),_=z.fromPositions(g,g.delta(0,v));return new cl(_,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 HI(o){const e=QO.createSortPermutation(o,Zp(s=>s.range,z.compareRangesUsingStarts)),i=new AE(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},WI=function(o,e){return function(t,i){e(t,i,o)}},uf;class B1{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 BI extends B1{constructor(){super("first")}memorize(e,t,i){}toJSON(){}fromJSON(){}}class uj extends B1{constructor(){super("recentlyUsed"),this._cache=new Up(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:z0.fromString(n.type),this._cache.set(i,n);this._seq=this._cache.size}}class gj extends B1{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:z0.fromString(i.type),this._trie.set(t,i)}}}var ac;let MC=(ac=class{constructor(e,t){this._storageService=e,this._configService=t,this._disposables=new He,this._persistSoon=new hs(()=>this._saveState(),500),this._disposables.add(e.onWillSaveState(i=>{i.reason===T0.SHUTDOWN&&this._saveState()}))}dispose(){this._disposables.dispose(),this._persistSoon.dispose()}memorize(e,t,i){this._withStrategy(e,t).memorize(e,t,i),this._persistSoon.schedule()}select(e,t,i){return this._withStrategy(e,t).select(e,t,i)}_withStrategy(e,t){var n;const i=this._configService.getValue("editor.suggestSelection",{overrideIdentifier:e.getLanguageIdAtPosition(t.lineNumber,t.column),resource:e.uri});if(((n=this._strategy)==null?void 0:n.name)!==i){this._saveState();const s=uf._strategyCtors.get(i)||BI;this._strategy=new s;try{const a=this._configService.getValue("editor.suggest.shareSuggestSelections")?0:1,c=this._storageService.get(`${uf._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(`${uf._storagePrefix}/${this._strategy.name}`,i,t,1)}}},uf=ac,ac._strategyCtors=new Map([["recentlyUsedByPrefix",gj],["recentlyUsed",uj],["first",BI]]),ac._storagePrefix="suggest/memories",ac);MC=uf=hj([WI(0,Lc),WI(1,Pn)],MC);const Ay=_l("ISuggestMemories");vl(Ay,MC,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)}},NC,Md;let Cv=(Md=class{constructor(e,t){this._editor=e,this._enabled=!1,this._ckAtEnd=NC.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)}},NC=Md,Md.AtEnd=new Ri("atEndOfWord",!1),Md);Cv=NC=fj([pj(1,Vi)],Cv);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)}},gf,Nd;let bg=(Nd=class{constructor(e,t){this._editor=e,this._index=0,this._ckOtherSuggestions=gf.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(gf._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=gf._moveIndex(e,this._model,this._index),this._acceptNext({index:this._index,item:this._model.items[this._index],model:this._model})}finally{this._ignore=!1}}},gf=Nd,Nd.OtherSuggestions=new Ri("hasOtherSuggestions",!1),Nd);bg=gf=mj([_j(1,Vi)],bg);class vj{constructor(e,t,i,n){this._disposables=new He,this._disposables.add(i.onDidSuggest(s=>{s.completionModel.items.length===0&&this.reset()})),this._disposables.add(i.onDidCancel(s=>{this.reset()})),this._disposables.add(t.onDidShow(()=>this._onItem(t.getFocusedItem()))),this._disposables.add(t.onDidFocus(this._onItem,this)),this._disposables.add(t.onDidHide(this.reset,this)),this._disposables.add(e.onWillType(s=>{if(this._active&&!t.isFrozen()&&i.state!==0){const r=s.charCodeAt(s.length-1);this._active.acceptCharacters.has(r)&&e.getOption(0)&&n(this._active.item)}}))}_onItem(e){if(!e||!Eo(e.item.completion.commitCharacters)){this.reset();return}if(this._active&&this._active.item.item===e.item)return;const t=new F_;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 Bo=class Bo{async provideSelectionRanges(e,t){const i=[];for(const n of t){const s=[];i.push(s);const r=new Map;await new Promise(a=>Bo._bracketsRightYield(a,0,e,n,r)),await new Promise(a=>Bo._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>=Bo._maxRounds){e();break}if(!n){e();break}const c=i.bracketPairs.findNextBracket(n);if(!c){e();break}if(Date.now()-a>Bo._maxDuration){setTimeout(()=>Bo._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 $E,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>=Bo._maxRounds&&s.size===0){e();break}if(!n){e();break}const h=i.bracketPairs.findPrevBracket(n);if(!h){e();break}if(Date.now()-c>Bo._maxDuration){setTimeout(()=>Bo._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 w=z.fromPositions(h.range.getEndPosition(),_.getStartPosition()),S=z.fromPositions(h.range.getStartPosition(),_.getEndPosition());r.push({range:w}),r.push({range:S}),Bo._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:z.fromPositions(new kt(n,s),t.getEndPosition())}),i.push({range:z.fromPositions(new kt(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:z.fromPositions(new kt(r,a),t.getEndPosition())}),i.push({range:z.fromPositions(new kt(r,1),t.getEndPosition())}))}}};Bo._maxDuration=30,Bo._maxRounds=2;let xv=Bo;const ha=class ha{static async create(e,t){if(!t.getOption(119).localityBonus||!t.hasModel())return ha.None;const i=t.getModel(),n=t.getPosition();if(!e.canComputeWordRanges(i.uri))return ha.None;const[s]=await new xv().provideSelectionRanges(i,[n]);if(s.length===0)return ha.None;const r=await e.computeWordRanges(i.uri,s[0].range);if(!r)return ha.None;const a=i.getWordUntilPosition(n);return delete r[a.word],new class extends ha{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=B_(f,z.fromPositions(c),z.compareRangesUsingStarts),v=p>=0?f[p]:f[Math.max(0,~p-1)];let _=s.length;for(const w of s){if(!z.containsRange(w.range,v))break;_-=1}return _}}}};ha.None=new class extends ha{distance(){return 0}};let Lv=ha,zI=class{constructor(e,t){this.leadingLineContent=e,this.characterCountDelta=t}};class Fl{constructor(e,t,i,n,s,r,a=qE.default,c=void 0){this.clipboardText=c,this._snippetCompareFn=Fl._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=Fl._compareCompletionItemsSnippetsUp:r==="bottom"&&(this._snippetCompareFn=Fl._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?KE: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=Yf.Default;else{let _=0;for(;_<p;){const w=n.charCodeAt(_);if(w===32||w===9)_+=1;else break}if(_>=v)g.score=Yf.Default;else if(typeof g.completion.filterText=="string"){const w=c(n,s,_,g.completion.filterText,g.filterTextLow,0,this._fuzzyScoreOptions);if(!w)continue;s2(g.completion.filterText,g.textLabel)===0?g.score=w:(g.score=o2(n,s,_,g.textLabel,g.labelLow,0),g.score[0]=w[0])}else{const w=c(n,s,_,g.textLabel,g.labelLow,0,this._fuzzyScoreOptions);if(!w)continue;g.score=w}}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 Fl._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 Fl._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},El=function(o,e){return function(t,i){e(t,i,o)}},RC;class Oc{static shouldAutoTrigger(e){if(!e.hasModel())return!1;const t=e.getModel(),i=e.getPosition();t.tokenization.tokenizeIfCheap(i.lineNumber);const n=t.getWordAtPosition(i);return!(!n||n.endColumn!==i.column&&n.startColumn+1!==i.column||!isNaN(Number(n.word)))}constructor(e,t,i){this.leadingLineContent=e.getLineContent(t.lineNumber).substr(0,t.column-1),this.leadingWord=e.getWordUntilPosition(t),this.lineNumber=t.lineNumber,this.column=t.column,this.triggerOptions=i}}function yj(o,e,t){if(!e.getContextKeyValue(_o.inlineSuggestionVisible.key))return!0;const i=e.getContextKeyValue(_o.suppressSuggestions.key);return i!==void 0?!i:!o.getOption(62).suppressSuggestions}function wj(o,e,t){if(!e.getContextKeyValue("inlineSuggestionVisible"))return!0;const i=e.getContextKeyValue(_o.suppressSuggestions.key);return i!==void 0?!i:!o.getOption(62).suppressSuggestions}let kv=RC=class{constructor(e,t,i,n,s,r,a,c,h){this._editor=e,this._editorWorkerService=t,this._clipboardService=i,this._telemetryService=n,this._logService=s,this._contextKeyService=r,this._configurationService=a,this._languageFeaturesService=c,this._envService=h,this._toDispose=new He,this._triggerCharacterListener=new He,this._triggerQuickSuggest=new zp,this._triggerState=void 0,this._completionDisposables=new He,this._onDidCancel=new pi,this._onDidTrigger=new pi,this._onDidSuggest=new pi,this.onDidCancel=this._onDidCancel.event,this.onDidTrigger=this._onDidTrigger.event,this.onDidSuggest=this._onDidSuggest.event,this._telemetryGate=0,this._currentSelection=this._editor.getSelection()||new qt(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(){zs(this._triggerCharacterListener),zs([this._onDidCancel,this._onDidSuggest,this._onDidTrigger,this._triggerQuickSuggest]),this._toDispose.dispose(),this._completionDisposables.dispose(),this.cancel()}_updateTriggerCharacters(){if(this._triggerCharacterListener.clear(),this._editor.getOption(92)||!this._editor.hasModel()||!this._editor.getOption(122))return;const e=new Map;for(const i of this._languageFeaturesService.completionProvider.all(this._editor.getModel()))for(const n of i.triggerCharacters||[]){let s=e.get(n);s||(s=new Set,e.set(n,s)),s.add(i)}const t=i=>{var r;if(!wj(this._editor,this._contextKeyService,this._configurationService)||Oc.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;mu.isAllOff(this._editor.getOption(90))||this._editor.getOption(119).snippetsPreventQuickSuggestions&&((e=qs.get(this._editor))!=null&&e.isInSnippet())||(this.cancel(),this._triggerQuickSuggest.cancelAndSet(()=>{if(this._triggerState!==void 0||!Oc.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(!mu.isAllOff(n)){if(!mu.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(mu.valueFor(n,r)!=="on")return}yj(this._editor,this._contextKeyService,this._configurationService)&&this._languageFeaturesService.completionProvider.has(t)&&this.trigger({auto:!0})}},this._editor.getOption(91)))}_refilterCompletionItems(){Ui(this._editor.hasModel()),Ui(this._triggerState!==void 0);const e=this._editor.getModel(),t=this._editor.getPosition(),i=new Oc(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 Oc(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 ws;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}=RC.createSuggestFilter(this._editor),h=new pp(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=Lv.create(this._editorWorkerService,this._editor),f=H1(this._languageFeaturesService.completionProvider,t,this._editor.getPosition(),h,n,this._requestToken.token);Promise.all([f,g]).then(async([w,S])=>{var F;if((F=this._requestToken)==null||F.dispose(),!this._editor.hasModel())return;let D=e==null?void 0:e.clipboardText;if(!D&&w.needsClipboard&&(D=await this._clipboardService.readText()),this._triggerState===void 0)return;const P=this._editor.getModel(),N=new Oc(P,this._editor.getPosition(),e),V={...qE.default,firstMatchCanBeWeak:!this._editor.getOption(119).matchOnWordStartOnly};if(this._completionModel=new Fl(w.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(w.disposable),this._onNewContext(N),this._reportDurationsTelemetry(w.durations),!this._envService.isBuilt||this._envService.isExtensionDevelopment)for(const Y of w.items)Y.isInvalid&&this._logService.warn(`[suggest] did IGNORE invalid completion item from ${Y.provider._debugDisplayName}`,Y.completion)}).catch(fn)}_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(Is(e.leadingLineContent)!==Is(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(Oc.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=Oc.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})}}}}};kv=RC=bj([El(1,bl),El(2,kg),El(3,Zr),El(4,wh),El(5,Vi),El(6,Pn),El(7,It),El(8,a2)],kv);const _b=class _b{constructor(e,t){this._disposables=new He,this._lastOvertyped=[],this._locked=!1,this._disposables.add(e.onWillType(()=>{if(this._locked||!e.hasModel())return;const i=e.getSelections(),n=i.length;let s=!1;for(let a=0;a<n;a++)if(!i[a].isEmpty()){s=!0;break}if(!s){this._lastOvertyped.length!==0&&(this._lastOvertyped.length=0);return}this._lastOvertyped=[];const r=e.getModel();for(let a=0;a<n;a++){const c=i[a];if(r.getValueLengthInRange(c)>_b._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()}};_b._maxSelectionLength=51200;let AC=_b;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},Pw=function(o,e){return function(t,i){e(t,i,o)}};let OC=class{constructor(e,t,i,n,s){this._menuId=t,this._menuService=n,this._contextKeyService=s,this._menuDisposables=new He,this.element=ct(e,mt(".suggest-status-bar"));const r=(a=>a instanceof tg?i.createInstance(d2,a,{useComma:!0}):void 0);this._leftActions=new $f(this.element,{actionViewItemProvider:r}),this._rightActions=new $f(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()}};OC=Sj([Pw(2,hi),Pw(3,bh),Pw(4,Vi)],OC);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 z1(o){return!!o&&!!(o.completion.documentation||o.completion.detail&&o.completion.detail!==o.completion.label)}let FC=class{constructor(e,t){this._editor=e,this._onDidClose=new pi,this.onDidClose=this._onDidClose.event,this._onDidChangeContents=new pi,this.onDidChangeContents=this._onDidChangeContents.event,this._disposables=new He,this._renderDisposeable=new He,this._borderWidth=1,this._size=new vn(330,0),this.domNode=mt(".suggest-details"),this.domNode.classList.add("no-docs"),this._markdownRenderer=t.createInstance(Eg,{editor:e}),this._body=mt(".body"),this._scrollbar=new GE(this._body,{alwaysConsumeMouseWheel:!0}),ct(this.domNode,this._scrollbar.getDomNode()),this._disposables.add(this._scrollbar),this._header=ct(this._body,mt(".header")),this._close=ct(this._header,mt("span"+Ki.asCSSSelector(Yt.close))),this._close.title=y("details.close","Close"),this._type=ct(this._header,mt("p.type")),this._docs=ct(this._body,mt("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=y("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 Ws().appendCodeblock("empty",r),i=`Provider: ${e.provider._debugDisplayName}`}if(!t&&!z1(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,gr(this._type),this._type.classList.toggle("auto-wrap",!/\r?\n^\s+/gmi.test(r))}else La(this._type),this._type.title="",ko(this._type),this.domNode.classList.add("no-type");if(La(this._docs),typeof n=="string")this._docs.classList.remove("markdown-docs"),this._docs.textContent=n;else if(n){this._docs.classList.add("markdown-docs"),La(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 vn(e,t);vn.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}};FC=Cj([xj(1,hi)],FC);class Lj{constructor(e,t){this.widget=e,this._editor=t,this.allowEditorOverflow=!0,this._disposables=new He,this._added=!1,this._preferAlignAtTop=!0,this._resizable=new y1,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=Kp(this.getDomNode().ownerDocument.body),s=this.widget.getLayoutInfo(),r=new vn(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 vn(F,n.height-e.top-s.borderHeight-s.verticalPadding),me=X.with(void 0,e.top+e.height-s.borderHeight-s.verticalPadding);return{top:a,left:Y,fit:F-t.width,maxSizeTop:X,maxSizeBottom:me,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 vn(F,n.height-e.top-s.borderHeight-s.verticalPadding),me=X.with(void 0,e.top+e.height-s.borderHeight-s.verticalPadding);return{top:a,left:Y,fit:F-t.width,maxSizeTop:X,maxSizeBottom:me,minSize:r.with(Math.min(F,r.width))}})(),g=(function(){const F=e.left,Y=-s.borderWidth+e.top+e.height,X=new vn(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 _,w=t.height;const S=Math.max(p.maxSizeTop.height,p.maxSizeBottom.height);w>S&&(w=S);let D;i?w<=p.maxSizeTop.height?(_=!0,D=p.maxSizeTop):(_=!1,D=p.maxSizeBottom):w<=p.maxSizeBottom.height?(_=!1,D=p.maxSizeBottom):(_=!0,D=p.maxSizeTop);let{top:P,left:N}=p;!_&&w>e.height&&(P=v-w);const V=this._editor.getDomNode();if(V){const F=V.getBoundingClientRect();P-=F.top,N-=F.left}this._applyTopLeft({left:N,top:P}),this._resizable.enableSashes(!_,p===c,_,p!==c),this._resizable.minSize=p.minSize,this._resizable.maxSize=D,this._resizable.layout(w,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 Ca;(function(o){o[o.FILE=0]="FILE",o[o.FOLDER=1]="FOLDER",o[o.ROOT_FOLDER=2]="ROOT_FOLDER"})(Ca||(Ca={}));const kj=/(?:\/|^)(?:([^\/]+)\/)?([^\/]+)$/;function Gm(o,e,t,i,n){if(Ki.isThemeIcon(n))return[`codicon-${n.id}`,"predefined-file-icon"];if(cn.isUri(n))return[];const s=i===Ca.ROOT_FOLDER?["rootfolder-icon"]:i===Ca.FOLDER?["folder-icon"]:["file-icon"];if(t){let r;if(t.scheme===Ys.data)r=z_.parseMetaData(t).get(z_.META_DATA_LABEL);else{const a=t.path.match(kj);a?(r=Zm(a[2].toLowerCase()),a[1]&&s.push(`${Zm(a[1].toLowerCase())}-name-dir-icon`)):r=Zm(t.authority.toLowerCase())}if(i===Ca.ROOT_FOLDER)s.push(`${r}-root-name-folder-icon`);else if(i===Ca.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(`${Zm(a)}-lang-file-icon`)}}return s}function Ij(o,e,t){if(!t)return null;let i=null;if(t.scheme===Ys.data){const s=z_.parseMetaData(t).get(z_.META_DATA_MIME);s&&(i=e.getLanguageIdByMimeType(s))}else{const n=o.getModel(t);n&&(i=n.getLanguageId())}return i&&i!==Jf?i:e.guessLanguageIdByFilepathOrFirstLine(t)}function Zm(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},Tw=function(o,e){return function(t,i){e(t,i,o)}};function pN(o){return`suggest-aria-id:${o}`}const Ej=Qn("suggest-more-info",Yt.chevronRight,y("suggestMoreInfoIcon","Icon for more information in the suggest widget."));var Hr;const Pj=new(Hr=class{extract(e,t){if(e.textLabel.match(Hr._regexStrict))return t[0]=e.textLabel,!0;if(e.completion.detail&&e.completion.detail.match(Hr._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=Hr._regexRelaxed.exec(i);if(n&&(n.index===0||n.index+n[0].length===i.length))return t[0]=n[0],!0}return!1}},Hr._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*\))/,Hr._regexStrict=new RegExp(`^${Hr._regexRelaxed.source}$`,"i"),Hr);let HC=class{constructor(e,t,i,n){this._editor=e,this._modelService=t,this._languageService=i,this._themeService=n,this._onDidToggleDetails=new pi,this.onDidToggleDetails=this._onDidToggleDetails.event,this.templateId="suggestion"}dispose(){this._onDidToggleDetails.dispose()}renderTemplate(e){const t=new He,i=e;i.classList.add("show-file-icons");const n=ct(e,mt(".icon")),s=ct(n,mt("span.colorspan")),r=ct(e,mt(".contents")),a=ct(r,mt(".main")),c=ct(a,mt(".icon-label.codicon")),h=ct(a,mt("span.left")),g=ct(a,mt("span.right")),f=new gE(h,{supportHighlights:!0,supportIcons:!0});t.add(f);const p=ct(h,mt("span.signature-label")),v=ct(h,mt("span.qualifier-label")),_=ct(g,mt("span.details-label")),w=ct(g,mt("span.readMore"+Ki.asCSSSelector(Ej)));return w.title=y("readMore","Read More"),{root:i,left:h,right:g,icon:n,colorspan:s,iconLabel:f,iconContainer:c,parametersLabel:p,qualifierLabel:v,detailsLabel:_,readMore:w,disposables:t,configureFont:()=>{const D=this._editor.getOptions(),P=D.get(50),N=P.getMassagedFontFamily(),V=P.fontFeatureSettings,F=D.get(120)||P.fontSize,Y=D.get(121)||P.lineHeight,X=P.fontWeight,me=P.letterSpacing,Le=`${F}px`,je=`${Y}px`,ve=`${me}px`;i.style.fontSize=Le,i.style.fontWeight=X,i.style.letterSpacing=ve,a.style.fontFamily=N,a.style.fontFeatureSettings=V,a.style.lineHeight=je,n.style.height=je,n.style.width=je,w.style.height=je,w.style.width=je}}}renderElement(e,t,i){i.configureFont();const{completion:n}=e;i.root.id=pN(t),i.colorspan.style.backgroundColor="";const s={labelEscapeNewLines:!0,matches:sy(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=Gm(this._modelService,this._languageService,cn.from({scheme:"fake",path:e.textLabel}),Ca.FILE),c=Gm(this._modelService,this._languageService,cn.from({scheme:"fake",path:n.detail}),Ca.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=[Gm(this._modelService,this._languageService,cn.from({scheme:"fake",path:e.textLabel}),Ca.FOLDER),Gm(this._modelService,this._languageService,cn.from({scheme:"fake",path:n.detail}),Ca.FOLDER)].flat()):(i.icon.className="icon hide",i.iconContainer.className="",i.iconContainer.classList.add("suggest-icon",...Ki.asClassNameArray(z0.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=Mw(n.detail||""),i.root.classList.add("string-label")):(i.parametersLabel.textContent=Mw(n.label.detail||""),i.detailsLabel.textContent=Mw(n.label.description||""),i.root.classList.remove("string-label")),this._editor.getOption(119).showInlineDetails?gr(i.detailsLabel):ko(i.detailsLabel),z1(e)?(i.right.classList.add("can-expand-details"),gr(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"),ko(i.readMore),i.readMore.onmousedown=null,i.readMore.onclick=null)}disposeTemplate(e){e.disposables.dispose()}};HC=Dj([Tw(1,Gs),Tw(2,Xr),Tw(3,Sr)],HC);function Mw(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},Xm=function(o,e){return function(t,i){e(t,i,o)}},ru;_t("editorSuggestWidget.background",ZE,y("editorSuggestWidgetBackground","Background color of the suggest widget."));_t("editorSuggestWidget.border",u2,y("editorSuggestWidgetBorder","Border color of the suggest widget."));const Mj=_t("editorSuggestWidget.foreground",Xp,y("editorSuggestWidgetForeground","Foreground color of the suggest widget."));_t("editorSuggestWidget.selectedForeground",XE,y("editorSuggestWidgetSelectedForeground","Foreground color of the selected entry in the suggest widget."));_t("editorSuggestWidget.selectedIconForeground",g2,y("editorSuggestWidgetSelectedIconForeground","Icon foreground color of the selected entry in the suggest widget."));const Nj=_t("editorSuggestWidget.selectedBackground",YE,y("editorSuggestWidgetSelectedBackground","Background color of the selected entry in the suggest widget."));_t("editorSuggestWidget.highlightForeground",JE,y("editorSuggestWidgetHighlightForeground","Color of the match highlights in the suggest widget."));_t("editorSuggestWidget.focusHighlightForeground",f2,y("editorSuggestWidgetFocusHighlightForeground","Color of the match highlights in the suggest widget when an item is focused."));_t("editorSuggestWidgetStatus.foreground",ka(Mj,.5),y("editorSuggestWidgetStatusForeground","Foreground color of the suggest widget status."));class Rj{constructor(e,t){this._service=e,this._key=`suggestWidget.size/${t.getEditorType()}/${t instanceof wr}`}restore(){const e=this._service.get(this._key,0)??"";try{const t=JSON.parse(e);if(vn.is(t))return vn.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 WC=(lc=class{constructor(e,t,i,n,s){this.editor=e,this._storageService=t,this._state=0,this._isAuto=!1,this._pendingLayout=new Mo,this._pendingShowDetails=new Mo,this._ignoreFocusEvents=!1,this._forceRenderingAbove=!1,this._explainMode=!1,this._showTimeout=new zp,this._disposables=new He,this._onDidSelect=new tk,this._onDidFocus=new tk,this._onDidHide=new pi,this._onDidShow=new pi,this.onDidSelect=this._onDidSelect.event,this.onDidFocus=this._onDidFocus.event,this.onDidHide=this._onDidHide.event,this.onDidShow=this._onDidShow.event,this._onDetailsKeydown=new pi,this.onDetailsKeyDown=this._onDetailsKeydown.event,this.element=new y1,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,_,w=!1,S=!1){this.persistedSize=v,this.currentSize=_,this.persistHeight=w,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:w,defaultSize:S}=this.getLayoutInfo(),D=Math.round(w/2);let{width:P,height:N}=this.element.size;(!a.persistHeight||Math.abs(a.currentSize.height-N)<=D)&&(N=((v=a.persistedSize)==null?void 0:v.height)??S.height),(!a.persistWidth||Math.abs(a.currentSize.width-P)<=D)&&(P=((_=a.persistedSize)==null?void 0:_.width)??S.width),this._persistedSize.store(new vn(P,N))}this._contentWidget.unlockPreference(),a=void 0}})),this._messageElement=ct(this.element.domNode,mt(".message")),this._listElement=ct(this.element.domNode,mt(".tree"));const c=this._disposables.add(s.createInstance(FC,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(HC,this.editor);this._disposables.add(g),this._disposables.add(g.onDidToggleDetails(()=>this.toggleDetails())),this._list=new D0("SuggestWidget",this._listElement,{getHeight:p=>this.getLayoutInfo().itemHeight,getTemplateId:p=>"suggestion"},[g],{alwaysConsumeMouseWheel:!0,useShadows:!1,mouseSupport:!1,multipleSelectionSupport:!1,accessibilityProvider:{getRole:()=>"option",getWidgetAriaLabel:()=>y("suggest","Suggest"),getWidgetRole:()=>"listbox",getAriaLabel:p=>{let v=p.textLabel;if(typeof p.completion.label!="string"){const{detail:D,description:P}=p.completion.label;D&&P?v=y("label.full","{0} {1}, {2}",v,D,P):D?v=y("label.detail","{0} {1}",v,D):P&&(v=y("label.desc","{0}, {1}",v,P))}if(!p.isResolved||!this._isDetailsVisible())return v;const{documentation:_,detail:w}=p.completion,S=W0("{0}{1}",w||"",_?typeof _=="string"?_:_.value:"");return y("ariaCurrenttSuggestionReadDetails","{0}, docs: {1}",v,S)}}}),this._list.style(QE({listInactiveFocusBackground:Nj,listInactiveFocusOutline:eh})),this._status=s.createInstance(OC,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=Zt.Visible.bindTo(i),this._ctxSuggestWidgetDetailsVisible=Zt.DetailsVisible.bindTo(i),this._ctxSuggestWidgetMultipleSuggestions=Zt.MultipleSuggestions.bindTo(i),this._ctxSuggestWidgetHasFocusedSuggestion=Zt.HasFocusedSuggestion.bindTo(i),this._disposables.add(ll(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=qf(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=ys(async s=>{const r=Uf(()=>{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:pN(i)}))}).catch(fn)),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:ko(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=ru.LOADING_MESSAGE,ko(this._listElement,this._status.element),gr(this._messageElement),this._details.hide(),this._show(),this._focusedItem=void 0,Yu(ru.LOADING_MESSAGE);break;case 2:this.element.domNode.classList.add("message"),this._messageElement.textContent=ru.NO_SUGGESTIONS_MESSAGE,ko(this._listElement,this._status.element),gr(this._messageElement),this._details.hide(),this._show(),this._focusedItem=void 0,Yu(ru.NO_SUGGESTIONS_MESSAGE);break;case 3:ko(this._messageElement),gr(this._listElement,this._status.element),this._show();break;case 4:ko(this._messageElement),gr(this._listElement,this._status.element),this._show();break;case 5:ko(this._messageElement),gr(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=Uf(()=>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=ik(nd(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")):(z1(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=ik(nd(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=Kp(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 vn(s,n),this._contentWidget.setPreference(2);else{const c=t.width-i.borderHeight-2*i.horizontalPadding;s>c&&(s=c);const h=this._completionModel?this._completionModel.stats.pLabelLen*i.typicalHalfwidthCharacterWidth:s,g=i.statusBarHeight+this._list.contentHeight+i.borderHeight,f=i.itemHeight+i.statusBarHeight,p=Qs(this.editor.getDomNode()),v=this.editor.getScrolledVisiblePosition(this.editor.getPosition()),_=p.top+v.top+v.height,w=Math.min(t.height-_-i.verticalPadding,g),S=p.top+v.top-i.verticalPadding,D=Math.min(S,g);let P=Math.min(Math.max(D,w)+i.borderHeight,g);n===((r=this._cappedHeight)==null?void 0:r.capped)&&(n=this._cappedHeight.wanted),n<f&&(n=f),n>P&&(n=P),n>w||this._forceRenderingAbove&&S>150?(this._contentWidget.setPreference(1),this.element.enableSashes(!0,!0,!1,!1),P=D):(this._contentWidget.setPreference(2),this.element.enableSashes(!1,!0,!0,!1),P=w),this.element.preferredSize=new vn(h,i.defaultSize.height),this.element.maxSize=new vn(c,P),this.element.minSize=new vn(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 vn(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}},ru=lc,lc.LOADING_MESSAGE=y("suggestWidget.loading","Loading..."),lc.NO_SUGGESTIONS_MESSAGE=y("suggestWidget.noSuggestions","No suggestions."),lc);WC=ru=Tj([Xm(1,Lc),Xm(2,Vi),Xm(3,Sr),Xm(4,hi)],WC);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 vn(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},Gh=function(o,e){return function(t,i){e(t,i,o)}},BC;class Fj{constructor(e,t){if(this._model=e,this._position=t,this._decorationOptions=Di.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(z.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 Rd;let pr=(Rd=class{static get(e){return e.getContribution(BC.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 Mo,this._toDispose=new He,this._selectors=new Hj(f=>f.priority),this._onWillInsertSuggestItem=new pi,this.onWillInsertSuggestItem=this._onWillInsertSuggestItem.event,this.editor=e,this.model=s.createInstance(kv,this.editor),this._selectors.register({priority:0,select:(f,p,v)=>this._memoryService.select(f,p,v)});const c=Zt.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 ew(nd(e.getDomNode()),()=>{const f=this._instantiationService.createInstance(WC,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=Zt.MakesTextEdit.bindTo(this._contextKeyService),_=Zt.HasInsertAndReplaceRange.bindTo(this._contextKeyService),w=Zt.CanResolve.bindTo(this._contextKeyService);return this._toDispose.add(Dn(()=>{v.reset(),_.reset(),w.reset()})),this._toDispose.add(f.onDidFocus(({item:S})=>{const D=this.editor.getPosition(),P=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-P===S.completion.insertText.length&&(V=this.editor.getModel().getValueInRange({startLineNumber:D.lineNumber,startColumn:P,endLineNumber:D.lineNumber,endColumn:N})!==S.completion.insertText),v.set(V),_.set(!kt.equals(S.editInsertEnd,S.editReplaceEnd)),w.set(!!S.provider.resolveCompletionItem||!!S.completion.documentation||S.completion.detail!==S.completion.label)})),this._toDispose.add(f.onDetailsKeyDown(S=>{if(S.toKeyCodeChord().equals(new nk(!0,!1,!1,!1,33))||Ea&&S.toKeyCodeChord().equals(new nk(!1,!1,!1,!0,33))){S.stopPropagation();return}S.toKeyCodeChord().isModifierKey()||this.editor.focus()})),f})),this._overtypingCapturer=this._toDispose.add(new ew(nd(e.getDomNode()),()=>this._toDispose.add(new AC(this.editor,this.model)))),this._alternatives=this._toDispose.add(new ew(nd(e.getDomNode()),()=>this._toDispose.add(new bg(this.editor,this._contextKeyService)))),this._toDispose.add(s.createInstance(Cv,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=Zt.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=qs.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 ws;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 _=Ju.capture(this.editor);this.editor.executeEdits("suggestController.additionalTextEdits.sync",r.completion.additionalTextEdits.map(w=>{let S=z.lift(w.range);if(S.startLineNumber===r.position.lineNumber&&S.startColumn>r.position.column){const D=this.editor.getPosition().column-r.position.column,P=D,N=z.spansMultipleLines(S)?0:D;S=new z(S.startLineNumber,S.startColumn+P,S.endLineNumber,S.endColumn+N)}return Xn.replaceMove(S,w.text)})),_.restoreRelativeVerticalPositionOfCursor(this.editor)}else if(!g){const _=new vo;let w;const S=n.onDidChangeContent(V=>{if(V.isFlush){c.cancel(),S.dispose();return}for(const F of V.changes){const Y=z.getEndPosition(F.range);(!w||kt.isBefore(Y,w))&&(w=Y)}}),D=t;t|=2;let P=!1;const N=this.editor.onWillType(()=>{N.dispose(),P=!0,D&2||this.editor.pushUndoStop()});a.push(r.resolve(c.token).then(()=>{if(!r.completion.additionalTextEdits||c.token.isCancellationRequested)return;if(w&&r.completion.additionalTextEdits.some(F=>kt.isBefore(w,z.getStartPosition(F.range))))return!1;P&&this.editor.pushUndoStop();const V=Ju.capture(this.editor);return this.editor.executeEdits("suggestController.additionalTextEdits.async",r.completion.additionalTextEdits.map(F=>Xn.replaceMove(z.lift(F.range),F.text))),V.restoreRelativeVerticalPositionOfCursor(this.editor),(P||!(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=ah.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===Iv.id)this.model.trigger({auto:!0,retrigger:!0});else{const _=new vo;a.push(this._commandService.executeCommand(r.completion.command.id,...r.completion.command.arguments?[...r.completion.command.arguments]:[]).catch(w=>{r.completion.extensionId?is(w):fn(w)}).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:EE(Pa(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){Ui(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(Eo(e.completion.additionalTextEdits)){const t=y("aria.alert.snippet","Accepting '{0}' made {1} additional edits",e.textLabel,e.completion.additionalTextEdits.length);br(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};ds.once(this.model.onDidTrigger)(s=>{const r=[];ds.any(this.model.onDidTrigger,this.model.onDidCancel)(()=>{zs(r),i()},void 0,r),this.model.onDidSuggest(({completionModel:a})=>{if(zs(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)}},BC=Rd,Rd.ID="editor.contrib.suggestController",Rd);pr=BC=Oj([Gh(1,Ay),Gh(2,ms),Gh(3,Vi),Gh(4,hi),Gh(5,wh),Gh(6,Zr)],pr);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 vb=class vb extends Se{constructor(){super({id:vb.id,label:y("suggest.trigger.label","Trigger Suggest"),alias:"Trigger Suggest",precondition:ae.and(M.writable,M.hasCompletionItemProvider,Zt.Visible.toNegated()),kbOpts:{kbExpr:M.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[521,2087]},weight:100}})}run(e,t,i){const n=pr.get(t);if(!n)return;let s;i&&typeof i=="object"&&i.auto===!0&&(s=!0),n.triggerSuggest(void 0,s,void 0)}};vb.id="editor.action.triggerSuggest";let Iv=vb;bi(pr.ID,pr,2);ne(Iv);const No=190,Zs=no.bindToContribution(pr.get);Mt(new Zs({id:"acceptSelectedSuggestion",precondition:ae.and(Zt.Visible,Zt.HasFocusedSuggestion),handler(o){o.acceptSelectedSuggestion(!0,!1)},kbOpts:[{primary:2,kbExpr:ae.and(Zt.Visible,M.textInputFocus),weight:No},{primary:3,kbExpr:ae.and(Zt.Visible,M.textInputFocus,Zt.AcceptSuggestionsOnEnter,Zt.MakesTextEdit),weight:No}],menuOpts:[{menuId:Jl,title:y("accept.insert","Insert"),group:"left",order:1,when:Zt.HasInsertAndReplaceRange.toNegated()},{menuId:Jl,title:y("accept.insert","Insert"),group:"left",order:1,when:ae.and(Zt.HasInsertAndReplaceRange,Zt.InsertMode.isEqualTo("insert"))},{menuId:Jl,title:y("accept.replace","Replace"),group:"left",order:1,when:ae.and(Zt.HasInsertAndReplaceRange,Zt.InsertMode.isEqualTo("replace"))}]}));Mt(new Zs({id:"acceptAlternativeSelectedSuggestion",precondition:ae.and(Zt.Visible,M.textInputFocus,Zt.HasFocusedSuggestion),kbOpts:{weight:No,kbExpr:M.textInputFocus,primary:1027,secondary:[1026]},handler(o){o.acceptSelectedSuggestion(!1,!0)},menuOpts:[{menuId:Jl,group:"left",order:2,when:ae.and(Zt.HasInsertAndReplaceRange,Zt.InsertMode.isEqualTo("insert")),title:y("accept.replace","Replace")},{menuId:Jl,group:"left",order:2,when:ae.and(Zt.HasInsertAndReplaceRange,Zt.InsertMode.isEqualTo("replace")),title:y("accept.insert","Insert")}]}));wn.registerCommandAlias("acceptSelectedSuggestionOnEnter","acceptSelectedSuggestion");Mt(new Zs({id:"hideSuggestWidget",precondition:Zt.Visible,handler:o=>o.cancelSuggestWidget(),kbOpts:{weight:No,kbExpr:M.textInputFocus,primary:9,secondary:[1033]}}));Mt(new Zs({id:"selectNextSuggestion",precondition:ae.and(Zt.Visible,ae.or(Zt.MultipleSuggestions,Zt.HasFocusedSuggestion.negate())),handler:o=>o.selectNextSuggestion(),kbOpts:{weight:No,kbExpr:M.textInputFocus,primary:18,secondary:[2066],mac:{primary:18,secondary:[2066,300]}}}));Mt(new Zs({id:"selectNextPageSuggestion",precondition:ae.and(Zt.Visible,ae.or(Zt.MultipleSuggestions,Zt.HasFocusedSuggestion.negate())),handler:o=>o.selectNextPageSuggestion(),kbOpts:{weight:No,kbExpr:M.textInputFocus,primary:12,secondary:[2060]}}));Mt(new Zs({id:"selectLastSuggestion",precondition:ae.and(Zt.Visible,ae.or(Zt.MultipleSuggestions,Zt.HasFocusedSuggestion.negate())),handler:o=>o.selectLastSuggestion()}));Mt(new Zs({id:"selectPrevSuggestion",precondition:ae.and(Zt.Visible,ae.or(Zt.MultipleSuggestions,Zt.HasFocusedSuggestion.negate())),handler:o=>o.selectPrevSuggestion(),kbOpts:{weight:No,kbExpr:M.textInputFocus,primary:16,secondary:[2064],mac:{primary:16,secondary:[2064,302]}}}));Mt(new Zs({id:"selectPrevPageSuggestion",precondition:ae.and(Zt.Visible,ae.or(Zt.MultipleSuggestions,Zt.HasFocusedSuggestion.negate())),handler:o=>o.selectPrevPageSuggestion(),kbOpts:{weight:No,kbExpr:M.textInputFocus,primary:11,secondary:[2059]}}));Mt(new Zs({id:"selectFirstSuggestion",precondition:ae.and(Zt.Visible,ae.or(Zt.MultipleSuggestions,Zt.HasFocusedSuggestion.negate())),handler:o=>o.selectFirstSuggestion()}));Mt(new Zs({id:"focusSuggestion",precondition:ae.and(Zt.Visible,Zt.HasFocusedSuggestion.negate()),handler:o=>o.focusSuggestion(),kbOpts:{weight:No,kbExpr:M.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[2087]}}}));Mt(new Zs({id:"focusAndAcceptSuggestion",precondition:ae.and(Zt.Visible,Zt.HasFocusedSuggestion.negate()),handler:o=>{o.focusSuggestion(),o.acceptSelectedSuggestion(!0,!1)}}));Mt(new Zs({id:"toggleSuggestionDetails",precondition:ae.and(Zt.Visible,Zt.HasFocusedSuggestion),handler:o=>o.toggleSuggestionDetails(),kbOpts:{weight:No,kbExpr:M.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[2087]}},menuOpts:[{menuId:Jl,group:"right",order:1,when:ae.and(Zt.DetailsVisible,Zt.CanResolve),title:y("detail.more","Show Less")},{menuId:Jl,group:"right",order:1,when:ae.and(Zt.DetailsVisible.toNegated(),Zt.CanResolve),title:y("detail.less","Show More")}]}));Mt(new Zs({id:"toggleExplainMode",precondition:Zt.Visible,handler:o=>o.toggleExplainMode(),kbOpts:{weight:100,primary:2138}}));Mt(new Zs({id:"toggleSuggestionFocus",precondition:Zt.Visible,handler:o=>o.toggleSuggestionFocus(),kbOpts:{weight:No,kbExpr:M.textInputFocus,primary:2570,mac:{primary:778}}}));Mt(new Zs({id:"insertBestCompletion",precondition:ae.and(M.textInputFocus,ae.equals("config.editor.tabCompletion","on"),Cv.AtEnd,Zt.Visible.toNegated(),bg.OtherSuggestions.toNegated(),qs.InSnippetMode.toNegated()),handler:(o,e)=>{o.triggerSuggestAndAcceptBest(PE(e)?{fallback:"tab",...e}:{fallback:"tab"})},kbOpts:{weight:No,primary:2}}));Mt(new Zs({id:"insertNextSuggestion",precondition:ae.and(M.textInputFocus,ae.equals("config.editor.tabCompletion","on"),bg.OtherSuggestions,Zt.Visible.toNegated(),qs.InSnippetMode.toNegated()),handler:o=>o.acceptNextSuggestion(),kbOpts:{weight:No,kbExpr:M.textInputFocus,primary:2}}));Mt(new Zs({id:"insertPrevSuggestion",precondition:ae.and(M.textInputFocus,ae.equals("config.editor.tabCompletion","on"),bg.OtherSuggestions,Zt.Visible.toNegated(),qs.InSnippetMode.toNegated()),handler:o=>o.acceptPrevSuggestion(),kbOpts:{weight:No,kbExpr:M.textInputFocus,primary:1026}}));ne(class extends Se{constructor(){super({id:"editor.action.resetSuggestSize",label:y("suggest.reset.label","Reset Suggest Widget Size"),alias:"Reset Suggest Widget Size",precondition:void 0})}run(o,e){var t;(t=pr.get(e))==null||t.resetWidgetSize()}});class Wj extends Ve{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 pi),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=pr.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?hd(f,g):void 0;if(!p)return-1;const v=kt.lift(c),_=h.map((S,D)=>{const P=Nf.fromSuggestion(n,g,v,S,this.isShiftKeyPressed),N=hd(P.toSingleTextEdit(),g),V=fN(p,N);return{index:D,valid:V,prefixLength:N.text.length,suggestItem:S}}).filter(S=>S&&S.valid&&S.prefixLength>0),w=_2(_,Zp(S=>S.prefixLength,ny));return w?w.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(ds.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=Nf.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=pr.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 Nf.fromSuggestion(e,n,i,t.item,this.isShiftKeyPressed)}stopForceRenderingAbove(){const e=pr.get(this.editor);e==null||e.stopForceRenderingAbove()}forceRenderingAbove(){const e=pr.get(this.editor);e==null||e.forceRenderingAbove()}}class Nf{static fromSuggestion(e,t,i,n,s){let{insertText:r}=n.completion,a=!1;if(n.completion.insertTextRules&4){const h=new ah().parse(r);h.children.length<100&&Sv.adjustWhitespace(t,i,!0,h),r=h.toString(),a=!0}const c=e.getOverwriteInfo(n,s);return new Nf(z.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 cl(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},Ba=function(o,e){return function(t,i){e(t,i,o)}},zC,Ad;let Go=(Ad=class extends Ve{static get(e){return e.getContribution(zC.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=ma(this.editor),this._positions=Qi(this,p=>{var v;return((v=this._editorObs.selections.read(p))==null?void 0:v.map(_=>_.getEndPosition()))??[new kt(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=uo(this,p=>this._suggestWidgetAdaptor.onDidSelectedItemChange(()=>{this._editorObs.forceUpdate(v=>p(void 0))}),()=>this._suggestWidgetAdaptor.selectedItem),this._enabledInConfig=uo(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(62).enabled),this._isScreenReaderEnabled=uo(this,this._accessibilityService.onDidChangeScreenReaderOptimized,()=>this._accessibilityService.isScreenReaderOptimized()),this._editorDictationInProgress=uo(this,this._contextKeyService.onDidChangeContext,()=>this._contextKeyService.getContext(this.editor.getDomNode()).getValue("editorDictation.inProgress")===!0),this._enabled=Qi(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(TC,v,this._suggestWidgetSelectedItem,this._editorObs.versionId,this._positions,this._debounceValue,uo(this.editor.onDidChangeConfiguration,()=>this.editor.getOption(119).preview),uo(this.editor.onDidChangeConfiguration,()=>this.editor.getOption(119).previewMode),uo(this.editor.onDidChangeConfiguration,()=>this.editor.getOption(62).mode),this._enabled):void 0}).recomputeInitiallyAndOnChange(this._store),this._ghostTexts=Qi(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(EC,this.editor,{ghostText:p,minReservedLineCount:Xa(0),targetTextModel:this.model.map(_=>_==null?void 0:_.textModel)}))).recomputeInitiallyAndOnChange(this._store),this._playAccessibilitySignal=B0(this),this._fontFamily=uo(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(62).fontFamily),this._register(new _o(this._contextKeyService,this.model)),this._register(sk(this._editorObs.onDidType,(p,v)=>{var _;this._enabled.get()&&((_=this.model.get())==null||_.trigger())})),this._register(this._commandService.onDidExecuteCommand(p=>{new Set([c_.Tab.id,c_.DeleteLeft.id,c_.DeleteRight.id,CM,"acceptSelectedSuggestion"]).has(p.commandId)&&e.hasTextFocus()&&this._enabled.get()&&this._editorObs.forceUpdate(_=>{var w;(w=this.model.get())==null||w.trigger(_)})})),this._register(sk(this._editorObs.selections,(p,v)=>{var _;v.some(w=>w.reason===3||w.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||gg.dropDownVisible||yh(p=>{var v;(v=this.model.get())==null||v.stop(p)})})),this._register(jn(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(Dn(()=>{this._suggestWidgetAdaptor.stopForceRenderingAbove()}));const f=ty(this,(p,v)=>{var S;const _=this.model.read(p),w=_==null?void 0:_.state.read(p);return this._suggestWidgetSelectedItem.get()?v:(S=w==null?void 0:w.inlineCompletion)==null?void 0:S.semanticId});this._register(y2(Qi(p=>(this._playAccessibilitySignal.read(p),f.read(p),{})),async(p,v,_)=>{const w=this.model.get(),S=w==null?void 0:w.state.get();if(!S||!w)return;const D=w.textModel.getLineContent(S.primaryGhostText.lineNumber);await ly(50,rS(_)),await w2(this._suggestWidgetSelectedItem,rf,()=>!1,rS(_)),await this._accessibilitySignalService.playSignal(ME.inlineSuggestion),this.editor.getOption(8)&&this._provideScreenReaderUpdate(S.primaryGhostText.renderForScreenReader(D))})),this._register(new GS(this.editor,this.model,this._instantiationService)),this._register(MV(Qi(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=y("showAccessibleViewHint","Inspect this in the accessible view ({0})",i.getAriaLabel())),br(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 kt(t.lineNumber,n.column))):!1}shouldShowHoverAtViewZone(e){var t;return((t=this._ghostTextWidgets.get()[0])==null?void 0:t.ownsViewZone(e))??!1}},zC=Ad,Ad.ID="editor.contrib.inlineCompletionsController",Ad);Go=zC=zj([Ba(1,hi),Ba(2,Vi),Ba(3,Pn),Ba(4,ms),Ba(5,Zo),Ba(6,It),Ba(7,TE),Ba(8,as),Ba(9,iy)],Go);function Vj(o,e){const t=Po("result",[]),i=[];return e.add(jn(n=>{const s=o.read(n);yh(r=>{if(s.length!==i.length){i.length=s.length;for(let a=0;a<i.length;a++)i[a]||(i[a]=Po("item",s[a]));t.set([...i],r)}i.forEach((a,c)=>a.set(s[c],r))})})),t}const bb=class bb extends Se{constructor(){super({id:bb.ID,label:y("action.inlineSuggest.showNext","Show Next Inline Suggestion"),alias:"Show Next Inline Suggestion",precondition:ae.and(M.writable,_o.inlineSuggestionVisible),kbOpts:{weight:100,primary:606}})}async run(e,t){var n;const i=Go.get(t);(n=i==null?void 0:i.model.get())==null||n.next()}};bb.ID=LM;let VC=bb;const yb=class yb extends Se{constructor(){super({id:yb.ID,label:y("action.inlineSuggest.showPrevious","Show Previous Inline Suggestion"),alias:"Show Previous Inline Suggestion",precondition:ae.and(M.writable,_o.inlineSuggestionVisible),kbOpts:{weight:100,primary:604}})}async run(e,t){var n;const i=Go.get(t);(n=i==null?void 0:i.model.get())==null||n.previous()}};yb.ID=xM;let jC=yb;class jj extends Se{constructor(){super({id:"editor.action.inlineSuggest.trigger",label:y("action.inlineSuggest.trigger","Trigger Inline Suggestion"),alias:"Trigger Inline Suggestion",precondition:M.writable})}async run(e,t){const i=Go.get(t);await eP(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 Se{constructor(){super({id:"editor.action.inlineSuggest.acceptNextWord",label:y("action.inlineSuggest.acceptNextWord","Accept Next Word Of Inline Suggestion"),alias:"Accept Next Word Of Inline Suggestion",precondition:ae.and(M.writable,_o.inlineSuggestionVisible),kbOpts:{weight:101,primary:2065,kbExpr:ae.and(M.writable,_o.inlineSuggestionVisible)},menuOpts:[{menuId:lt.InlineSuggestionToolbar,title:y("acceptWord","Accept Word"),group:"primary",order:2}]})}async run(e,t){var n;const i=Go.get(t);await((n=i==null?void 0:i.model.get())==null?void 0:n.acceptNextWord(i.editor))}}class $j extends Se{constructor(){super({id:"editor.action.inlineSuggest.acceptNextLine",label:y("action.inlineSuggest.acceptNextLine","Accept Next Line Of Inline Suggestion"),alias:"Accept Next Line Of Inline Suggestion",precondition:ae.and(M.writable,_o.inlineSuggestionVisible),kbOpts:{weight:101},menuOpts:[{menuId:lt.InlineSuggestionToolbar,title:y("acceptLine","Accept Line"),group:"secondary",order:2}]})}async run(e,t){var n;const i=Go.get(t);await((n=i==null?void 0:i.model.get())==null?void 0:n.acceptNextLine(i.editor))}}class qj extends Se{constructor(){super({id:CM,label:y("action.inlineSuggest.accept","Accept Inline Suggestion"),alias:"Accept Inline Suggestion",precondition:_o.inlineSuggestionVisible,menuOpts:[{menuId:lt.InlineSuggestionToolbar,title:y("accept","Accept"),group:"primary",order:1}],kbOpts:{primary:2,weight:200,kbExpr:ae.and(_o.inlineSuggestionVisible,M.tabMovesFocus.toNegated(),_o.inlineSuggestionHasIndentationLessThanTabSize,Zt.Visible.toNegated(),M.hoverFocused.toNegated())}})}async run(e,t){var n;const i=Go.get(t);i&&((n=i.model.get())==null||n.accept(i.editor),i.editor.focus())}}const wb=class wb extends Se{constructor(){super({id:wb.ID,label:y("action.inlineSuggest.hide","Hide Inline Suggestion"),alias:"Hide Inline Suggestion",precondition:_o.inlineSuggestionVisible,kbOpts:{weight:100,primary:9}})}async run(e,t){const i=Go.get(t);yh(n=>{var s;(s=i==null?void 0:i.model.get())==null||s.stop(n)})}};wb.ID="editor.action.inlineSuggest.hide";let UC=wb;const Sb=class Sb extends io{constructor(){super({id:Sb.ID,title:y("action.inlineSuggest.alwaysShowToolbar","Always Show Toolbar"),f1:!1,precondition:void 0,menu:[{id:lt.InlineSuggestionToolbar,group:"secondary",order:10}],toggled:ae.equals("config.editor.inlineSuggest.showToolbar","always")})}async run(e,t){const i=e.get(Pn),s=i.getValue("editor.inlineSuggest.showToolbar")==="always"?"onHover":"always";i.updateValue("editor.inlineSuggest.showToolbar",s)}};Sb.ID="editor.action.inlineSuggest.toggleAlwaysShowToolbar";let $C=Sb;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},ef=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 qC=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=Go.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 b_(1e3,this,z.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 b_(1e3,this,i.range,e.event.posx,e.event.posy,!1):i.type===6&&i.detail.mightBeForeignElement&&t.shouldShowHoverAt(i.range)?new b_(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=Go.get(this._editor);return i&&i.shouldShowHoverAt(e.range)?[new Gj(this,e.range,i)]:[]}renderHoverParts(e,t){const i=new He,n=t[0];this._telemetryService.publicLog2("inlineCompletionHover.shown"),this.accessibilityService.isScreenReaderOptimized()&&!this._editor.getOption(8)&&i.add(this.renderScreenReaderText(e,n));const s=n.controller.model.get(),r=this._instantiationService.createInstance(gg,this._editor,!1,Xa(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 hh([c])}renderScreenReaderText(e,t){const i=new He,n=mt,s=n("div.hover-row.markdown-hover"),r=ct(s,n("div.hover-contents",{"aria-live":"assertive"})),a=i.add(new Eg({editor:this._editor},this._languageService,this._openerService)),c=h=>{i.add(a.onDidRenderAsync(()=>{r.className="hover-contents code-hover-contents",e.onContentsChanged()}));const g=y("inlineSuggestionFollows","Suggestion:"),f=i.add(a.render(new Ws().appendText(g).appendCodeblock("text",h)));r.replaceChildren(f.element)};return i.add(jn(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 A_(r)})),e.fragment.appendChild(s),i}};qC=Kj([ef(1,Xr),ef(2,Gr),ef(3,iy),ef(4,hi),ef(5,Zr)],qC);class Zj{}const Oy=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}};bi(Go.ID,Go,3);ne(jj);ne(VC);ne(jC);ne(Uj);ne($j);ne(qj);ne(UC);tn($C);Lh.register(qC);Oy.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},Nw=function(o,e){return function(t,i){e(t,i,o)}},ff,cc;let mp=(cc=class{constructor(e,t,i,n){this.textModelResolverService=t,this.languageService=i,this.languageFeaturesService=n,this.toUnhook=new He,this.toUnhookForKeyboard=new He,this.currentWordAtPosition=null,this.previousPromise=null,this.editor=e,this.linkDecorations=this.editor.createDecorationsCollection();const s=new Dy(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=>{fn(a)}).finally(()=>{this.removeLinkDecorations()})})),this.toUnhook.add(s.onCancel(()=>{this.removeLinkDecorations(),this.currentWordAtPosition=null}))}static get(e){return e.getContribution(ff.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 tP(this.editor,15);this.previousPromise&&(this.previousPromise.cancel(),this.previousPromise=null),this.previousPromise=ys(a=>this.findDefinition(e,a));let n;try{n=await this.previousPromise}catch(a){fn(a);return}if(!n||!n.length||!i.validate(this.editor)){this.removeLinkDecorations();return}const s=n[0].originSelectionRange?z.lift(n[0].originSelectionRange):new z(e.lineNumber,t.startColumn,e.lineNumber,t.endColumn);if(n.length>1){let a=s;for(const{originSelectionRange:c}of n)c&&(a=z.plusRange(a,c));this.addDecoration(a,new Ws().appendText(y("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 Ws().appendCodeblock(p||"",f):void 0),c.dispose()})}}getPreviewValue(e,t,i){let n=i.range;return n.endLineNumber-n.startLineNumber>=ff.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+ff.MAX_SOURCE_PREVIEW_LINES);let s=t+1;for(;s<n;s++){const r=e.getLineFirstNonWhitespaceColumn(s);if(i===r)break}return new z(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 H0)&&(e.hasTriggerModifier||(t?t.keyCodeIsTriggerKey:!1))&&this.languageFeaturesService.definitionProvider.has(this.editor.getModel())}findDefinition(e,t){const i=this.editor.getModel();return i?cm(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 hm({openToSide:t,openInPeek:n,muteMessage:!0},{title:{value:"",original:""},id:"",precondition:void 0}).run(i)})}isInPeekEditor(e){const t=e.get(Vi);return eo.inPeekEditor.getValue(t)}dispose(){this.toUnhook.dispose(),this.toUnhookForKeyboard.dispose()}},ff=cc,cc.ID="editor.contrib.gotodefinitionatposition",cc.MAX_SOURCE_PREVIEW_LINES=8,cc);mp=ff=Xj([Nw(1,Yr),Nw(2,Xr),Nw(3,It)],mp);bi(mp.ID,mp,2);var mN=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Dv=function(o,e){return function(t,i){e(t,i,o)}};class VI{constructor(e,t,i){this.marker=e,this.index=t,this.total=i}}let KC=class{constructor(e,t,i){this._markerService=t,this._configService=i,this._onDidChange=new pi,this.onDidChange=this._onDidChange.event,this._dispoables=new He,this._markers=[],this._nextIdx=-1,cn.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=ok(a.resource.toString(),c.resource.toString());return h===0&&(n==="position"?h=z.compareRangesUsingStarts(a,c)||Vs.compare(a.severity,c.severity):h=Vs.compare(a.severity,c.severity)||z.compareRangesUsingStarts(a,c)),h},r=()=>{this._markers=this._markerService.read({resource:cn.isUri(e)?e:void 0,severities:Vs.Error|Vs.Warning|Vs.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 VI(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=B_(this._markers,{resource:e.uri},(r,a)=>ok(r.resource.toString(),a.resource.toString())),s<0&&(s=~s));for(let r=s;r<this._markers.length;r++){let a=z.lift(this._markers[r]);if(a.isEmpty()){const c=e.getWordAtPosition(a.getStartPosition());c&&(a=new z(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(z.containsPosition(this._markers[i],t))return new VI(this._markers[i],i+1,this._markers.length)}}};KC=mN([Dv(1,P0),Dv(2,Pn)],KC);const _N=_l("IMarkerNavigationService");let GC=class{constructor(e,t){this._markerService=e,this._configService=t,this._provider=new $E}getMarkerList(e){for(const t of this._provider){const i=t.getMarkerList(e);if(i)return i}return new KC(e,this._markerService,this._configService)}};GC=mN([Dv(0,P0),Dv(1,Pn)],GC);vl(_N,GC,1);var ZC;(function(o){function e(t){switch(t){case Pm.Ignore:return"severity-ignore "+Ki.asClassName(Yt.info);case Pm.Info:return Ki.asClassName(Yt.info);case Pm.Warning:return Ki.asClassName(Yt.warning);case Pm.Error:return Ki.asClassName(Yt.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},Zh=function(o,e){return function(t,i){e(t,i,o)}},XC;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 He,this._editor=t;const r=document.createElement("div");r.className="descriptioncontainer",this._messageBlock=document.createElement("div"),this._messageBlock.classList.add("message"),this._messageBlock.setAttribute("aria-live","assertive"),this._messageBlock.setAttribute("role","alert"),r.appendChild(this._messageBlock),this._relatedBlock=document.createElement("div"),r.appendChild(this._relatedBlock),this._disposables.add(ll(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(){zs(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=ay(i);this._lines=a.length,this._longestLineLength=0;for(const p of a)this._longestLineLength=Math.max(p.length+r,this._longestLineLength);La(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=mt("a.code-link"),this._codeLink.setAttribute("href",`${s.target.toString()}`),this._codeLink.onclick=_=>{this._openerService.open(s.target,{allowCommands:!0}),_.preventDefault(),_.stopPropagation()};const v=ct(this._codeLink,mt("span"));v.innerText=s.value,p.appendChild(this._codeLink)}}if(La(this._relatedBlock),this._editor.applyFontInfo(this._relatedBlock),Eo(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"),w=document.createElement("a");w.classList.add("filename"),w.innerText=`${this._labelService.getUriBasenameLabel(v.resource)}(${v.startLineNumber}, ${v.startColumn}): `,w.title=this._labelService.getUriLabel(v.resource),this._relatedDiagnostics.set(w,v);const S=document.createElement("span");S.innerText=v.message,_.appendChild(w),_.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 Vs.Error:t=y("Error","Error");break;case Vs.Warning:t=y("Warning","Warning");break;case Vs.Info:t=y("Info","Info");break;case Vs.Hint:t=y("Hint","Hint");break}let i=y("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 Od;let _p=(Od=class extends ov{constructor(e,t,i,n,s,r,a){super(e,{showArrow:!0,showFrame:!0,isAccessible:!0,frameWidth:1},s),this._themeService=t,this._openerService=i,this._menuService=n,this._contextKeyService=r,this._labelService=a,this._callOnDispose=new He,this._onDidSelectRelatedInformation=new pi,this.onDidSelectRelatedInformation=this._onDidSelectRelatedInformation.event,this._severity=Vs.Warning,this._backgroundColor=ki.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=YC,i=Qj;this._severity===Vs.Warning?(t=C_,i=eU):this._severity===Vs.Info&&(t=JC,i=tU);const n=e.getColor(t),s=e.getColor(i);this.style({arrowColor:n,frameColor:n,headerBackgroundColor:s,primaryHeadingColor:e.getColor(AM),secondaryHeadingColor:e.getColor(OM)})}_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(XC.TitleMenu,this._contextKeyService);N0(i,t),this._actionbarWidget.push(t,{label:!1,icon:!0,index:0})}_fillTitleIcon(e){this._icon=ct(e,mt(""))}_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=z.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?y("problems","{0} of {1} problems",t,i):y("change","{0} of {1} problem",t,i);this.setTitle(Pa(a.uri),c)}this._icon.className=`codicon ${ZC.className(Vs.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()}},XC=Od,Od.TitleMenu=new lt("gotoErrorTitleMenu"),Od);_p=XC=Yj([Zh(1,Sr),Zh(2,Gr),Zh(3,bh),Zh(4,hi),Zh(5,Vi),Zh(6,Xf)],_p);const jI=V0(C2,S2),UI=V0(L2,x2),$I=V0(eS,k2),YC=_t("editorMarkerNavigationError.background",{dark:jI,light:jI,hcDark:al,hcLight:al},y("editorMarkerNavigationError","Editor marker navigation widget error color.")),Qj=_t("editorMarkerNavigationError.headerBackground",{dark:ka(YC,.1),light:ka(YC,.1),hcDark:null,hcLight:null},y("editorMarkerNavigationErrorHeaderBackground","Editor marker navigation widget error heading background.")),C_=_t("editorMarkerNavigationWarning.background",{dark:UI,light:UI,hcDark:al,hcLight:al},y("editorMarkerNavigationWarning","Editor marker navigation widget warning color.")),eU=_t("editorMarkerNavigationWarning.headerBackground",{dark:ka(C_,.1),light:ka(C_,.1),hcDark:"#0C141F",hcLight:ka(C_,.2)},y("editorMarkerNavigationWarningBackground","Editor marker navigation widget warning heading background.")),JC=_t("editorMarkerNavigationInfo.background",{dark:$I,light:$I,hcDark:al,hcLight:al},y("editorMarkerNavigationInfo","Editor marker navigation widget info color.")),tU=_t("editorMarkerNavigationInfo.headerBackground",{dark:ka(JC,.1),light:ka(JC,.1),hcDark:null,hcLight:null},y("editorMarkerNavigationInfoHeaderBackground","Editor marker navigation widget info heading background.")),iU=_t("editorMarkerNavigation.background",I2,y("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},Ym=function(o,e){return function(t,i){e(t,i,o)}},pf,Fd;let fh=(Fd=class{static get(e){return e.getContribution(pf.ID)}constructor(e,t,i,n,s){this._markerNavigationService=t,this._contextKeyService=i,this._editorService=n,this._instantiationService=s,this._sessionDispoables=new He,this._editor=e,this._widgetVisible=vN.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(_p,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)||!z.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:z.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 kt(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=pf.get(r))==null||i.close(),(n=pf.get(r))==null||n.nagivate(e,t))}else this._widget.showAtMarker(s.selected.marker,s.selected.index,s.selected.total)}}},pf=Fd,Fd.ID="editor.contrib.markerController",Fd);fh=pf=nU([Ym(1,_N),Ym(2,Vi),Ym(3,ns),Ym(4,hi)],fh);class Fy extends Se{constructor(e,t,i){super(i),this._next=e,this._multiFile=t}async run(e,t){var i;t.hasModel()&&((i=fh.get(t))==null||i.nagivate(this._next,this._multiFile))}}const $c=class $c extends Fy{constructor(){super(!0,!1,{id:$c.ID,label:$c.LABEL,alias:"Go to Next Problem (Error, Warning, Info)",precondition:void 0,kbOpts:{kbExpr:M.focus,primary:578,weight:100},menuOpts:{menuId:_p.TitleMenu,title:$c.LABEL,icon:Qn("marker-navigation-next",Yt.arrowDown,y("nextMarkerIcon","Icon for goto next marker.")),group:"navigation",order:1}})}};$c.ID="editor.action.marker.next",$c.LABEL=y("markerAction.next.label","Go to Next Problem (Error, Warning, Info)");let Ev=$c;const qc=class qc extends Fy{constructor(){super(!1,!1,{id:qc.ID,label:qc.LABEL,alias:"Go to Previous Problem (Error, Warning, Info)",precondition:void 0,kbOpts:{kbExpr:M.focus,primary:1602,weight:100},menuOpts:{menuId:_p.TitleMenu,title:qc.LABEL,icon:Qn("marker-navigation-previous",Yt.arrowUp,y("previousMarkerIcon","Icon for goto previous marker.")),group:"navigation",order:2}})}};qc.ID="editor.action.marker.prev",qc.LABEL=y("markerAction.previous.label","Go to Previous Problem (Error, Warning, Info)");let QC=qc;class sU extends Fy{constructor(){super(!0,!0,{id:"editor.action.marker.nextInFiles",label:y("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:lt.MenubarGoMenu,title:y({key:"miGotoNextProblem",comment:["&& denotes a mnemonic"]},"Next &&Problem"),group:"6_problem_nav",order:1}})}}class oU extends Fy{constructor(){super(!1,!0,{id:"editor.action.marker.prevInFiles",label:y("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:lt.MenubarGoMenu,title:y({key:"miGotoPreviousProblem",comment:["&& denotes a mnemonic"]},"Previous &&Problem"),group:"6_problem_nav",order:2}})}}bi(fh.ID,fh,4);ne(Ev);ne(QC);ne(sU);ne(oU);const vN=new Ri("markersNavigationVisible",!1),rU=no.bindToContribution(fh.get);Mt(new rU({id:"closeMarkersNavigation",precondition:vN,handler:o=>o.close(),kbOpts:{weight:150,kbExpr:M.focus,primary:9,secondary:[1033]}}));var Tr;(function(o){o.NoAutoFocus="noAutoFocus",o.FocusIfVisible="focusIfVisible",o.AutoFocusImmediately="autoFocusImmediately"})(Tr||(Tr={}));class aU extends Se{constructor(){super({id:SM,label:y({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:Lt("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:[Tr.NoAutoFocus,Tr.FocusIfVisible,Tr.AutoFocusImmediately],enumDescriptions:[y("showOrFocusHover.focus.noAutoFocus","The hover will not automatically take focus."),y("showOrFocusHover.focus.focusIfVisible","The hover will take focus only if it is already visible."),y("showOrFocusHover.focus.autoFocusImmediately","The hover will automatically take focus when it appears.")],default:Tr.FocusIfVisible}}}}]},alias:"Show or Focus Hover",precondition:void 0,kbOpts:{kbExpr:M.editorTextFocus,primary:rs(2089,2087),weight:100}})}run(e,t,i){if(!t.hasModel())return;const n=Hs.get(t);if(!n)return;const s=i==null?void 0:i.focus;let r=Tr.FocusIfVisible;Object.values(Tr).includes(s)?r=s:typeof s=="boolean"&&s&&(r=Tr.AutoFocusImmediately);const a=h=>{const g=t.getPosition(),f=new z(g.lineNumber,g.column,g.lineNumber,g.column);n.showContentHover(f,1,1,h)},c=t.getOption(2)===2;n.isHoverVisible?r!==Tr.NoAutoFocus?n.focus():a(c):a(c||r===Tr.AutoFocusImmediately)}}class lU extends Se{constructor(){super({id:LB,label:y({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:Lt("showDefinitionPreviewHoverDescription","Show the definition preview hover in the editor.")}})}run(e,t){const i=Hs.get(t);if(!i)return;const n=t.getPosition();if(!n)return;const s=new z(n.lineNumber,n.column,n.lineNumber,n.column),r=mp.get(t);if(!r)return;r.startFindDefinitionFromCursor(n).then(()=>{i.showContentHover(s,1,1,!0)})}}class cU extends Se{constructor(){super({id:kB,label:y({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:Lt("scrollUpHoverDescription","Scroll up the editor hover.")}})}run(e,t){const i=Hs.get(t);i&&i.scrollUp()}}class dU extends Se{constructor(){super({id:IB,label:y({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:Lt("scrollDownHoverDescription","Scroll down the editor hover.")}})}run(e,t){const i=Hs.get(t);i&&i.scrollDown()}}class hU extends Se{constructor(){super({id:DB,label:y({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:Lt("scrollLeftHoverDescription","Scroll left the editor hover.")}})}run(e,t){const i=Hs.get(t);i&&i.scrollLeft()}}class uU extends Se{constructor(){super({id:EB,label:y({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:Lt("scrollRightHoverDescription","Scroll right the editor hover.")}})}run(e,t){const i=Hs.get(t);i&&i.scrollRight()}}class gU extends Se{constructor(){super({id:PB,label:y({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:Lt("pageUpHoverDescription","Page up the editor hover.")}})}run(e,t){const i=Hs.get(t);i&&i.pageUp()}}class fU extends Se{constructor(){super({id:TB,label:y({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:Lt("pageDownHoverDescription","Page down the editor hover.")}})}run(e,t){const i=Hs.get(t);i&&i.pageDown()}}class pU extends Se{constructor(){super({id:MB,label:y({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:Lt("goToTopHoverDescription","Go to the top of the editor hover.")}})}run(e,t){const i=Hs.get(t);i&&i.goToTop()}}class mU extends Se{constructor(){super({id:NB,label:y({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:Lt("goToBottomHoverDescription","Go to the bottom of the editor hover.")}})}run(e,t){const i=Hs.get(t);i&&i.goToBottom()}}class _U extends Se{constructor(){super({id:Ly,label:RB,alias:"Increase Hover Verbosity Level",precondition:M.hoverVisible})}run(e,t,i){const n=Hs.get(t);if(!n)return;const s=(i==null?void 0:i.index)!==void 0?i.index:n.focusedHoverPartIndex();n.updateHoverVerbosityLevel($o.Increase,s,i==null?void 0:i.focus)}}class vU extends Se{constructor(){super({id:ky,label:AB,alias:"Decrease Hover Verbosity Level",precondition:M.hoverVisible})}run(e,t,i){var r;const n=Hs.get(t);if(!n)return;const s=(i==null?void 0:i.index)!==void 0?i.index:n.focusedHoverPartIndex();(r=Hs.get(t))==null||r.updateHoverVerbosityLevel($o.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},Rw=function(o,e){return function(t,i){e(t,i,o)}};const er=mt;class yU{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 qI={type:1,filter:{include:bn.QuickFix},triggerAction:bo.QuickFixHover};let ex=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 z(e.range.startLineNumber,c,e.range.startLineNumber,h);r.push(new yU(this,f,g))}return r}renderHoverParts(e,t){if(!t.length)return new hh([]);const i=new He,n=[];t.forEach(r=>{const a=this._renderMarkerHover(r);e.fragment.appendChild(a.hoverElement),n.push(a)});const s=t.length===1?t[0]:t.sort((r,a)=>Vs.compare(r.marker.severity,a.marker.severity))[0];return this.renderMarkerStatusbar(e,s,i),new hh(n)}_renderMarkerHover(e){const t=new He,i=er("div.hover-row"),n=ct(i,er("div.marker.hover-contents")),{source:s,message:r,code:a,relatedInformation:c}=e.marker;this._editor.applyFontInfo(n);const h=ct(n,er("span"));if(h.style.whiteSpace="pre-wrap",h.innerText=r,s||a)if(a&&typeof a!="string"){const f=er("span");if(s){const w=ct(f,er("span"));w.innerText=s}const p=ct(f,er("a.code-link"));p.setAttribute("href",a.target.toString()),t.add(zi(p,"click",w=>{this._openerService.open(a.target,{allowCommands:!0}),w.preventDefault(),w.stopPropagation()}));const v=ct(p,er("span"));v.innerText=a.value;const _=ct(n,f);_.style.opacity="0.6",_.style.paddingLeft="6px"}else{const f=ct(n,er("span"));f.style.opacity="0.6",f.style.paddingLeft="6px",f.innerText=s&&a?`${s}(${a})`:s||`(${a})`}if(Eo(c))for(const{message:f,resource:p,startLineNumber:v,startColumn:_}of c){const w=ct(n,er("div"));w.style.marginTop="8px";const S=ct(w,er("a"));S.innerText=`${Pa(p)}(${v}, ${_}): `,S.style.cursor="pointer",t.add(zi(S,"click",P=>{if(P.stopPropagation(),P.preventDefault(),this._openerService){const N={selection:{startLineNumber:v,startColumn:_}};this._openerService.open(p,{fromUserGesture:!0,editorOptions:N}).catch(fn)}}));const D=ct(w,er("span"));D.innerText=f,this._editor.applyFontInfo(D)}return{hoverPart:e,hoverElement:i,dispose:()=>t.dispose()}}renderMarkerStatusbar(e,t,i){if(t.marker.severity===Vs.Error||t.marker.severity===Vs.Warning||t.marker.severity===Vs.Info){const n=fh.get(this._editor);n&&e.statusBar.addAction({label:y("view problem","View Problem"),commandId:Ev.ID,run:()=>{e.hide(),n.showAtMarker(t.marker),this._editor.focus()}})}if(!this._editor.getOption(92)){const n=e.statusBar.append(er("div"));this.recentMarkerCodeActionsInfo&&(rk.makeKey(this.recentMarkerCodeActionsInfo.marker)===rk.makeKey(t.marker)?this.recentMarkerCodeActionsInfo.hasCodeActions||(n.textContent=y("noQuickFixes","No quick fixes available")):this.recentMarkerCodeActionsInfo=void 0);const s=this.recentMarkerCodeActionsInfo&&!this.recentMarkerCodeActionsInfo.hasCodeActions?Ve.None:Uf(()=>n.textContent=y("checkingForQuickFixes","Checking for quick fixes..."),200,i);n.textContent||(n.textContent=" ");const r=this.getCodeActions(t.marker);i.add(Dn(()=>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=y("noQuickFixes","No quick fixes available");return}n.style.display="none";let c=!1;i.add(Dn(()=>{c||a.dispose()})),e.statusBar.addAction({label:y("quick fixes","Quick Fix..."),commandId:m1,run:h=>{c=!0;const g=hg.get(this._editor),f=Qs(h);e.hide(),g==null||g.showCodeActions(qI,a,{x:f.left,y:f.top,width:f.width,height:f.height})}})},fn)}}getCodeActions(e){return ys(t=>uu(this._languageFeaturesService.codeActionProvider,this._editor.getModel(),new z(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn),qI,Za.None,t))}};ex=bU([Rw(1,E2),Rw(2,Gr),Rw(3,It)],ex);class wU{get lineNumber(){return this._lineNumber}set lineNumber(e){this._lineNumber=e}get lane(){return this._laneOrLine}set lane(e){this._laneOrLine=e}constructor(e){this._editor=e,this._lineNumber=-1,this._laneOrLine=N_.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)??N_.Center;if(!n&&a!==this._laneOrLine)continue;const c=n?r.options.lineNumberHoverMessage:r.options.glyphMarginHoverMessage;!c||Zf(c)||i.push(...uE(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},KI=function(o,e){return function(t,i){e(t,i,o)}},tx;const GI=mt;var Hd;let ix=(Hd=class extends Ve{constructor(e,t,i){super(),this._renderDisposeables=this._register(new He),this._editor=e,this._isVisible=!1,this._messages=[],this._hover=this._register(new hE),this._hover.containerDomNode.classList.toggle("hidden",!this._isVisible),this._markdownRenderer=this._register(new Eg({editor:this._editor},t,i)),this._computer=new wU(this._editor),this._hoverOperation=this._register(new kM(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(ll(this._hover.containerDomNode,"mouseleave",n=>{this._onMouseLeave(n)})),this._editor.addOverlayWidget(this)}dispose(){this._editor.removeOverlayWidget(this),super.dispose()}getId(){return tx.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=GI("div.hover-row.markdown-hover"),r=ct(s,GI("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||!Iy(t,e.x,e.y))&&this.hide()}},tx=Hd,Hd.ID="editor.contrib.modesGlyphHoverWidget",Hd);ix=tx=SU([KI(1,Xr),KI(2,Gr)],ix);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)}},Vu;let Pv=(Vu=class extends Ve{constructor(e,t){super(),this._editor=e,this._instantiationService=t,this.shouldKeepOpenOnEditorMouseMoveOrLeave=!1,this._listenersStore=new He,this._hoverState={mouseDown:!1},this._reactToEditorMouseMoveRunner=this._register(new hs(()=>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?Iy(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(ix,this._editor)),this._glyphWidget}dispose(){var e;super.dispose(),this._unhookListeners(),this._listenersStore.dispose(),(e=this._glyphWidget)==null||e.dispose()}},Vu.ID="editor.contrib.marginHover",Vu);Pv=CU([xU(1,hi)],Pv);class LU{}class kU{}class IU{}bi(Hs.ID,Hs,2);bi(Pv.ID,Pv,2);ne(aU);ne(lU);ne(cU);ne(dU);ne(hU);ne(uU);ne(gU);ne(fU);ne(pU);ne(mU);ne(_U);ne(vU);Lh.register(hp);Lh.register(ex);Qb((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)}; }`))});Oy.register(new LU);Oy.register(new kU);Oy.register(new IU);function ho(o,e){let t=0;for(let i=0;i<o.length;i++)o.charAt(i)===" "?t+=e:t++;return t}function Rf(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 bN(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=(w,S)=>(S=S||1,ng.shiftIndent(w,w.length+S,r,a,c)),g=(w,S)=>(S=S||1,ng.unshiftIndent(w,w.length+S,r,a,c)),f=[],p=o.getLineContent(t);let v=Is(p),_=v;s.shouldIncrease(t)?(_=h(_),v=h(v)):s.shouldIndentNextLine(t)&&(_=h(_)),t++;for(let w=t;w<=i;w++){if(DU(o,w))continue;const S=o.getLineContent(w),D=Is(S),P=_;s.shouldDecrease(w,P)&&(_=g(_),v=g(v)),D!==_&&f.push(Xn.replaceMove(new qt(w,1,w,D.length+1),M2(_,a,c))),!s.shouldIgnore(w)&&(s.shouldIncrease(w,P)?(v=h(v),_=v):s.shouldIndentNextLine(w,P)?_=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 Cb=class Cb extends Se{constructor(){super({id:Cb.ID,label:y("indentationToSpaces","Convert Indentation to Spaces"),alias:"Convert Indentation to Spaces",precondition:M.writable,metadata:{description:Lt("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})}};Cb.ID="editor.action.indentationToSpaces";let nx=Cb;const xb=class xb extends Se{constructor(){super({id:xb.ID,label:y("indentationToTabs","Convert Indentation to Tabs"),alias:"Convert Indentation to Tabs",precondition:M.writable,metadata:{description:Lt("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})}};xb.ID="editor.action.indentationToTabs";let sx=xb;class V1 extends Se{constructor(e,t,i){super(i),this.insertSpaces=e,this.displaySizeOnly=t}run(e,t){const i=e.get(ml),n=e.get(Gs),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?y("configuredTabSize","Configured Tab Size"):g===r.tabSize?y("defaultTabSize","Default Tab Size"):g===a.tabSize?y("currentTabSize","Current Tab Size"):void 0})),h=Math.min(s.getOptions().tabSize-1,7);setTimeout(()=>{i.pick(c,{placeHolder:y({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 Lb=class Lb extends V1{constructor(){super(!1,!1,{id:Lb.ID,label:y("indentUsingTabs","Indent Using Tabs"),alias:"Indent Using Tabs",precondition:void 0,metadata:{description:Lt("indentUsingTabsDescription","Use indentation with tabs.")}})}};Lb.ID="editor.action.indentUsingTabs";let ox=Lb;const kb=class kb extends V1{constructor(){super(!0,!1,{id:kb.ID,label:y("indentUsingSpaces","Indent Using Spaces"),alias:"Indent Using Spaces",precondition:void 0,metadata:{description:Lt("indentUsingSpacesDescription","Use indentation with spaces.")}})}};kb.ID="editor.action.indentUsingSpaces";let rx=kb;const Ib=class Ib extends V1{constructor(){super(!0,!0,{id:Ib.ID,label:y("changeTabDisplaySize","Change Tab Display Size"),alias:"Change Tab Display Size",precondition:void 0,metadata:{description:Lt("changeTabDisplaySizeDescription","Change the space size equivalent of the tab.")}})}};Ib.ID="editor.action.changeTabDisplaySize";let ax=Ib;const Db=class Db extends Se{constructor(){super({id:Db.ID,label:y("detectIndentation","Detect Indentation from Content"),alias:"Detect Indentation from Content",precondition:void 0,metadata:{description:Lt("detectIndentationDescription","Detect the indentation from content.")}})}run(e,t){const i=e.get(Gs),n=t.getModel();if(!n)return;const s=i.getCreationOptions(n.getLanguageId(),n.uri,n.isForSimpleWidget);n.detectIndentation(s.insertSpaces,s.tabSize)}};Db.ID="editor.action.detectIndentation";let lx=Db;class TU extends Se{constructor(){super({id:"editor.action.reindentlines",label:y("editor.reindentlines","Reindent Lines"),alias:"Reindent Lines",precondition:M.writable,metadata:{description:Lt("editor.reindentlinesDescription","Reindent the lines of the editor.")}})}run(e,t){const i=e.get(_s),n=t.getModel();if(!n)return;const s=bN(n,i,1,n.getLineCount());s.length>0&&(t.pushUndoStop(),t.executeEdits(this.id,s),t.pushUndoStop())}}class MU extends Se{constructor(){super({id:"editor.action.reindentselectedlines",label:y("editor.reindentselectedlines","Reindent Selected Lines"),alias:"Reindent Selected Lines",precondition:M.writable,metadata:{description:Lt("editor.reindentselectedlinesDescription","Reindent the selected lines of the editor.")}})}run(e,t){const i=e.get(_s),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=bN(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(z.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 ju;let Tv=(ju=class{constructor(e,t){this.editor=e,this._languageConfigurationService=t,this.callOnDispose=new He,this.callOnModel=new He,this.callOnDispose.add(e.onDidChangeConfiguration(()=>this.update())),this.callOnDispose.add(e.onDidChangeModel(()=>this.update())),this.callOnDispose.add(e.onDidChangeModelLanguage(()=>this.update()))}update(){this.callOnModel.clear(),!(this.editor.getOption(12)<4||this.editor.getOption(55))&&this.editor.hasModel()&&this.callOnModel.add(this.editor.onDidPaste(({range:e})=>{this.trigger(e)}))}trigger(e){const t=this.editor.getSelections();if(t===null||t.length>1)return;const i=this.editor.getModel();if(!i||this.rangeContainsOnlyWhitespaceCharacters(i,e)||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:_=>ng.shiftIndent(_,_.length+1,r,a,c),unshiftIndent:_=>ng.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 _=Lf(s,i,i.getLanguageId(),f,g,this._languageConfigurationService);if(_!==null){const w=Is(p),S=ho(_,r),D=ho(w,r);if(S!==D){const P=Rf(S,r,c);h.push({range:new z(f,1,f,w.length+1),text:P}),p=P+p.substring(w.length)}else{const P=iP(i,f,this._languageConfigurationService);if(P===0||P===8)return}}}const v=f;for(;f<e.endLineNumber;){if(!/\S/.test(i.getLineContent(f+1))){f++;continue}break}if(f!==e.endLineNumber){const w=Lf(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(w!==null){const S=ho(w,r),D=ho(Is(i.getLineContent(f+1)),r);if(S!==D){const P=S-D;for(let N=f+1;N<=e.endLineNumber;N++){const V=i.getLineContent(N),F=Is(V),X=ho(F,r)+P,me=Rf(X,r,c);me!==F&&h.push({range:new z(N,1,N,F.length+1),text:me})}}}}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()}},ju.ID="editor.contrib.autoIndentOnPaste",ju);Tv=EU([PU(1,_s)],Tv);function RU(o,e){const t=i=>N2(o,i)===2;return t(e.getStartPosition())||t(e.getEndPosition())}function yN(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 z(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),yN(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),yN(e,t,this.tabSize,!1)}computeCursorState(e,t){return t.getTrackedSelection(this.selectionId)}}bi(Tv.ID,Tv,2);ne(nx);ne(sx);ne(ox);ne(rx);ne(ax);ne(lx);ne(TU);ne(MU);bi(gp.ID,gp,1);Lh.register(cv);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 qt(n.endLineNumber,Math.min(this._originalSelection.positionColumn,n.endColumn),n.endLineNumber,Math.min(this._originalSelection.positionColumn,n.endColumn)):new qt(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)}},x_,dc;let yg=(dc=class{static get(e){return e.getContribution(x_.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 tP(this.editor,5),a=n.uri;return this.editorWorkerService.canNavigateValueSet(a)?(this.currentRequest=ys(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=z.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 qt(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:x_.DECORATION}]),(_=this.decorationRemover)==null||_.cancel(),this.decorationRemover=ly(350),this.decorationRemover.then(()=>this.decorations.clear()).catch(fn)}).catch(fn)):Promise.resolve(void 0)}},x_=dc,dc.ID="editor.contrib.inPlaceReplaceController",dc.DECORATION=Di.register({description:"in-place-replace",className:"valueSetReplacement"}),dc);yg=x_=HU([WU(1,bl)],yg);class BU extends Se{constructor(){super({id:"editor.action.inPlaceReplace.up",label:y("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=yg.get(t);return i?i.run(this.id,!1):Promise.resolve(void 0)}}class zU extends Se{constructor(){super({id:"editor.action.inPlaceReplace.down",label:y("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=yg.get(t);return i?i.run(this.id,!0):Promise.resolve(void 0)}}bi(yg.ID,yg,4);ne(BU);ne(zU);class VU extends Se{constructor(){super({id:"expandLineSelection",label:y("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,j0.expandLineSelection(n,n.getCursorStates())),n.revealAllCursors(i.source,!0)}}ne(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=d_(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),w=_.getStandardTokenType(_.findTokenIndexAtOffset(v));if(w===2||w===3)continue}v=Math.max(f,v),i[n++]=Xn.delete(new z(a,v,a,g))}return i}class wN{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 z(i.endLineNumber,e.getLineMaxColumn(i.endLineNumber),i.endLineNumber+1,1),i.endLineNumber===e.getLineCount()?"":`
|
|
49
|
-
`):this._isCopyingDown?t.addEditOperation(new z(i.startLineNumber,1,i.startLineNumber,1),s+`
|
|
50
|
-
`):t.addEditOperation(new z(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=qt.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 cx=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 z(1,1,1,1),null):(t.addEditOperation(new z(f,1,f,1),e.getLineContent(p)),t.addEditOperation(new z(p,1,p,e.getLineMaxColumn(p)),null)),r=new qt(p,1,p,1)}else{let f,p;if(this._isMovingDown){f=r.endLineNumber+1,p=e.getLineContent(f),t.addEditOperation(new z(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=Is(e.getLineContent(f)),D=_+ho(S,a);v=Rf(D,a,h)+this.trimStart(p)}else{const S={tokenization:{getLineTokens:P=>P===r.startLineNumber?e.tokenization.getLineTokens(f):e.tokenization.getLineTokens(P),getLanguageId:i,getLanguageIdAtPosition:n},getLineContent:P=>P===r.startLineNumber?e.getLineContent(f):e.getLineContent(P)},D=Lf(this._autoIndent,S,e.getLanguageIdAtPosition(f,1),r.startLineNumber,g,this._languageConfigurationService);if(D!==null){const P=Is(e.getLineContent(f)),N=ho(D,a),V=ho(P,a);N!==V&&(v=Rf(N,a,h)+this.trimStart(p))}}t.addEditOperation(new z(r.startLineNumber,1,r.startLineNumber,1),v+`
|
|
52
|
-
`);const w=this.matchEnterRuleMovingDown(e,g,a,r.startLineNumber,f,v);if(w!==null)w!==0&&this.getIndentEditsOfMovingBlock(e,t,r,a,h,w);else{const S={tokenization:{getLineTokens:P=>P===r.startLineNumber?e.tokenization.getLineTokens(f):P>=r.startLineNumber+1&&P<=r.endLineNumber+1?e.tokenization.getLineTokens(P-1):e.tokenization.getLineTokens(P),getLanguageId:i,getLanguageIdAtPosition:n},getLineContent:P=>P===r.startLineNumber?v:P>=r.startLineNumber+1&&P<=r.endLineNumber+1?e.getLineContent(P-1):e.getLineContent(P)},D=Lf(this._autoIndent,S,e.getLanguageIdAtPosition(f,1),r.startLineNumber+1,g,this._languageConfigurationService);if(D!==null){const P=Is(e.getLineContent(r.startLineNumber)),N=ho(D,a),V=ho(P,a);if(N!==V){const F=N-V;this.getIndentEditsOfMovingBlock(e,t,r,a,h,F)}}}}else t.addEditOperation(new z(r.startLineNumber,1,r.startLineNumber,1),v+`
|
|
53
|
-
`)}else if(f=r.startLineNumber-1,p=e.getLineContent(f),t.addEditOperation(new z(f,1,f+1,1),null),t.addEditOperation(new z(r.endLineNumber,e.getLineMaxColumn(r.endLineNumber),r.endLineNumber,e.getLineMaxColumn(r.endLineNumber)),`
|
|
54
|
-
`+p),this.shouldAutoIndent(e,r)){const v={tokenization:{getLineTokens:w=>w===f?e.tokenization.getLineTokens(r.startLineNumber):e.tokenization.getLineTokens(w),getLanguageId:i,getLanguageIdAtPosition:n},getLineContent:w=>w===f?e.getLineContent(r.startLineNumber):e.getLineContent(w)},_=this.matchEnterRule(e,g,a,r.startLineNumber,r.startLineNumber-2);if(_!==null)_!==0&&this.getIndentEditsOfMovingBlock(e,t,r,a,h,_);else{const w=Lf(this._autoIndent,v,e.getLanguageIdAtPosition(r.startLineNumber,1),f,g,this._languageConfigurationService);if(w!==null){const S=Is(e.getLineContent(r.startLineNumber)),D=ho(w,a),P=ho(S,a);if(D!==P){const N=D-P;this.getIndentEditsOfMovingBlock(e,t,r,a,h,N)}}}}}this._selectionId=t.trackSelection(r)}buildIndentConverter(e,t,i){return{shiftIndent:n=>ng.shiftIndent(n,n.length+1,e,t,i),unshiftIndent:n=>ng.unshiftIndent(n,n.length+1,e,t,i)}}parseEnterResult(e,t,i,n,s){if(s){let r=s.indentation;s.indentAction===Tm.None||s.indentAction===Tm.Indent?r=s.indentation+s.appendText:s.indentAction===Tm.IndentOutdent?r=s.indentation:s.indentAction===Tm.Outdent&&(r=t.unshiftIndent(s.indentation)+s.appendText);const a=e.getLineContent(n);if(this.trimStart(a).indexOf(this.trimStart(r))>=0){const c=Is(e.getLineContent(n));let h=Is(r);const g=iP(e,n,this._languageConfigurationService);g!==null&&g&2&&(h=t.unshiftIndent(h));const f=ho(h,i),p=ho(c,i);return f-p}}return null}matchEnterRuleMovingDown(e,t,i,n,s,r){if(d_(r)>=0){const a=e.getLineMaxColumn(s),c=tw(this._autoIndent,e,new z(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(d_(g)>=0)break;a--}if(a<1||n>e.getLineCount())return null;const c=e.getLineMaxColumn(a),h=tw(this._autoIndent,e,new z(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),d_(g)>=0)break;a--}if(a<1||n>e.getLineCount())return null;const c=e.getLineMaxColumn(a),h=tw(this._autoIndent,e,new z(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=Is(c),f=ho(h,n)+r,p=Rf(f,n,s);p!==h&&(t.addEditOperation(new z(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}};cx=$U([qU(3,_s)],cx);const Su=class Su{static getCollator(){return Su._COLLATOR||(Su._COLLATOR=new Intl.Collator),Su._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=SN(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}};Su._COLLATOR=null;let vp=Su;function SN(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(vp.getCollator().compare),t===!0&&(r=r.reverse()),{startLineNumber:i,endLineNumber:n,before:s,after:r}}function KU(o,e,t){const i=SN(o,e,t);return i?Xn.replace(new z(i.startLineNumber,1,i.endLineNumber,o.getLineMaxColumn(i.endLineNumber)),i.after.join(`
|
|
55
|
-
`)):null}class CN extends Se{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)=>z.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 wN(r.selection,this.down,r.ignore));t.pushUndoStop(),t.executeCommands(this.id,s),t.pushUndoStop()}}class GU extends CN{constructor(){super(!1,{id:"editor.action.copyLinesUpAction",label:y("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:lt.MenubarSelectionMenu,group:"2_line",title:y({key:"miCopyLinesUp",comment:["&& denotes a mnemonic"]},"&&Copy Line Up"),order:1}})}}class ZU extends CN{constructor(){super(!0,{id:"editor.action.copyLinesDownAction",label:y("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:lt.MenubarSelectionMenu,group:"2_line",title:y({key:"miCopyLinesDown",comment:["&& denotes a mnemonic"]},"Co&&py Line Down"),order:2}})}}class XU extends Se{constructor(){super({id:"editor.action.duplicateSelection",label:y("duplicateSelection","Duplicate Selection"),alias:"Duplicate Selection",precondition:M.writable,menuOpts:{menuId:lt.MenubarSelectionMenu,group:"2_line",title:y({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 wN(a,!0));else{const c=new qt(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 xN extends Se{constructor(e,t){super(t),this.down=e}run(e,t){const i=e.get(_s),n=[],s=t.getSelections()||[],r=t.getOption(12);for(const a of s)n.push(new cx(a,this.down,r,i));t.pushUndoStop(),t.executeCommands(this.id,n),t.pushUndoStop()}}class YU extends xN{constructor(){super(!1,{id:"editor.action.moveLinesUpAction",label:y("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:lt.MenubarSelectionMenu,group:"2_line",title:y({key:"miMoveLinesUp",comment:["&& denotes a mnemonic"]},"Mo&&ve Line Up"),order:3}})}}class JU extends xN{constructor(){super(!0,{id:"editor.action.moveLinesDownAction",label:y("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:lt.MenubarSelectionMenu,group:"2_line",title:y({key:"miMoveLinesDown",comment:["&& denotes a mnemonic"]},"Move &&Line Down"),order:4}})}}class LN extends Se{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 qt(1,1,i.getLineCount(),i.getLineMaxColumn(i.getLineCount()))]);for(const r of n)if(!vp.canRun(t.getModel(),r,this.descending))return;const s=[];for(let r=0,a=n.length;r<a;r++)s[r]=new vp(n[r],this.descending);t.pushUndoStop(),t.executeCommands(this.id,s),t.pushUndoStop()}}class QU extends LN{constructor(){super(!1,{id:"editor.action.sortLinesAscending",label:y("lines.sortAscending","Sort Lines Ascending"),alias:"Sort Lines Ascending",precondition:M.writable})}}class e6 extends LN{constructor(){super(!0,{id:"editor.action.sortLinesDescending",label:y("lines.sortDescending","Sort Lines Descending"),alias:"Sort Lines Descending",precondition:M.writable})}}class t6 extends Se{constructor(){super({id:"editor.action.removeDuplicateLines",label:y("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 qt(1,1,i.getLineCount(),i.getLineMaxColumn(i.getLineCount()))],a=!1);for(const h of c){const g=new Set,f=[];for(let w=h.startLineNumber;w<=h.endLineNumber;w++){const S=i.getLineContent(w);g.has(S)||(f.push(S),g.add(S))}const p=new qt(h.startLineNumber,1,h.endLineNumber,i.getLineMaxColumn(h.endLineNumber)),v=h.startLineNumber-r,_=new qt(v,1,v+f.length-1,f[f.length-1].length);n.push(Xn.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 Eb=class Eb extends Se{constructor(){super({id:Eb.ID,label:y("lines.trimTrailingWhitespace","Trim Trailing Whitespace"),alias:"Trim Trailing Whitespace",precondition:M.writable,kbOpts:{kbExpr:M.editorTextFocus,primary:rs(2089,2102),weight:100}})}run(e,t,i){let n=[];i.reason==="auto-save"&&(n=(t.getSelections()||[]).map(g=>new kt(g.positionLineNumber,g.positionColumn)));const s=t.getSelection();if(s===null)return;const r=e.get(Pn),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()}};Eb.ID="editor.action.trimTrailingWhitespace";let dx=Eb;class i6 extends Se{constructor(){super({id:"editor.action.deleteLines",label:y("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(Xn.replace(new qt(f,v,p,_),"")),a.push(new qt(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 n6 extends Se{constructor(){super({id:"editor.action.indentLines",label:y("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 s6 extends Se{constructor(){super({id:"editor.action.outdentLines",label:y("lines.outdent","Outdent Line"),alias:"Outdent Line",precondition:M.writable,kbOpts:{kbExpr:M.editorTextFocus,primary:2140,weight:100}})}run(e,t){c_.Outdent.runEditorCommand(e,t,null)}}class o6 extends Se{constructor(){super({id:"editor.action.insertLineBefore",label:y("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,nP.lineInsertBefore(i.cursorConfig,t.getModel(),t.getSelections())))}}class r6 extends Se{constructor(){super({id:"editor.action.insertLineAfter",label:y("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,nP.lineInsertAfter(i.cursorConfig,t.getModel(),t.getSelections())))}}class kN extends Se{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];z.intersectRanges(g,f)===null?s.push(g):n[c+1]=z.plusRange(g,f)}s.push(n[n.length-1]);const r=this._getEndCursorState(i,s),a=s.map(c=>Xn.replace(c,""));t.pushUndoStop(),t.executeEdits(this.id,a,r),t.pushUndoStop()}}class a6 extends kN{constructor(){super({id:"deleteAllLeft",label:y("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 qt(c,r.startColumn,c,r.startColumn)}else a=new qt(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(z.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 z(r,a,s.startLineNumber,1)}else return new z(s.startLineNumber,1,s.startLineNumber,s.startColumn);else return new z(s.startLineNumber,1,s.endLineNumber,s.endColumn)}),i)}}class l6 extends kN{constructor(){super({id:"deleteAllRight",label:y("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 qt(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 z(s.startLineNumber,s.startColumn,s.startLineNumber+1,1):new z(s.startLineNumber,s.startColumn,s.startLineNumber,r)}return s});return n.sort(z.compareRangesUsingStarts),n}}class c6 extends Se{constructor(){super({id:"editor.action.joinLines",label:y("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(z.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 qt(p.startLineNumber,p.startColumn,v.endLineNumber,v.endColumn):v.startLineNumber>p.endLineNumber?(s.push(p),v):new qt(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],w=_.startLineNumber,S=1;let D=0,P,N;const V=a.getLineLength(_.endLineNumber)-_.endColumn;if(_.isEmpty()||_.startLineNumber===_.endLineNumber){const X=_.getStartPosition();X.lineNumber<a.getLineCount()?(P=w+1,N=a.getLineMaxColumn(P)):(P=X.lineNumber,N=a.getLineMaxColumn(X.lineNumber))}else P=_.endLineNumber,N=a.getLineMaxColumn(P);let F=a.getLineContent(w);for(let X=w+1;X<=P;X++){const me=a.getLineContent(X),Le=a.getLineFirstNonWhitespaceColumn(X);if(Le>=1){let je=!0;F===""&&(je=!1),je&&(F.charAt(F.length-1)===" "||F.charAt(F.length-1)===" ")&&(je=!1,F=F.replace(/[\s\uFEFF\xA0]+$/g," "));const ve=me.substr(Le-1);F+=(je?" ":"")+ve,je?D=ve.length+1:D=ve.length}else D=0}const Y=new z(w,S,P,N);if(!Y.isEmpty()){let X;_.isEmpty()?(c.push(Xn.replace(Y,F)),X=new qt(Y.startLineNumber-f,F.length-D+1,w-f,F.length-D+1)):_.startLineNumber===_.endLineNumber?(c.push(Xn.replace(Y,F)),X=new qt(_.startLineNumber-f,_.startColumn,_.endLineNumber-f,_.endColumn)):(c.push(Xn.replace(Y,F)),X=new qt(_.startLineNumber-f,_.startColumn,_.startLineNumber-f,F.length-V)),z.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 d6 extends Se{constructor(){super({id:"editor.action.transpose",label:y("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 z(h.lineNumber,Math.max(1,h.column-1),h.lineNumber+1,1),p=n.getValueInRange(f).split("").reverse().join("");s.push(new Wp(new qt(h.lineNumber,Math.max(1,h.column-1),h.lineNumber+1,1),p))}else{const f=new z(h.lineNumber,Math.max(1,h.column-1),h.lineNumber,h.column+1),p=n.getValueInRange(f).split("").reverse().join("");s.push(new wE(f,p,new qt(h.lineNumber,h.column+1,h.lineNumber,h.column+1)))}}t.pushUndoStop(),t.executeCommands(this.id,s),t.pushUndoStop()}}class Dh extends Se{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 z(c.lineNumber,h.startColumn,c.lineNumber,h.endColumn),f=n.getValueInRange(g);r.push(Xn.replace(g,this._modifyText(f,s)))}else{const c=n.getValueInRange(a);r.push(Xn.replace(a,this._modifyText(c,s)))}t.pushUndoStop(),t.executeEdits(this.id,r),t.pushUndoStop()}}class h6 extends Dh{constructor(){super({id:"editor.action.transformToUppercase",label:y("editor.transformToUppercase","Transform to Uppercase"),alias:"Transform to Uppercase",precondition:M.writable})}_modifyText(e,t){return e.toLocaleUpperCase()}}class u6 extends Dh{constructor(){super({id:"editor.action.transformToLowercase",label:y("editor.transformToLowercase","Transform to Lowercase"),alias:"Transform to Lowercase",precondition:M.writable})}_modifyText(e,t){return e.toLocaleLowerCase()}}class ol{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 Pb=class Pb extends Dh{constructor(){super({id:"editor.action.transformToTitlecase",label:y("editor.transformToTitlecase","Transform to Title Case"),alias:"Transform to Title Case",precondition:M.writable})}_modifyText(e,t){const i=Pb.titleBoundary.get();return i?e.toLocaleLowerCase().replace(i,n=>n.toLocaleUpperCase()):e}};Pb.titleBoundary=new ol("(^|[^\\p{L}\\p{N}']|((^|\\P{L})'))\\p{L}","gmu");let Mv=Pb;const Cu=class Cu extends Dh{constructor(){super({id:"editor.action.transformToSnakecase",label:y("editor.transformToSnakecase","Transform to Snake Case"),alias:"Transform to Snake Case",precondition:M.writable})}_modifyText(e,t){const i=Cu.caseBoundary.get(),n=Cu.singleLetters.get();return!i||!n?e:e.replace(i,"$1_$2").replace(n,"$1_$2$3").toLocaleLowerCase()}};Cu.caseBoundary=new ol("(\\p{Ll})(\\p{Lu})","gmu"),Cu.singleLetters=new ol("(\\p{Lu}|\\p{N})(\\p{Lu})(\\p{Ll})","gmu");let Af=Cu;const Tb=class Tb extends Dh{constructor(){super({id:"editor.action.transformToCamelcase",label:y("editor.transformToCamelcase","Transform to Camel Case"),alias:"Transform to Camel Case",precondition:M.writable})}_modifyText(e,t){const i=Tb.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("")}};Tb.wordBoundary=new ol("[_\\s-]","gm");let Nv=Tb;const xu=class xu extends Dh{constructor(){super({id:"editor.action.transformToPascalcase",label:y("editor.transformToPascalcase","Transform to Pascal Case"),alias:"Transform to Pascal Case",precondition:M.writable})}_modifyText(e,t){const i=xu.wordBoundary.get(),n=xu.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("")}};xu.wordBoundary=new ol("[_\\s-]","gm"),xu.wordBoundaryToMaintain=new ol("(?<=\\.)","gm");let Rv=xu;const Ol=class Ol extends Dh{static isSupported(){return[this.caseBoundary,this.singleLetters,this.underscoreBoundary].every(t=>t.isSupported())}constructor(){super({id:"editor.action.transformToKebabcase",label:y("editor.transformToKebabcase","Transform to Kebab Case"),alias:"Transform to Kebab Case",precondition:M.writable})}_modifyText(e,t){const i=Ol.caseBoundary.get(),n=Ol.singleLetters.get(),s=Ol.underscoreBoundary.get();return!i||!n||!s?e:e.replace(s,"$1-$3").replace(i,"$1-$2").replace(n,"$1-$2").toLocaleLowerCase()}};Ol.caseBoundary=new ol("(\\p{Ll})(\\p{Lu})","gmu"),Ol.singleLetters=new ol("(\\p{Lu}|\\p{N})(\\p{Lu}\\p{Ll})","gmu"),Ol.underscoreBoundary=new ol("(\\S)(_)(\\S)","gm");let Av=Ol;ne(GU);ne(ZU);ne(XU);ne(YU);ne(JU);ne(QU);ne(e6);ne(t6);ne(dx);ne(i6);ne(n6);ne(s6);ne(o6);ne(r6);ne(a6);ne(l6);ne(c6);ne(d6);ne(h6);ne(u6);Af.caseBoundary.isSupported()&&Af.singleLetters.isSupported()&&ne(Af);Nv.wordBoundary.isSupported()&&ne(Nv);Rv.wordBoundary.isSupported()&&ne(Rv);Mv.titleBoundary.isSupported()&&ne(Mv);Av.isSupported()&&ne(Av);var g6=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Jm=function(o,e){return function(t,i){e(t,i,o)}},L_;const IN=new Ri("LinkedEditingInputVisible",!1),f6="linked-editing-decoration";var hc;let wg=(hc=class extends Ve{static get(e){return e.getContribution(L_.ID)}constructor(e,t,i,n,s){super(),this.languageConfigurationService=n,this._syncRangesToken=0,this._localToDispose=this._register(new He),this._editor=e,this._providers=i.linkedEditingRangeProvider,this._enabled=!1,this._visibleContextKey=IN.bindTo(t),this._debounceInformation=s.for(this._providers,"Linked Editing",{max:200}),this._currentDecorations=this._editor.createDecorationsCollection(),this._languageWordPattern=null,this._currentWordPattern=null,this._ignoreChangeEvent=!1,this._localToDispose=this._register(new He),this._rangeUpdateTriggerPromise=null,this._rangeSyncTriggerPromise=null,this._currentRequestCts=null,this._currentRequestPosition=null,this._currentRequestModelVersion=null,this._register(this._editor.onDidChangeModel(()=>this.reinitialize(!0))),this._register(this._editor.onDidChangeConfiguration(r=>{(r.hasChanged(70)||r.hasChanged(94))&&this.reinitialize(!1)})),this._register(this._providers.onDidChange(()=>this.reinitialize(!1))),this._register(this._editor.onDidChangeModelLanguage(()=>this.reinitialize(!0))),this.reinitialize(!0)}reinitialize(e){const t=this._editor.getModel(),i=t!==null&&(this._editor.getOption(70)||this._editor.getOption(94))&&this._providers.has(t);if(i===this._enabled&&!e||(this._enabled=i,this.clearRanges(),this._localToDispose.clear(),!i||t===null))return;this._localToDispose.add(ds.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=Yp(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 z(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 ws;try{const r=new vo(!1),a=await DN(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(z.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:L_.DECORATION}));this._visibleContextKey.set(!0),this._currentDecorations.set(g),this._syncRangesToken++}catch(r){xc(r)||fn(r),(this._currentRequestCts===s||!this._currentRequestCts)&&this.clearRanges()}}},L_=hc,hc.ID="editor.contrib.linkedEditing",hc.DECORATION=Di.register({description:"linked-editing",stickiness:0,className:f6}),hc);wg=L_=g6([Jm(1,Vi),Jm(2,It),Jm(3,_s),Jm(4,Zo)],wg);class p6 extends Se{constructor(){super({id:"editor.action.linkedEditing",label:y("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(ns),[n,s]=Array.isArray(t)&&t||[void 0,void 0];return cn.isUri(n)&&kt.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))))},fn):super.runCommand(e,t)}run(e,t){const i=wg.get(t);return i?Promise.resolve(i.updateRanges(!0)):Promise.resolve()}}const m6=no.bindToContribution(wg.get);Mt(new m6({id:"cancelLinkedEditingInput",precondition:IN,handler:o=>o.clearRanges(),kbOpts:{kbExpr:M.editorTextFocus,weight:199,primary:9,secondary:[1033]}}));function DN(o,e,t,i){const n=o.ordered(e);return U0(n.map(s=>async()=>{try{return await s.provideLinkedEditingRanges(e,t,i)}catch(r){is(r);return}}),s=>!!s&&Eo(s==null?void 0:s.ranges))}_t("editor.linkedEditingBackground",{dark:ki.fromHex("#f00").transparent(.3),light:ki.fromHex("#f00").transparent(.3),hcDark:ki.fromHex("#f00").transparent(.3),hcLight:ki.white},y("editorLinkedEditingBackground","Background color when the editor auto renames on type."));so("_executeLinkedEditingProvider",(o,e,t)=>{const{linkedEditingRangeProvider:i}=o.get(It);return DN(i,e,t,mi.None)});bi(wg.ID,wg,1);ne(p6);let _6=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 Ov{constructor(e){this._disposables=new He;let t=[];for(const[i,n]of e){const s=i.links.map(r=>new _6(r,n));t=Ov._union(t,s),VE(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(z.areIntersectingOrTouching(c.range,h.range)){n++;continue}z.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 EN(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])},is));return Promise.all(n).then(()=>{const s=new Ov(rl(i));return t.isCancellationRequested?(s.dispose(),new Ov([])):s})}wn.registerCommand("_executeLinkProvider",async(o,...e)=>{let[t,i]=e;Ui(t instanceof cn),typeof i!="number"&&(i=0);const{linkProvider:n}=o.get(It),s=o.get(Gs).getModel(t);if(!s)return[];const r=await EN(n,s,mi.None);if(!r)return[];for(let c=0;c<Math.min(i,r.links.length);c++)await r.links[c].resolve(mi.None);const a=r.links.slice(0);return r.dispose(),a});var v6=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Qm=function(o,e){return function(t,i){e(t,i,o)}},hx,Wd;let bp=(Wd=class extends Ve{static get(e){return e.getContribution(hx.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 hs(()=>this.computeLinksNow(),1e3)),this.computePromise=null,this.activeLinksList=null,this.currentOccurrences={},this.activeLinkDecorationId=null;const r=this._register(new Dy(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=ys(t=>EN(this.providers,e,t));try{const t=new vo(!1);if(this.activeLinksList=await this.computePromise,this.debounceInformation.update(e,t.elapsed()),e.isDisposed())return;this.updateDecorations(this.activeLinksList.links)}catch(t){fn(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(Du.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 Du(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(mi.None).then(s=>{if(typeof s=="string"&&this.editor.hasModel()){const r=this.editor.getModel().uri;if(r.scheme===Ys.file&&s.startsWith(`${Ys.file}:`)){const a=cn.parse(s);if(a.scheme===Ys.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(y("invalid.url","Failed to open this link because it is not well-formed: {0}",n.url.toString())):r==="missing"?this.notificationService.warn(y("missing.url","Failed to open this link because its target is missing.")):fn(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()}},hx=Wd,Wd.ID="editor.linkDetector",Wd);bp=hx=v6([Qm(1,Gr),Qm(2,Ks),Qm(3,It),Qm(4,Zo)],bp);const ZI={general:Di.register({description:"detected-link",stickiness:1,collapseOnReplaceEdit:!0,inlineClassName:"detected-link"}),active:Di.register({description:"detected-link-active",stickiness:1,collapseOnReplaceEdit:!0,inlineClassName:"detected-link-active"})};class Du{static decoration(e,t){return{range:e.range,options:Du._getOptions(e,t,!1)}}static _getOptions(e,t,i){const n={...i?ZI.active:ZI.general};return n.hoverMessage=b6(e,t),n}constructor(e,t){this.link=e,this.decorationId=t}activate(e,t){e.changeDecorationOptions(this.decorationId,Du._getOptions(this.link,t,!0))}deactivate(e,t){e.changeDecorationOptions(this.decorationId,Du._getOptions(this.link,t,!1))}}function b6(o,e){const t=o.url&&/^command:/i.test(o.url.toString()),i=o.tooltip?o.tooltip:t?y("links.navigate.executeCmd","Execute command"):y("links.navigate.follow","Follow link"),n=e?Ea?y("links.navigate.kb.meta.mac","cmd + click"):y("links.navigate.kb.meta","ctrl + click"):Ea?y("links.navigate.kb.alt.mac","option + click"):y("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=y("tooltip.explanation","Execute command {0}",c)}}return new Ws("",!0).appendLink(o.url.toString(!0).replace(/ /g,"%20"),i,s).appendMarkdown(` (${n})`)}else return new Ws().appendText(`${i} (${n})`)}class y6 extends Se{constructor(){super({id:"editor.action.openLink",label:y("label","Open Link"),alias:"Open Link",precondition:void 0})}run(e,t){const i=bp.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)}}}bi(bp.ID,bp,1);ne(y6);const fL=class fL extends Ve{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})}))}};fL.ID="editor.contrib.longLinesHelper";let Fv=fL;bi(Fv.ID,Fv,2);const w6=_t("editor.wordHighlightBackground",{dark:"#575757B8",light:"#57575740",hcDark:null,hcLight:null},y("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);_t("editor.wordHighlightStrongBackground",{dark:"#004972B8",light:"#0e639c40",hcDark:null,hcLight:null},y("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);_t("editor.wordHighlightTextBackground",w6,y("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 S6=_t("editor.wordHighlightBorder",{light:null,dark:null,hcDark:eh,hcLight:eh},y("wordHighlightBorder","Border color of a symbol during read-access, like reading a variable."));_t("editor.wordHighlightStrongBorder",{light:null,dark:null,hcDark:eh,hcLight:eh},y("wordHighlightStrongBorder","Border color of a symbol during write-access, like writing to a variable."));_t("editor.wordHighlightTextBorder",S6,y("wordHighlightTextBorder","Border color of a textual occurrence for a symbol."));const C6=_t("editorOverviewRuler.wordHighlightForeground","#A0A0A0CC",y("overviewRulerWordHighlightForeground","Overview ruler marker color for symbol highlights. The color must not be opaque so as not to hide underlying decorations."),!0),x6=_t("editorOverviewRuler.wordHighlightStrongForeground","#C0A0C0CC",y("overviewRulerWordHighlightStrongForeground","Overview ruler marker color for write-access symbol highlights. The color must not be opaque so as not to hide underlying decorations."),!0),L6=_t("editorOverviewRuler.wordHighlightTextForeground",sP,y("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),k6=Di.register({description:"word-highlight-strong",stickiness:1,className:"wordHighlightStrong",overviewRuler:{color:ls(x6),position:xa.Center},minimap:{color:ls(cy),position:1}}),I6=Di.register({description:"word-highlight-text",stickiness:1,className:"wordHighlightText",overviewRuler:{color:ls(L6),position:xa.Center},minimap:{color:ls(cy),position:1}}),D6=Di.register({description:"selection-highlight-overview",stickiness:1,className:"selectionHighlight",overviewRuler:{color:ls(sP),position:xa.Center},minimap:{color:ls(cy),position:1}}),E6=Di.register({description:"selection-highlight",stickiness:1,className:"selectionHighlight"}),P6=Di.register({description:"word-highlight",stickiness:1,className:"wordHighlight",overviewRuler:{color:ls(C6),position:xa.Center},minimap:{color:ls(cy),position:1}});function T6(o){return o===V_.Write?k6:o===V_.Text?I6:P6}function M6(o){return o?E6:D6}Qb((o,e)=>{const t=o.getColor(W2);t&&e.addRule(`.monaco-editor .selectionHighlight { background-color: ${t.transparent(.5)}; }`)});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},R6=function(o,e){return function(t,i){e(t,i,o)}},ux;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?y("cursorAdded","Cursor added: {0}",i):y("cursorsAdded","Cursors added: {0}",i);Yu(n)}}class A6 extends Se{constructor(){super({id:"editor.action.insertCursorAbove",label:y("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:lt.MenubarSelectionMenu,group:"3_multi",title:y({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,j0.addCursorUp(s,r,n)),s.revealTopMostCursor(i.source),kc(r,s.getCursorStates())}}class O6 extends Se{constructor(){super({id:"editor.action.insertCursorBelow",label:y("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:lt.MenubarSelectionMenu,group:"3_multi",title:y({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,j0.addCursorDown(s,r,n)),s.revealBottomMostCursor(i.source),kc(r,s.getCursorStates())}}class F6 extends Se{constructor(){super({id:"editor.action.insertCursorAtEndOfEachLineSelected",label:y("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:lt.MenubarSelectionMenu,group:"3_multi",title:y({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 qt(n,s,n,s))}e.endColumn>1&&i.push(new qt(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 H6 extends Se{constructor(){super({id:"editor.action.addCursorsToBottom",label:y("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 qt(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 W6 extends Se{constructor(){super({id:"editor.action.addCursorsToTop",label:y("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 qt(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 e_{constructor(e,t,i){this.selections=e,this.revealRange=t,this.revealScrollType=i}}class yp{static create(e,t){if(!e.hasModel())return null;const i=t.getState();if(!e.hasTextFocus()&&i.isRevealed&&i.searchString.length>0)return new yp(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 qt(c.startLineNumber,f.startColumn,c.startLineNumber,f.endColumn)}else h=e.getModel().getValueInRange(c).replace(/\r\n/g,`
|
|
57
|
-
`);return new yp(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 e_(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 e_(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 qt(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 e_(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 e_(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 qt(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 Mb=class Mb extends Ve{static get(e){return e.getContribution(Mb.ID)}constructor(e){super(),this._sessionDispose=this._register(new He),this._editor=e,this._ignoreSelectionChange=!1,this._session=null}dispose(){this._endSession(),super.dispose()}_beginSessionIfNeeded(e){if(!this._session){const t=yp.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 qt(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(!PN(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 qt(s.range.startLineNumber,s.range.startColumn,s.range.endLineNumber,s.range.endColumn)))}}};Mb.ID="editor.contrib.multiCursorController";let Sg=Mb;class Og extends Se{run(e,t){const i=Sg.get(t);if(!i)return;const n=t._getViewModel();if(n){const s=n.getCursorStates(),r=to.get(t);if(r)this._run(i,r);else{const a=e.get(hi).createInstance(to,t);this._run(i,a),a.dispose()}kc(s,n.getCursorStates())}}}class B6 extends Og{constructor(){super({id:"editor.action.addSelectionToNextFindMatch",label:y("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:lt.MenubarSelectionMenu,group:"3_multi",title:y({key:"miAddSelectionToNextFindMatch",comment:["&& denotes a mnemonic"]},"Add &&Next Occurrence"),order:5}})}_run(e,t){e.addSelectionToNextFindMatch(t)}}class z6 extends Og{constructor(){super({id:"editor.action.addSelectionToPreviousFindMatch",label:y("addSelectionToPreviousFindMatch","Add Selection To Previous Find Match"),alias:"Add Selection To Previous Find Match",precondition:void 0,menuOpts:{menuId:lt.MenubarSelectionMenu,group:"3_multi",title:y({key:"miAddSelectionToPreviousFindMatch",comment:["&& denotes a mnemonic"]},"Add P&&revious Occurrence"),order:6}})}_run(e,t){e.addSelectionToPreviousFindMatch(t)}}class V6 extends Og{constructor(){super({id:"editor.action.moveSelectionToNextFindMatch",label:y("moveSelectionToNextFindMatch","Move Last Selection To Next Find Match"),alias:"Move Last Selection To Next Find Match",precondition:void 0,kbOpts:{kbExpr:M.focus,primary:rs(2089,2082),weight:100}})}_run(e,t){e.moveSelectionToNextFindMatch(t)}}class j6 extends Og{constructor(){super({id:"editor.action.moveSelectionToPreviousFindMatch",label:y("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 U6 extends Og{constructor(){super({id:"editor.action.selectHighlights",label:y("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:lt.MenubarSelectionMenu,group:"3_multi",title:y({key:"miSelectHighlights",comment:["&& denotes a mnemonic"]},"Select All &&Occurrences"),order:7}})}_run(e,t){e.selectAll(t)}}class $6 extends Og{constructor(){super({id:"editor.action.changeAll",label:y("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 q6{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(z.compareRangesUsingStarts)),this._cachedFindMatches}}var Bd;let Hv=(Bd=class extends Ve{constructor(e,t){super(),this._languageFeaturesService=t,this.editor=e,this._isEnabled=e.getOption(109),this._decorations=e.createDecorationsCollection(),this.updateSoon=this._register(new hs(()=>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=to.get(e);i&&this._register(i.getState().onFindReplaceStateChange(n=>{this._update()})),this.updateSoon.schedule()}_update(){this._setState(ux._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=Sg.get(i);if(!s)return null;const r=to.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(!PN(i.getModel(),g,p))return null}a=yp.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 q6(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(z.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 _=z.compareRangesUsingStarts(v,n[g]);_<0?((n[g].isEmpty()||!z.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:M6(a)}));this._decorations.set(c)}dispose(){this._setState(null),super.dispose()}},ux=Bd,Bd.ID="editor.contrib.selectionHighlighter",Bd);Hv=ux=N6([R6(1,It)],Hv);function PN(o,e,t){const i=XI(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=XI(o,r,!t);if(i!==a)return!1}return!0}function XI(o,e,t){const i=o.getValueInRange(e);return t?i.toLowerCase():i}class K6 extends Se{constructor(){super({id:"editor.action.focusNextCursor",label:y("mutlicursor.focusNextCursor","Focus Next Cursor"),metadata:{description:y("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 G6 extends Se{constructor(){super({id:"editor.action.focusPreviousCursor",label:y("mutlicursor.focusPreviousCursor","Focus Previous Cursor"),metadata:{description:y("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()))}}bi(Sg.ID,Sg,4);bi(Hv.ID,Hv,1);ne(A6);ne(O6);ne(F6);ne(B6);ne(z6);ne(V6);ne(j6);ne(U6);ne($6);ne(H6);ne(W6);ne(K6);ne(G6);const Z6="editor.action.inlineEdit.accept",X6="editor.action.inlineEdit.reject",Y6="editor.action.inlineEdit.jumpTo",J6="editor.action.inlineEdit.jumpBack";var Q6=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},e$=function(o,e){return function(t,i){e(t,i,o)}};const Aw="inline-edit";let gx=class extends Ve{constructor(e,t,i){super(),this.editor=e,this.model=t,this.languageService=i,this.isDisposed=Po(this,!1),this.currentTextModel=uo(this,this.editor.onDidChangeModel,()=>this.editor.getModel()),this.uiState=Qi(this,n=>{var P;if(this.isDisposed.read(n))return;const s=this.currentTextModel.read(n);if(s!==this.model.targetTextModel.read(n))return;const r=this.model.ghostText.read(n);if(!r)return;let a=(P=this.model.range)==null?void 0:P.read(n);a&&a.startLineNumber===a.endLineNumber&&a.startColumn===a.endColumn&&(a=void 0);const c=(a?a.startLineNumber===a.endLineNumber:!0)&&r.parts.length===1&&r.parts[0].lines.length===1,h=r.parts.length===1&&r.parts[0].lines.every(N=>N.length===0),g=[],f=[];function p(N,V){if(f.length>0){const F=f[f.length-1];V&&F.decorations.push(new ep(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 ep(1,F.length+1,V,0)]:[]})}const v=s.getLineContent(r.lineNumber);let _,w=0;if(!h&&(c||!a)){for(const N of r.parts){let V=N.lines;a&&!c&&(p(V,Aw),V=[]),_===void 0?(g.push({column:N.column,text:V[0],preview:N.preview}),V=V.slice(1)):p([v.substring(w,N.column-1)],void 0),V.length>0&&(p(V,Aw),_===void 0&&N.column<=v.length&&(_=N.column)),w=N.column-1}_!==void 0&&p([v.substring(w)],void 0)}const S=_!==void 0?new hN(_,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=Qi(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 z(g,f,g,p);a.push(v)}}for(const c of a)r.push({range:c,options:$0})}if(s.range&&!s.isSingleLine&&s.isPureRemove){const a=new z(s.range.startLineNumber,1,s.range.endLineNumber-1,1);r.push({range:a,options:q0})}for(const a of s.inlineTexts)r.push({range:z.fromPositions(new kt(s.lineNumber,a.column)),options:{description:Aw,after:{content:a.text,inlineClassName:a.preview?"inline-edit-decoration-preview":"inline-edit-decoration",cursorStops:cu.Left},showIfCollapsed:!0}});return r}),this._register(Dn(()=>{this.isDisposed.set(!0,void 0)})),this._register(uN(this.editor,this.decorations))}};gx=Q6([e$(2,Xr)],gx);var j1=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(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)}},k_;let fx=class extends Ve{constructor(e,t,i){super(),this.editor=e,this.model=t,this.instantiationService=i,this.alwaysShowToolbar=uo(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(63).showToolbar==="always"),this.sessionPosition=void 0,this.position=Qi(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 kt(s.lineNumber,Math.min(r,((h=this.sessionPosition)==null?void 0:h.column)??Number.MAX_SAFE_INTEGER));return this.sessionPosition=a,a}),this._register(qp((n,s)=>{if(!this.model.read(n)||!this.alwaysShowToolbar.read(n))return;const a=s.add(this.instantiationService.createInstance(px,this.editor,!0,this.position));e.addContentWidget(a),s.add(Dn(()=>e.removeContentWidget(a)))}))}};fx=j1([fa(2,hi)],fx);var uc;let px=(uc=class extends Ve{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${k_.id++}`,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this.nodes=ur("div.inlineEditHints",{className:this.withBorder?".withBorder":""},[ur("div@toolBar")]),this.inlineCompletionsActionsMenus=this._register(this._menuService.createMenu(lt.InlineEditActions,this._contextKeyService)),this.toolBar=this._register(n.createInstance(mx,this.nodes.toolBar,this.editor,lt.InlineEditToolbar,{menuOptions:{renderShortTitle:!0},toolbarOptions:{primaryGroup:a=>a.startsWith("primary")},actionViewItemProvider:(a,c)=>{if(a instanceof tg)return n.createInstance(t$,a,void 0)},telemetrySource:"InlineEditToolbar"})),this._register(this.toolBar.onDidChangeDropdownVisibility(a=>{k_._dropDownVisible=a})),this._register(jn(a=>{this._position.read(a),this.editor.layoutContentWidget(this)})),this._register(jn(a=>{const c=[];for(const[h,g]of this.inlineCompletionsActionsMenus.getActions())for(const f of g)f instanceof tg&&c.push(f);c.length>0&&c.unshift(new Gf),this.toolBar.setAdditionalSecondaryActions(c)}))}getId(){return this.id}getDomNode(){return this.nodes.root}getPosition(){return{position:this._position.get(),preference:[1,2],positionAffinity:3}}},k_=uc,uc._dropDownVisible=!1,uc.id=0,uc);px=k_=j1([fa(3,hi),fa(4,Vi),fa(5,bh)],px);class t$ extends aE{updateLabel(){const e=this._keybindingService.lookupKeybinding(this._action.id,this._contextKeyService);if(!e)return super.updateLabel();if(this.label){const t=ur("div.keybinding").root;this._register(new k0(t,I0,{disableTitle:!0,...lE})).set(e),this.label.textContent=this._action.label,this.label.appendChild(t),this.label.classList.add("inlineEditStatusBarItemLabel")}}updateTooltip(){}}let mx=class extends cE{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=[];N0(this.menu,(i=this.options2)==null?void 0:i.menuOptions,{primary:e,secondary:t},(s=(n=this.options2)==null?void 0:n.toolbarOptions)==null?void 0:s.primaryGroup,(a=(r=this.options2)==null?void 0:r.toolbarOptions)==null?void 0:a.shouldInlineSubmenu,(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){Da(this.additionalActions,e,(t,i)=>t===i)||(this.additionalActions=e,this.updateToolbar())}};mx=j1([fa(4,bh),fa(5,Vi),fa(6,Lg),fa(7,as),fa(8,ms),fa(9,Zr)],mx);var TN=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(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)}},mf,_x;function*i$(o,e,t=1){e===void 0&&([e,o]=[o,0]);for(let i=o;i<e;i+=t)yield i}function Ow(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 zd;let vx=(zd=class extends Ve{static _createUniqueUri(){return cn.from({scheme:"inline-edit-widget",path:new Date().toString()+String(mf._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=Qi(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(i$(a.range.startLineNumber,a.range.endLineNumber+1)),g=h.map(w=>c.getLineLastNonWhitespaceColumn(w)),f=Math.max(...g),p=h[g.indexOf(f)],v=new kt(p,f);return{top:a.range.startLineNumber,left:v}}),this._text=Qi(this,r=>{const a=this._model.read(r);if(!a)return{text:"",shift:0};const c=Ow(a.text.split(`
|
|
58
|
-
`));return{text:c.text.join(`
|
|
59
|
-
`),shift:c.shift}}),this._originalModel=_c(()=>this._modelService.createModel("",null,mf._createUniqueUri())).keepObserved(this._store),this._modifiedModel=_c(()=>this._modelService.createModel("",null,mf._createUniqueUri())).keepObserved(this._store),this._diff=Qi(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=Qi(this,r=>{const a=this._model.read(r);if(!a)return;const c=this._editor.getModel();if(!c)return;const h=Ow(c.getValueInRange(a.range).split(`
|
|
60
|
-
`)).text.join(`
|
|
61
|
-
`),g=Ow(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 oP.fromFn(async()=>{const p=await f.computeDiff(this._originalModel.get(),this._modifiedModel.get(),{computeMoves:!1,ignoreTrimWhitespace:!1,maxComputationTimeMs:1e3},mi.None);if(!p.identical)return p.changes})}),this._register(qp((r,a)=>{if(!this._model.read(r)||this._position.get()===null)return;const h=a.add(this._instantiationService.createInstance(bx,this._editor,this._position,this._text.map(g=>g.text),this._text.map(g=>g.shift),this._diff));e.addOverlayWidget(h),a.add(Dn(()=>e.removeOverlayWidget(h)))}))}},mf=zd,zd._modelId=0,zd);vx=mf=TN([I_(2,hi),I_(3,K0),I_(4,Gs)],vx);var Vd;let bx=(Vd=class extends Ve{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${_x.id++}`,this.allowEditorOverflow=!1,this._nodes=mt("div.inlineEditSideBySide",void 0),this._scrollChanged=sd("editor.onDidScrollChange",this._editor.onDidScrollChange),this._previewEditor=this._register(this._instantiationService.createInstance(wr,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=ma(this._previewEditor),this._editorObs=ma(this._editor),this._previewTextModel=this._register(this._instantiationService.createInstance(Vl,"",((a=this._editor.getModel())==null?void 0:a.getLanguageId())??Jf,Vl.DEFAULT_CREATION_OPTIONS,null)),this._setText=Qi(c=>{const h=this._text.read(c);h&&this._previewTextModel.setValue(h)}).recomputeInitiallyAndOnChange(this._store),this._decorations=Qi(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(),_=w=>new z(w.startLineNumber+h.top-1,w.startColumn+v,w.endLineNumber+h.top-1,w.endColumn+v);for(const w of g)if(w.original.isEmpty||f.push({range:_(w.original.toInclusiveRange()),options:q0}),w.modified.isEmpty||p.push({range:w.modified.toInclusiveRange(),options:rP}),w.modified.isEmpty||w.original.isEmpty)w.original.isEmpty||f.push({range:_(w.original.toInclusiveRange()),options:aP}),w.modified.isEmpty||p.push({range:w.modified.toInclusiveRange(),options:lP});else for(const S of w.innerChanges||[])w.original.contains(S.originalRange.startLineNumber)&&f.push({range:_(S.originalRange),options:S.originalRange.isEmpty()?cP:$0}),w.modified.contains(S.modifiedRange.startLineNumber)&&p.push({range:S.modifiedRange,options:S.modifiedRange.isEmpty()?dP:hP});return{org:f,mod:p}}),this._originalDecorations=Qi(this,c=>this._decorations.read(c).org),this._modifiedDecorations=Qi(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(jn(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(jn(c=>{this._position.read(c),this._editor.layoutOverlayWidget(this)})),this._register(jn(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 kt(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}}}},_x=Vd,Vd.id=0,Vd);bx=_x=TN([I_(5,hi)],bx);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},Fc=function(o,e){return function(t,i){e(t,i,o)}},_f,Uo;let js=(Uo=class extends Ve{static get(e){return e.getContribution(_f.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=_f.inlineEditVisibleContext.bindTo(this.contextKeyService),this._isCursorAtInlineEditContext=_f.cursorAtInlineEditContext.bindTo(this.contextKeyService),this._currentEdit=Po(this,void 0),this._currentWidget=_c(this._currentEdit,_=>{const w=this._currentEdit.read(_);if(!w)return;const S=w.range.endLineNumber,D=w.range.endColumn,P=w.text.endsWith(`
|
|
65
|
-
`)&&!(w.range.startLineNumber===w.range.endLineNumber&&w.range.startColumn===w.range.endColumn)?w.text.slice(0,-1):w.text,N=new fp(S,[new _v(D,P,!1)]),V=w.range.startLineNumber===w.range.endLineNumber&&N.parts.length===1&&N.parts[0].lines.length===1,F=w.text==="";return!V&&!F?void 0:this.instantiationService.createInstance(gx,this.editor,{ghostText:Xa(N),minReservedLineCount:Xa(0),targetTextModel:Xa(this.editor.getModel()??void 0),range:Xa(w.range)})}),this._isAccepting=Po(this,!1),this._enabled=uo(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(63).enabled),this._fontFamily=uo(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(63).fontFamily);const h=sd("InlineEditController.modelContentChangedSignal",e.onDidChangeModelContent);this._register(jn(_=>{this._enabled.read(_)&&(h.read(_),!this._isAccepting.read(_)&&this.getInlineEdit(e,!0))}));const g=uo(this,e.onDidChangeCursorPosition,()=>e.getPosition());this._register(jn(_=>{if(!this._enabled.read(_))return;const w=g.read(_);w&&this.checkCursorPosition(w)})),this._register(jn(_=>{const w=this._currentEdit.read(_);if(this._isCursorAtInlineEditContext.set(!1),!w){this._isVisibleContext.set(!1);return}this._isVisibleContext.set(!0);const S=e.getPosition();S&&this.checkCursorPosition(S)}));const f=sd("InlineEditController.editorBlurSignal",e.onDidBlurEditorWidget);this._register(jn(async _=>{var w;this._enabled.read(_)&&(f.read(_),!(this._configurationService.getValue("editor.experimentalInlineEdit.keepOnBlur")||e.getOption(63).keepOnBlur)&&((w=this._currentRequestCts)==null||w.dispose(!0),this._currentRequestCts=void 0,await this.clear(!1)))}));const p=sd("InlineEditController.editorFocusSignal",e.onDidFocusEditorText);this._register(jn(_=>{this._enabled.read(_)&&(p.read(_),this.getInlineEdit(e,!0))}));const v=this._register(RE());this._register(jn(_=>{const w=this._fontFamily.read(_);v.setStyle(w===""||w==="default"?"":`
|
|
66
|
-
.monaco-editor .inline-edit-decoration,
|
|
67
|
-
.monaco-editor .inline-edit-decoration-preview,
|
|
68
|
-
.monaco-editor .inline-edit {
|
|
69
|
-
font-family: ${w};
|
|
70
|
-
}`)})),this._register(new fx(this.editor,this._currentWidget,this.instantiationService)),this._register(new vx(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(z.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 ws;const a=this._currentRequestCts.token,c=t?ak.Automatic:ak.Invoke;if(t&&await s$(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",[Xn.replace(z.lift(e.range),t)]),e.accepted&&await this._commandService.executeCommand(e.accepted.id,...e.accepted.arguments||[]).then(void 0,is),this.freeEdit(e),yh(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=kt.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,is),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)}},_f=Uo,Uo.ID="editor.contrib.inlineEditController",Uo.inlineEditVisibleKey="inlineEditVisible",Uo.inlineEditVisibleContext=new Ri(Uo.inlineEditVisibleKey,!1),Uo.cursorAtInlineEditKey="cursorAtInlineEdit",Uo.cursorAtInlineEditContext=new Ri(Uo.cursorAtInlineEditKey,!1),Uo);js=_f=n$([Fc(1,hi),Fc(2,Vi),Fc(3,It),Fc(4,ms),Fc(5,Pn),Fc(6,K0),Fc(7,Gs)],js);function s$(o,e){return new Promise(t=>{let i;const n=setTimeout(()=>{i&&i.dispose(),t()},o);e&&(i=e.onCancellationRequested(()=>{clearTimeout(n),i&&i.dispose(),t()}))})}let o$=class extends Se{constructor(){super({id:Z6,label:"Accept Inline Edit",alias:"Accept Inline Edit",precondition:ae.and(M.writable,js.inlineEditVisibleContext),kbOpts:[{weight:101,primary:2,kbExpr:ae.and(M.writable,js.inlineEditVisibleContext,js.cursorAtInlineEditContext)}],menuOpts:[{menuId:lt.InlineEditToolbar,title:"Accept",group:"primary",order:1}]})}async run(e,t){const i=js.get(t);await(i==null?void 0:i.accept())}};class r$ extends Se{constructor(){const e=ae.and(M.writable,ae.not(js.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=js.get(t);i==null||i.trigger()}}class a$ extends Se{constructor(){const e=ae.and(M.writable,js.inlineEditVisibleContext,ae.not(js.cursorAtInlineEditKey));super({id:Y6,label:"Jump to Inline Edit",alias:"Jump to Inline Edit",precondition:e,kbOpts:{weight:101,primary:2646,kbExpr:e},menuOpts:[{menuId:lt.InlineEditToolbar,title:"Jump To Edit",group:"primary",order:3,when:e}]})}async run(e,t){const i=js.get(t);i==null||i.jumpToCurrent()}}class l$ extends Se{constructor(){const e=ae.and(M.writable,js.cursorAtInlineEditContext);super({id:J6,label:"Jump Back from Inline Edit",alias:"Jump Back from Inline Edit",precondition:e,kbOpts:{weight:110,primary:2646,kbExpr:e},menuOpts:[{menuId:lt.InlineEditToolbar,title:"Jump Back",group:"primary",order:3,when:e}]})}async run(e,t){const i=js.get(t);i==null||i.jumpBack()}}class c$ extends Se{constructor(){const e=ae.and(M.writable,js.inlineEditVisibleContext);super({id:X6,label:"Reject Inline Edit",alias:"Reject Inline Edit",precondition:e,kbOpts:{weight:100,primary:9,kbExpr:e},menuOpts:[{menuId:lt.InlineEditToolbar,title:"Reject",group:"secondary",order:2}]})}async run(e,t){const i=js.get(t);await(i==null?void 0:i.clear())}}ne(o$);ne(c$);ne(a$);ne(l$);ne(r$);bi(js.ID,js,3);const d$="editor.action.inlineEdits.accept",h$="editor.action.inlineEdits.showPrevious",u$="editor.action.inlineEdits.showNext",Cg=new Ri("inlineEditsVisible",!1,y("inlineEditsVisible","Whether an inline edit is visible")),g$=new Ri("inlineEditsIsPinned",!1,y("isPinned","Whether an inline edit is visible")),pL=class pL extends Ve{constructor(e){super(),this._editor=e,this._editorObs=ma(this._editor),this._placeholderText=this._editorObs.getOption(88),this._state=Ga({owner:this,equalsFn:uP},t=>{const i=this._placeholderText.read(t);if(i&&this._editorObs.valueIsEmpty.read(t))return{placeholder:i}}),this._shouldViewBeAlive=f$(this,t=>{var i;return((i=this._state.read(t))==null?void 0:i.placeholder)!==void 0}),this._view=dE((t,i)=>{if(!this._shouldViewBeAlive.read(t))return;const n=ur("div.editorPlaceholder");i.add(jn(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(jn(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(jn(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:Xa(0),position:Xa(null),domNode:n.root}))}),this._view.recomputeInitiallyAndOnChange(this._store)}};pL.ID="editor.contrib.placeholderText";let wp=pL;function f$(o,e){return ty(o,(t,i)=>i===!0?!0:e(t))}var p$=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(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)}};class _${constructor(e,t,i){this.range=e,this.newLines=t,this.changes=i}}let yx=class extends Ve{constructor(e,t,i,n){super(),this._editor=e,this._edit=t,this._userPrompt=i,this._instantiationService=n,this._editorObs=ma(this._editor),this._elements=ur("div.inline-edits-widget",{style:{position:"absolute",overflow:"visible",top:"0px",left:"0px"}},[ur("div@editorContainer",{style:{position:"absolute",top:"0px",left:"0px",width:"500px",height:"500px"}},[ur("div.toolbar@toolbar",{style:{position:"absolute",top:"-25px",left:"0px"}}),ur("div.promptEditor@promptEditor",{style:{position:"absolute",top:"-25px",left:"80px",width:"300px",height:"22px"}}),ur("div.preview@editor",{style:{position:"absolute",top:"0px",left:"0px"}})]),Wh("svg",{style:{overflow:"visible",pointerEvents:"none"}},[Wh("defs",[Wh("linearGradient",{id:"Gradient2",x1:"0",y1:"0",x2:"1",y2:"0"},[Wh("stop",{offset:"0%",class:"gradient-stop"}),Wh("stop",{offset:"100%",class:"gradient-stop"})])]),Wh("path@path",{d:"",fill:"url(#Gradient2)"})])]),this._previewTextModel=this._register(this._instantiationService.createInstance(Vl,"",Jf,Vl.DEFAULT_CREATION_OPTIONS,null)),this._setText=Qi(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(Vl,"",Jf,Vl.DEFAULT_CREATION_OPTIONS,null)),this._promptEditor=this._register(this._instantiationService.createInstance(wr,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([pr.ID,wp.ID,pg.ID]),isSimpleWidget:!0},this._editor)),this._previewEditor=this._register(this._instantiationService.createInstance(wr,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=ma(this._previewEditor),this._decorations=Qi(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:q0}),f.modified.isEmpty||h.push({range:f.modified.toInclusiveRange(),options:rP}),f.modified.isEmpty||f.original.isEmpty)f.original.isEmpty||c.push({range:f.original.toInclusiveRange(),options:aP}),f.modified.isEmpty||h.push({range:f.modified.toInclusiveRange(),options:lP});else for(const p of f.innerChanges||[])f.original.contains(p.originalRange.startLineNumber)&&c.push({range:p.originalRange,options:p.originalRange.isEmpty()?cP:$0}),f.modified.contains(p.modifiedRange.startLineNumber)&&h.push({range:p.modifiedRange,options:p.modifiedRange.isEmpty()?dP:hP});return h}),this._layout1=Qi(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),w=this._editor.getOffsetForColumn(v,_);g=Math.max(g,w)}return{left:this._editor.getLayoutInfo().contentLeft+g}}),this._layout=Qi(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 _u(g,f),_=new _u(g,p),w=p-f,S=50,D=this._editor.getOption(67)*a.newLines.length,P=w-D,N=new _u(g+S,f+P/2),V=new _u(g+S,p-P/2);return{topCode:v,bottomCode:_,codeHeight:w,topEdit:N,bottomEdit:V,editHeight:D}});const s=Qi(this,r=>this._edit.read(r)!==void 0||this._userPrompt.read(r)!==void 0);this._register(V2(this._elements.root,{display:Qi(this,r=>s.read(r)?"block":"none")})),this._register(j2(this._editor.getDomNode(),this._elements.root)),this._register(ma(e).createOverlayWidget({domNode:this._elements.root,position:Xa(null),allowEditorOverflow:!1,minContentWidthInPx:Qi(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(jn(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,w=40,S=new b$().moveTo(c).lineTo(c.deltaX(v)).curveTo(c.deltaX(v+w),g.deltaX(-w-_),g.deltaX(-_)).lineTo(g).lineTo(f).lineTo(f.deltaX(-_)).curveTo(f.deltaX(-w-_),h.deltaX(v+w),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(y$(v$(this._userPrompt,r=>r??"",r=>r),ma(this._promptEditor).value)),this._register(jn(r=>{const a=ma(this._promptEditor).isFocused.read(r);this._elements.root.classList.toggle("focused",a)}))}};yx=p$([m$(3,hi)],yx);function v$(o,e,t){return gP(void 0,i=>e(o.read(i)),(i,n)=>o.set(t(i),n))}class _u{constructor(e,t){this.x=e,this.y=t}deltaX(e){return new _u(this.x+e,this.y)}}class b${constructor(){this._data=""}moveTo(e){return this._data+=`M ${e.x} ${e.y} `,this}lineTo(e){return this._data+=`L ${e.x} ${e.y} `,this}curveTo(e,t,i){return this._data+=`C ${e.x} ${e.y} ${t.x} ${t.y} ${i.x} ${i.y} `,this}build(){return this._data}}function y$(o,e){const t=new He;return t.add(jn(i=>{const n=o.read(i);e.set(n,void 0)})),t.add(jn(i=>{const n=e.read(i);o.set(n,void 0)})),t}var w$=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Fw=function(o,e){return function(t,i){e(t,i,o)}},vf,jd;let wx=(jd=class extends Ve{static _createUniqueUri(){return cn.from({scheme:"inline-edits",path:new Date().toString()+String(vf._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=B0(this),this._selectedInlineCompletionId=Po(this,void 0),this._isActive=Po(this,!1),this._originalModel=_c(()=>this._modelService.createModel("",null,vf._createUniqueUri())).keepObserved(this._store),this._modifiedModel=_c(()=>this._modelService.createModel("",null,vf._createUniqueUri())).keepObserved(this._store),this._pinnedRange=new C$(this.textModel,this._textModelVersionId),this.isPinned=this._pinnedRange.range.map(c=>!!c),this.userPrompt=Po(this,void 0),this.inlineEdit=Qi(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=Qi(this,c=>{const h=this.selectedInlineEdit.read(c);if(!h)return;const g=h.inlineCompletion.range;if(h.inlineCompletion.insertText.trim()==="")return;let f=h.inlineCompletion.insertText.split(/\r\n|\r|\n/);function p(S){var P;const D=((P=S[0].match(/^\s*/))==null?void 0:P[0])??"";return S.map(N=>N.replace(new RegExp("^"+D),""))}f=p(f);let _=this.textModel.getValueInRange(g).split(/\r\n|\r|\n/);_=p(_),this._originalModel.get().setValue(_.join(`
|
|
74
|
-
`)),this._modifiedModel.get().setValue(f.join(`
|
|
75
|
-
`));const w=this._diffProviderFactoryService.createDiffProvider({diffAlgorithm:"advanced"});return oP.fromFn(async()=>{const S=await w.computeDiff(this._originalModel.get(),this._modifiedModel.get(),{computeMoves:!1,ignoreTrimWhitespace:!1,maxComputationTimeMs:1e3},mi.None);if(!S.identical)return new _$(U2.fromRangeInclusive(g),p(f),S.changes)})}),this._fetchStore=this._register(new He),this._inlineEditsFetchResult=sS(this,void 0),this._inlineEdits=Ga({owner:this,equalsFn:uP},c=>{var h;return((h=this._inlineEditsFetchResult.read(c))==null?void 0:h.completions.map(g=>new S$(g)))??[]}),this._fetchInlineEditsPromise=jE({owner:this,createEmptyChangeSummary:()=>({inlineCompletionTriggerKind:il.Automatic}),handleChange:(c,h)=>(c.didChange(this._forceUpdateExplicitlySignal)&&(h.inlineCompletionTriggerKind=il.Explicit),!0)},async(c,h)=>{this._fetchStore.clear(),this._forceUpdateExplicitlySignal.read(c),this._textModelVersionId.read(c);function g(w,S){return S(w)}const f=this._pinnedRange.range.read(c)??g(this._selection.read(c),w=>w.isEmpty()?void 0:w);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=rS(this._fetchStore);await ly(200,v);const _=await gN(this.languageFeaturesService.inlineCompletionsProvider,f,this.textModel,p,v);v.isCancellationRequested||this._inlineEditsFetchResult.set(_,void 0)}),this._filteredInlineEditItems=Ga({owner:this,equalsFn:oS()},c=>this._inlineEdits.read(c)),this.selectedInlineCompletionIndex=Qi(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=Qi(this,c=>{const h=this._filteredInlineEditItems.read(c),g=this.selectedInlineCompletionIndex.read(c);return h[g]}),this._register(UE(this._fetchInlineEditsPromise))}async triggerExplicitly(e){W_(e,t=>{this._isActive.set(!0,t),this._forceUpdateExplicitlySignal.trigger(t)}),await this._fetchInlineEditsPromise.get()}stop(e){W_(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 ig;const t=this.selectedInlineEdit.get();t&&(e.pushUndoStop(),e.executeEdits("inlineSuggestion.accept",[t.inlineCompletion.toSingleTextEdit().toSingleEditOperation()]),this.stop())}},vf=jd,jd._modelId=0,jd);wx=vf=w$([Fw(4,It),Fw(5,K0),Fw(6,Gs)],wx);class S${constructor(e){this.inlineCompletion=e,this.semanticId=this.inlineCompletion.hash()}}class C$ extends Ve{constructor(e,t){super(),this._textModel=e,this._versionId=t,this._decorations=Po(this,[]),this.range=Qi(this,i=>{this._versionId.read(i);const n=this._decorations.read(i)[0];return n?this._textModel.getDecorationRange(n)??null:null}),this._register(Dn(()=>{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 x$=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},tf=function(o,e){return function(t,i){e(t,i,o)}},Sx,Ud;let fl=(Ud=class extends Ve{static get(e){return e.getContribution(Sx.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=ma(this.editor),this._selection=Qi(this,a=>this._editorObs.cursorSelection.read(a)??new qt(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(aS(wx,a),c,this._editorObs.versionId,this._selection,this._debounceValue):void 0}),this._hadInlineEdit=ty(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(aS(yx,a),this.editor,this.model.map((c,h)=>c==null?void 0:c.inlineEdit.read(h)),L$(c=>{var h;return((h=this.model.read(c))==null?void 0:h.userPrompt)??Po("empty","")}))}),this._register(lk(Cg,this._contextKeyService,a=>{var c;return!!((c=this.model.read(a))!=null&&c.inlineEdit.read(a))})),this._register(lk(g$,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)}},Sx=Ud,Ud.ID="editor.contrib.inlineEditsController",Ud);fl=Sx=x$([tf(1,hi),tf(2,Vi),tf(3,Zo),tf(4,It),tf(5,Pn)],fl);function L$(o){return gP(void 0,e=>o(e).read(e),(e,t)=>{o(void 0).set(e,t)})}function gm(o){return{label:o.value,alias:o.original}}const Nb=class Nb extends Se{constructor(){super({id:Nb.ID,...gm(Lt("action.inlineEdits.showNext","Show Next Inline Edit")),precondition:ae.and(M.writable,Cg),kbOpts:{weight:100,primary:606}})}async run(e,t){var n;const i=fl.get(t);(n=i==null?void 0:i.model.get())==null||n.next()}};Nb.ID=u$;let Cx=Nb;const Rb=class Rb extends Se{constructor(){super({id:Rb.ID,...gm(Lt("action.inlineEdits.showPrevious","Show Previous Inline Edit")),precondition:ae.and(M.writable,Cg),kbOpts:{weight:100,primary:604}})}async run(e,t){var n;const i=fl.get(t);(n=i==null?void 0:i.model.get())==null||n.previous()}};Rb.ID=h$;let xx=Rb;class k$ extends Se{constructor(){super({id:"editor.action.inlineEdits.trigger",...gm(Lt("action.inlineEdits.trigger","Trigger Inline Edit")),precondition:M.writable})}async run(e,t){const i=fl.get(t);await eP(async n=>{var s;await((s=i==null?void 0:i.model.get())==null?void 0:s.triggerExplicitly(n))})}}class I$ extends Se{constructor(){super({id:d$,...gm(Lt("action.inlineEdits.accept","Accept Inline Edit")),precondition:Cg,menuOpts:{menuId:lt.InlineEditsActions,title:y("inlineEditsActions","Accept Inline Edit"),group:"primary",order:1,icon:Yt.check},kbOpts:{primary:2058,weight:2e4,kbExpr:Cg}})}async run(e,t){var n;t instanceof wr&&(t=t.getParentEditor());const i=fl.get(t);i&&((n=i.model.get())==null||n.accept(i.editor),i.editor.focus())}}const Ab=class Ab extends Se{constructor(){super({id:Ab.ID,...gm(Lt("action.inlineEdits.hide","Hide Inline Edit")),precondition:Cg,kbOpts:{weight:100,primary:9}})}async run(e,t){const i=fl.get(t);yh(n=>{var s;(s=i==null?void 0:i.model.get())==null||s.stop(n)})}};Ab.ID="editor.action.inlineEdits.hide";let Lx=Ab;bi(fl.ID,fl,3);ne(k$);ne(Cx);ne(xx);ne(I$);ne(Lx);const ph={Visible:new Ri("parameterHintsVisible",!1),MultipleSignatures:new Ri("parameterHintsMultipleSignatures",!1)};async function MN(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){is(a)}}wn.registerCommand("_executeSignatureHelpProvider",async(o,...e)=>{const[t,i,n]=e;Ui(cn.isUri(t)),Ui(kt.isIPosition(i)),Ui(typeof n=="string"||!n);const s=o.get(It),r=await o.get(Yr).createModelReference(t);try{const a=await MN(s.signatureHelpProvider,r.object.textEditorModel,kt.lift(i),{triggerKind:Zl.Invoke,isRetrigger:!1,triggerCharacter:n},mi.None);return a?(setTimeout(()=>a.dispose(),0),a.value):void 0}finally{r.dispose()}});var Nl;(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})(Nl||(Nl={}));const Ob=class Ob extends Ve{constructor(e,t,i=Ob.DEFAULT_DELAY){super(),this._onChangedHints=this._register(new pi),this.onChangedHints=this._onChangedHints.event,this.triggerOnType=!1,this._state=Nl.Default,this._pendingTriggers=[],this._lastSignatureHelpResult=this._register(new Mo),this.triggerChars=new F_,this.retriggerChars=new F_,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=Nl.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(fn)}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 Nl.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(D$);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 Nl.Pending(ys(c=>MN(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 Nl.Active(c.value),this._lastSignatureHelpResult.value=c,this._onChangedHints.fire(this.state.hints),!0)}catch(c){return e===this.triggerId&&(this.state=Nl.Default),fn(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()}};Ob.DEFAULT_DELAY=120;let kx=Ob;function D$(o,e){switch(e.triggerKind){case Zl.Invoke:return e;case Zl.ContentChange:return o;case Zl.TriggerCharacter:default:return e}}var E$=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},t_=function(o,e){return function(t,i){e(t,i,o)}},Ix;const So=mt,P$=Qn("parameter-hints-next",Yt.chevronDown,y("parameterHintsNextIcon","Icon for show next parameter hint.")),T$=Qn("parameter-hints-previous",Yt.chevronUp,y("parameterHintsPreviousIcon","Icon for show previous parameter hint."));var $d;let Dx=($d=class extends Ve{constructor(e,t,i,n,s,r){super(),this.editor=e,this.model=t,this.telemetryService=r,this.renderDisposeables=this._register(new He),this.visible=!1,this.announcedLabel=null,this.allowEditorOverflow=!0,this.markdownRenderer=this._register(new Eg({editor:e},s,n)),this.keyVisible=ph.Visible.bindTo(i),this.keyMultipleSignatures=ph.MultipleSignatures.bindTo(i)}createParameterHintDOMNodes(){const e=So(".editor-widget.parameter-hints-widget"),t=ct(e,So(".phwrapper"));t.tabIndex=-1;const i=ct(t,So(".controls")),n=ct(i,So(".button"+Ki.asCSSSelector(T$))),s=ct(i,So(".overloads")),r=ct(i,So(".button"+Ki.asCSSSelector(P$)));this._register(zi(n,"click",p=>{O_.stop(p),this.previous()})),this._register(zi(r,"click",p=>{O_.stop(p),this.next()}));const a=So(".body"),c=new GE(a,{alwaysConsumeMouseWheel:!0});this._register(c),t.appendChild(c.getDomNode());const h=ct(a,So(".signature")),g=ct(a,So(".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",M0.fontFamily)};f(),this._register(ds.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=ct(this.domNodes.signature,So(".code")),s=i.parameters.length>0,r=i.activeParameter??e.activeParameter;if(s)this.renderParameters(n,i,r);else{const h=ct(n,So("span"));h.textContent=i.label}const a=i.parameters[r];if(a!=null&&a.documentation){const h=So("span.documentation");if(typeof a.documentation=="string")h.textContent=a.documentation;else{const g=this.renderMarkdownDocs(a.documentation);h.appendChild(g.element)}ct(this.domNodes.docs,So("p",{},h))}if(i.documentation!==void 0)if(typeof i.documentation=="string")ct(this.domNodes.docs,So("p",{},i.documentation));else{const h=this.renderMarkdownDocs(i.documentation);ct(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&&(br(y("hint","{0}, hint",h)),this.announcedLabel=h)}this.editor.layoutContentWidget(this),this.domNodes.scrollbar.scanDomNode()}renderMarkdownDocs(e){const t=new vo,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"&&du(t.documentation).length>0||t&&typeof t.documentation=="object"&&du(t.documentation).value.length>0||e.documentation&&typeof e.documentation=="string"&&du(e.documentation).length>0||e.documentation&&typeof e.documentation=="object"&&du(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),ct(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|^)${Kf(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 Ix.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)}},Ix=$d,$d.ID="editor.widget.parameterHintsWidget",$d);Dx=Ix=E$([t_(2,Vi),t_(3,Gr),t_(4,Xr),t_(5,Zr)],Dx);_t("editorHoverWidget.highlightForeground",JE,y("editorHoverWidgetHighlightForeground","Foreground color of the active item in the parameter hint."));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},YI=function(o,e){return function(t,i){e(t,i,o)}},Ex,qd;let xg=(qd=class extends Ve{static get(e){return e.getContribution(Ex.ID)}constructor(e,t,i){super(),this.editor=e,this.model=this._register(new kx(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 x0(()=>this._register(t.createInstance(Dx,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)}},Ex=qd,qd.ID="editor.controller.parameterHints",qd);xg=Ex=M$([YI(1,hi),YI(2,It)],xg);class N$ extends Se{constructor(){super({id:"editor.action.triggerParameterHints",label:y("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=xg.get(t);i==null||i.trigger({triggerKind:Zl.Invoke})}}bi(xg.ID,xg,2);ne(N$);const U1=175,$1=no.bindToContribution(xg.get);Mt(new $1({id:"closeParameterHints",precondition:ph.Visible,handler:o=>o.cancel(),kbOpts:{weight:U1,kbExpr:M.focus,primary:9,secondary:[1033]}}));Mt(new $1({id:"showPrevParameterHint",precondition:ae.and(ph.Visible,ph.MultipleSignatures),handler:o=>o.previous(),kbOpts:{weight:U1,kbExpr:M.focus,primary:16,secondary:[528],mac:{primary:16,secondary:[528,302]}}}));Mt(new $1({id:"showNextParameterHint",precondition:ae.and(ph.Visible,ph.MultipleSignatures),handler:o=>o.next(),kbOpts:{weight:U1,kbExpr:M.focus,primary:18,secondary:[530],mac:{primary:18,secondary:[530,300]}}}));var R$=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},A$=function(o,e){return function(t,i){e(t,i,o)}};class O${constructor(e){this.instantiationService=e}init(...e){}}function F$(o,e){return class extends e{constructor(){super(...arguments),this._autorun=void 0}init(...i){this._autorun=qp((n,s)=>{const r=aS(o(),n);s.add(this.instantiationService.createInstance(r,...i))})}dispose(){var i;(i=this._autorun)==null||i.dispose()}}}function H$(o){return q2()?F$(o,Px):o()}let Px=class extends O${constructor(e,t){super(t),this.init(e)}};Px=R$([A$(1,hi)],Px);bi(wp.ID,H$(()=>wp),0);_t("editor.placeholder.foreground",K2,y("placeholderForeground","Foreground color of the placeholder text in the editor."));var W$=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},i_=function(o,e){return function(t,i){e(t,i,o)}};const Fg=new Ri("renameInputVisible",!1,y("renameInputVisible","Whether the rename input widget is visible"));new Ri("renameInputFocused",!1,y("renameInputFocused","Whether the rename input widget is focused"));let Tx=class{constructor(e,t,i,n,s,r){this._editor=e,this._acceptKeybindings=t,this._themeService=i,this._keybindingService=n,this._logService=r,this.allowEditorOverflow=!0,this._disposables=new He,this._visibleContextKey=Fg.bindTo(s),this._isEditingRenameCandidate=!1,this._nRenameSuggestionsInvocations=0,this._hadAutomaticRenameSuggestionsInvocation=!1,this._candidates=new Set,this._beforeFirstInputFieldEditSW=new vo,this._inputWithButton=new B$,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 q1(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(ZE)??""),this._domNode.style.boxShadow=t?` 0 0 8px 2px ${t}`:"",this._domNode.style.border=i?`1px solid ${i}`:"",this._domNode.style.color=String(e.getColor(X2)??"");const n=e.getColor(Y2);this._inputWithButton.domNode.style.backgroundColor=String(e.getColor(ck)??""),this._inputWithButton.input.style.backgroundColor=String(e.getColor(ck)??""),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;Ui(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=Kp(this.getDomNode().ownerDocument.body),t=Qs(this._editor.getDomNode()),i=this._getTopForPosition();this._nPxAvailableAbove=i+t.top,this._nPxAvailableBelow=e.height-this._nPxAvailableAbove;const n=this._editor.getOption(67),{totalHeight:s}=Sp.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=y({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;Ui(this._renameCandidateListView),Ui(this._nPxAvailableAbove!==void 0),Ui(this._nPxAvailableBelow!==void 0);const t=lu(this._inputWithButton.domNode),i=lu(this._label);let n;e===2?n=this._nPxAvailableBelow:n=this._nPxAvailableAbove,this._renameCandidateListView.layout({height:n-i-t,width:or(this._inputWithButton.domNode)})}acceptInput(e){var t;this._trace("invoking acceptInput"),(t=this._currentAcceptInput)==null||t.call(this,e)}cancelInput(e,t){var i;(i=this._currentCancelInput)==null||i.call(this,e)}focusNextRenameSuggestion(){var e;(e=this._renameCandidateListView)!=null&&e.focusNext()||(this._inputWithButton.input.value=this._currentName)}focusPreviousRenameSuggestion(){var e;(e=this._renameCandidateListView)!=null&&e.focusPrevious()||(this._inputWithButton.input.value=this._currentName)}getInput(e,t,i,n,s){const{start:r,end:a}=this._getSelection(e,t);this._renameCts=s;const c=new He;this._nRenameSuggestionsInvocations=0,this._hadAutomaticRenameSuggestionsInvocation=!1,n===void 0?this._inputWithButton.button.style.display="none":(this._inputWithButton.button.style.display="flex",this._requestRenameCandidatesOnce=n,this._requestRenameCandidates(t,!1),c.add(zi(this._inputWithButton.button,"click",()=>this._requestRenameCandidates(t,!0))),c.add(zi(this._inputWithButton.button,Un.KEY_DOWN,g=>{const f=new G0(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 kt(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(Dn(()=>{this._renameCts=void 0,s.dispose(!0)})),c.add(Dn(()=>{this._renameCandidateProvidersCts!==void 0&&(this._renameCandidateProvidersCts.dispose(!0),this._renameCandidateProvidersCts=void 0)})),c.add(Dn(()=>this._candidates.clear()));const h=new Xb;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"),Ui(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),Ui(this._renameCts),this._inputWithButton.buttonState!=="stop")){this._renameCandidateProvidersCts=new ws;const i=t?lS.Invoke:lS.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){Ui(this._editor.hasModel());const i=this._editor.getSelection();let n=0,s=t.length;return!z.isEmpty(i)&&!z.spansMultipleLines(i)&&z.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 Bp(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"&&l_(h.value)?h.value:[]);n(`received updateRenameCandidates results - total (unfiltered) ${r.length} candidates.`);const a=eE(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)}};Tx=W$([i_(2,Sr),i_(3,as),i_(4,Vi),i_(5,wh)],Tx);class q1{constructor(e,t){this._disposables=new He,this._availableHeight=0,this._minimumWidth=0,this._lineHeight=t.fontInfo.lineHeight,this._typicalHalfwidthCharacterWidth=t.fontInfo.typicalHalfwidthCharacterWidth,this._listContainer=document.createElement("div"),this._listContainer.className="rename-box rename-candidate-list-container",e.appendChild(this._listContainer),this._listWidget=q1._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(QE({listInactiveFocusForeground:XE,listInactiveFocusBackground:YE}))}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`,Yu(y("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}=Sp.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 Sp(r,i)}renderElement(r,a,c){c.populate(r)}disposeTemplate(r){r.dispose()}};return new D0("NewSymbolNameCandidates",e,n,[s],{keyboardSupport:!1,mouseSupport:!0,multipleSelectionSupport:!1})}}class B${constructor(){this._onDidInputChange=new pi,this.onDidInputChange=this._onDidInputChange.event,this._disposables=new He}get domNode(){return this._domNode||(this._domNode=document.createElement("div"),this._domNode.className="rename-input-with-button",this._domNode.style.display="flex",this._domNode.style.flexDirection="row",this._domNode.style.alignItems="center",this._inputNode=document.createElement("input"),this._inputNode.className="rename-input",this._inputNode.type="text",this._inputNode.style.border="none",this._inputNode.setAttribute("aria-label",y("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=y("generateRenameSuggestionsButton","Generate new name suggestions"),this._buttonCancelHoverText=y("cancelRenameSuggestionsButton","Cancel"),this._buttonHover=J2().setupManagedHover(ry("element"),this._buttonNode,this._buttonGenHoverText),this._disposables.add(this._buttonHover),this._domNode.appendChild(this._buttonNode),this._disposables.add(zi(this.input,Un.INPUT,()=>this._onDidInputChange.fire())),this._disposables.add(zi(this.input,Un.KEY_DOWN,e=>{const t=new G0(e);(t.keyCode===15||t.keyCode===17)&&this._onDidInputChange.fire()})),this._disposables.add(zi(this.input,Un.CLICK,()=>this._onDidInputChange.fire())),this._disposables.add(zi(this.input,Un.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(zi(this.input,Un.BLUR,()=>{this.domNode.style.outline="none"}))),this._domNode}get input(){return Ui(this._inputNode),this._inputNode}get button(){return Ui(this._buttonNode),this._buttonNode}get buttonState(){return this._buttonState}setSparkleButton(){var e;this._buttonState="sparkle",this._sparkleIcon??(this._sparkleIcon=cS(Yt.sparkle)),La(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=cS(Yt.primitiveSquare)),La(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 jf=class jf{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=`${jf._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=cS(Yt.sparkle),this._icon.style.display="none",i.appendChild(this._icon),this._label=document.createElement("div"),BE(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+jf._PADDING*2}}dispose(){}};jf._PADDING=2;let Sp=jf;var z$=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Pl=function(o,e){return function(t,i){e(t,i,o)}},Mx;class K1{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 z(this.position.lineNumber,i.startColumn,this.position.lineNumber,i.endColumn),text:i.word,rejectReason:t.length>0?t.join(`
|
|
76
|
-
`):void 0}:{range:z.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(y("no result","No result.")),n);return r}}async function V$(o,e,t,i){const n=new K1(e,t,o),s=await n.resolveRenameLocation(mi.None);return s!=null&&s.rejectReason?{edits:[],rejectReason:s.rejectReason}:n.provideRenameEdits(i,mi.None)}var Kd;let Sc=(Kd=class{static get(e){return e.getContribution(Mx.ID)}constructor(e,t,i,n,s,r,a,c,h){this.editor=e,this._instaService=t,this._notificationService=i,this._bulkEditService=n,this._progressService=s,this._logService=r,this._configService=a,this._languageFeaturesService=c,this._telemetryService=h,this._disposableStore=new He,this._cts=new ws,this._renameWidget=this._disposableStore.add(this._instaService.createInstance(Tx,this.editor,["acceptRenameInput","acceptRenameInputWithPreview"]))}dispose(){this._disposableStore.dispose(),this._cts.dispose(!0)}async run(){var _,w;const e=this._logService.trace.bind(this._logService,"[rename]");if(this._cts.dispose(!0),this._cts=new ws,!this.editor.hasModel()){e("editor has no model");return}const t=this.editor.getPosition(),i=new K1(this.editor.getModel(),t,this._languageFeaturesService.renameProvider);if(!i.hasProvider()){e("skeleton has no provider");return}const n=new Zu(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 Yb?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"||r_(S))&&((_=po.get(this.editor))==null||_.showMessage(S||y("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),(w=po.get(this.editor))==null||w.showMessage(s.rejectReason,t);return}if(n.token.isCancellationRequested){e("returning early - cts1 cancelled");return}const r=new Zu(this.editor,5,s.range,this._cts.token),a=this.editor.getModel(),c=this._languageFeaturesService.newSymbolNamesProvider.all(a),h=await Promise.all(c.map(async S=>[S,await S.supportsAutomaticNewSymbolNamesTriggerKind??!1])),g=(S,D)=>{let P=h.slice();return S===lS.Automatic&&(P=P.filter(([N,V])=>V)),P.map(([N])=>N.provideNewSymbolNames(a,s.range,S,D))};e("creating rename input field and awaiting its result");const f=this._bulkEditService.hasPreviewHandler()&&this._configService.getValue(this.editor.getModel().uri,"editor.rename.enablePreview"),p=await this._renameWidget.getInput(s.range,s.text,f,c.length>0?g:void 0,r);if(e("received response from rename input field"),c.length>0&&this._reportTelemetry(c.length,a.getLanguageId(),p),typeof p=="boolean"){e(`returning early - rename input field response - ${p}`),p&&this.editor.focus(),r.dispose();return}this.editor.focus(),e("requesting rename edits");const v=Bp(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(z.fromPositions(this.editor.getSelection().getPosition())),e("applying edits"),this._bulkEditService.apply(S,{editor:this.editor,showPreview:p.wantsPreview,label:y("label","Renaming '{0}' to '{1}'",s==null?void 0:s.text,p.newName),code:"undoredo.rename",quotableLabel:y("quotableLabel","Renaming {0} to {1}",s==null?void 0:s.text,p.newName),respectAutoSaveConfig:!0}).then(D=>{e("edits applied"),D.ariaSummary&&br(y("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(y("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(y("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)}},Mx=Kd,Kd.ID="editor.contrib.renameController",Kd);Sc=Mx=z$([Pl(1,hi),Pl(2,Ks),Pl(3,Gb),Pl(4,Vp),Pl(5,wh),Pl(6,eF),Pl(7,It),Pl(8,Zr)],Sc);class j$ extends Se{constructor(){super({id:"editor.action.rename",label:y("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(ns),[n,s]=Array.isArray(t)&&t||[void 0,void 0];return cn.isUri(n)&&kt.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))))},fn):super.runCommand(e,t)}run(e,t){const i=e.get(wh),n=Sc.get(t);return n?(i.trace("[RenameAction] got controller, running..."),n.run()):(i.trace("[RenameAction] returning early - controller missing"),Promise.resolve())}}bi(Sc.ID,Sc,4);ne(j$);const G1=no.bindToContribution(Sc.get);Mt(new G1({id:"acceptRenameInput",precondition:Fg,handler:o=>o.acceptRenameInput(!1),kbOpts:{weight:199,kbExpr:ae.and(M.focus,ae.not("isComposing")),primary:3}}));Mt(new G1({id:"acceptRenameInputWithPreview",precondition:ae.and(Fg,ae.has("config.editor.rename.enablePreview")),handler:o=>o.acceptRenameInput(!0),kbOpts:{weight:199,kbExpr:ae.and(M.focus,ae.not("isComposing")),primary:2051}}));Mt(new G1({id:"cancelRenameInput",precondition:Fg,handler:o=>o.cancelRenameInput(),kbOpts:{weight:199,kbExpr:M.focus,primary:9,secondary:[1033]}}));tn(class extends io{constructor(){super({id:"focusNextRenameSuggestion",title:{...Lt("focusNextRenameSuggestion","Focus Next Rename Suggestion")},precondition:Fg,keybinding:[{primary:18,weight:199}]})}run(e){const t=e.get(ns).getFocusedCodeEditor();if(!t)return;const i=Sc.get(t);i&&i.focusNextRenameSuggestion()}});tn(class extends io{constructor(){super({id:"focusPreviousRenameSuggestion",title:{...Lt("focusPreviousRenameSuggestion","Focus Previous Rename Suggestion")},precondition:Fg,keybinding:[{primary:16,weight:199}]})}run(e){const t=e.get(ns).getFocusedCodeEditor();if(!t)return;const i=Sc.get(t);i&&i.focusPreviousRenameSuggestion()}});so("_executeDocumentRenameProvider",function(o,e,t,...i){const[n]=i;Ui(typeof n=="string");const{renameProvider:s}=o.get(It);return V$(s,e,t,n)});so("_executePrepareRename",async function(o,e,t){const{renameProvider:i}=o.get(It),s=await new K1(e,t,i).resolveRenameLocation(mi.None);if(s!=null&&s.rejectReason)throw new Error(s.rejectReason);return s});Kr.as(jp.Configuration).registerConfiguration({id:"editor",properties:{"editor.rename.enablePreview":{scope:5,description:y("enablePreview","Enable/disable the ability to preview changes before renaming"),default:!0,type:"boolean"}}});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},JI=function(o,e){return function(t,i){e(t,i,o)}},Uu;let Wv=(Uu=class extends Ve{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 hs(()=>{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=>$$(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()}},Uu.ID="editor.sectionHeaderDetector",Uu);Wv=U$([JI(1,_s),JI(2,bl)],Wv);function $$(o){return{range:o.range,options:Di.createDynamic({description:"section-header",stickiness:3,collapseOnReplaceEdit:!0,minimap:{color:void 0,position:1,sectionHeaderStyle:o.hasSeparatorLine?2:1,sectionHeaderText:o.text}})}}bi(Wv.ID,Wv,1);function q$(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 K$(o){const e=new Uint8Array(o.buffer,o.byteOffset,o.length*4);return tF()||q$(e),iF.wrap(e)}function NN(o){const e=new Uint32Array(G$(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 K$(e)}function G$(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 Hy(o){return o&&!!o.data}function RN(o){return o&&Array.isArray(o.edits)}class Z${constructor(e,t,i){this.provider=e,this.tokens=t,this.error=i}}function AN(o,e){return o.has(e)}function X$(o,e){const t=o.orderedGroups(e);return t.length>0?t[0]:[]}async function ON(o,e,t,i,n){const s=X$(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||!Hy(c)&&!RN(c))&&(c=null),new Z$(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 Y$(o,e){const t=o.orderedGroups(e);return t.length>0?t[0]:null}class J${constructor(e,t){this.provider=e,this.tokens=t}}function Q$(o,e){return o.has(e)}function FN(o,e){const t=o.orderedGroups(e);return t.length>0?t[0]:[]}async function Z1(o,e,t,i){const n=FN(o,e),s=await Promise.all(n.map(async r=>{let a;try{a=await r.provideDocumentRangeSemanticTokens(e,t,i)}catch(c){is(c),a=null}return(!a||!Hy(a))&&(a=null),new J$(r,a)}));for(const r of s)if(r.tokens)return r;return s.length>0?s[0]:null}wn.registerCommand("_provideDocumentSemanticTokensLegend",async(o,...e)=>{const[t]=e;Ui(t instanceof cn);const i=o.get(Gs).getModel(t);if(!i)return;const{documentSemanticTokensProvider:n}=o.get(It),s=Y$(n,i);return s?s[0].getLegend():o.get(ms).executeCommand("_provideDocumentRangeSemanticTokensLegend",t)});wn.registerCommand("_provideDocumentSemanticTokens",async(o,...e)=>{const[t]=e;Ui(t instanceof cn);const i=o.get(Gs).getModel(t);if(!i)return;const{documentSemanticTokensProvider:n}=o.get(It);if(!AN(n,i))return o.get(ms).executeCommand("_provideDocumentRangeSemanticTokens",t,i.getFullModelRange());const s=await ON(n,i,null,null,mi.None);if(!s)return;const{provider:r,tokens:a}=s;if(!a||!Hy(a))return;const c=NN({id:0,type:"full",data:a.data});return a.resultId&&r.releaseDocumentSemanticTokens(a.resultId),c});wn.registerCommand("_provideDocumentRangeSemanticTokensLegend",async(o,...e)=>{const[t,i]=e;Ui(t instanceof cn);const n=o.get(Gs).getModel(t);if(!n)return;const{documentRangeSemanticTokensProvider:s}=o.get(It),r=FN(s,n);if(r.length===0)return;if(r.length===1)return r[0].getLegend();if(!i||!z.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,z.lift(i),mi.None);if(a)return a.provider.getLegend()});wn.registerCommand("_provideDocumentRangeSemanticTokens",async(o,...e)=>{const[t,i]=e;Ui(t instanceof cn),Ui(z.isIRange(i));const n=o.get(Gs).getModel(t);if(!n)return;const{documentRangeSemanticTokensProvider:s}=o.get(It),r=await Z1(s,n,z.lift(i),mi.None);if(!(!r||!r.tokens))return NN({id:0,type:"full",data:r.tokens.data})});const X1="editor.semanticHighlighting";function D_(o,e,t){var n;const i=(n=t.getValue(X1,{overrideIdentifier:o.getLanguageId(),resource:o.uri}))==null?void 0:n.enabled;return typeof i=="boolean"?i:e.getColorTheme().semanticHighlighting}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},pa=function(o,e){return function(t,i){e(t,i,o)}},Ml;let Nx=class extends Ve{constructor(e,t,i,n,s,r){super(),this._watchers=Object.create(null);const a=g=>{this._watchers[g.uri.toString()]=new Rx(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()];D_(g,i,n)?f||a(g):f&&c(g,f)}};t.getModels().forEach(g=>{D_(g,i,n)&&a(g)}),this._register(t.onModelAdded(g=>{D_(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(X1)&&h()})),this._register(i.onDidColorThemeChange(h))}dispose(){for(const e of Object.values(this._watchers))e.dispose();super.dispose()}};Nx=HN([pa(0,Z0),pa(1,Gs),pa(2,Sr),pa(3,Pn),pa(4,Zo),pa(5,It)],Nx);var gc;let Rx=(gc=class extends Ve{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:Ml.REQUEST_MIN_DELAY,max:Ml.REQUEST_MAX_DELAY}),this._fetchDocumentSemanticTokens=this._register(new hs(()=>this._fetchDocumentSemanticTokensNow(),Ml.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=()=>{zs(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),zs(this._documentProvidersChangeListeners),this._documentProvidersChangeListeners=[],this._setDocumentSemanticTokens(null,null,null,[]),this._isDisposed=!0,super.dispose()}_fetchDocumentSemanticTokensNow(){if(this._currentDocumentRequestCancellationTokenSource)return;if(!AN(this._provider,this._model)){this._currentDocumentResponse&&this._model.tokenization.setSemanticTokens(null,!1);return}if(!this._model.isAttachedToEditor())return;const e=new ws,t=this._currentDocumentResponse?this._currentDocumentResponse.provider:null,i=this._currentDocumentResponse&&this._currentDocumentResponse.resultId||null,n=ON(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 vo(!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)||fn(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(RN(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&&(Ml._copy(c,g-_,h,f-_,_),f-=_),v.data&&(Ml._copy(v.data,0,h,f-v.data.length,v.data.length),f-=v.data.length),g=v.start}g>0&&Ml._copy(c,0,h,0,g),t={resultId:t.resultId,data:h}}}if(Hy(t)){this._currentDocumentResponse=new e5(e,t.resultId,t.data);const a=fP(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()}},Ml=gc,gc.REQUEST_MIN_DELAY=300,gc.REQUEST_MAX_DELAY=2e3,gc);Rx=Ml=HN([pa(1,Z0),pa(2,Sr),pa(3,Zo),pa(4,It)],Rx);class e5{constructor(e,t,i){this.provider=e,this.resultId=t,this.data=i}dispose(){this.provider.releaseDocumentSemanticTokens(this.resultId)}}Dg(Nx);var t5=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},nf=function(o,e){return function(t,i){e(t,i,o)}},$u;let Bv=($u=class extends Ve{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 hs(()=>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(X1)&&(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(!D_(e,this._themeService,this._configurationService)){e.tokenization.hasSomeSemanticTokens()&&e.tokenization.setSemanticTokens(null,!1);return}if(!Q$(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=ys(r=>Promise.resolve(Z1(this._provider,e,t,r))),s=new vo(!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,fP(c,h,e.getLanguageId()))}).then(()=>this._removeOutstandingRequest(n),()=>this._removeOutstandingRequest(n)),n}},$u.ID="editor.contrib.viewportSemanticTokens",$u);Bv=t5([nf(1,Z0),nf(2,Sr),nf(3,Pn),nf(4,Zo),nf(5,It)],Bv);bi(Bv.ID,Bv,1);class i5{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(dk(f)&&hk(g))break;g=f}for(c+=1;h<s.length;h++){const f=s.charCodeAt(h);if(hk(f)&&dk(g))break;if(f===95||f===45)break;g=f}c<h&&e.push({range:new z(i.lineNumber,r+c,i.lineNumber,r+h)})}_addWordRanges(e,t,i){const n=t.getWordAtPosition(i);n&&e.push({range:new z(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 z(i.lineNumber,1,i.lineNumber,t.getLineMaxColumn(i.lineNumber))})}}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},s5=function(o,e){return function(t,i){e(t,i,o)}},Ax;class Y1{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 Y1(t,this.ranges);return i.ranges[t].equalsRange(this.ranges[this.index])?i.mov(e):i}}var Gd;let Cp=(Gd=class{static get(e){return e.getContribution(Ax.ID)}constructor(e,t){this._editor=e,this._languageFeaturesService=t,this._ignoreSelection=!1}dispose(){var e;(e=this._selectionListener)==null||e.dispose()}async run(e){if(!this._editor.hasModel())return;const t=this._editor.getSelections(),i=this._editor.getModel();if(this._state||await BN(this._languageFeaturesService.selectionRangeProvider,i,t.map(s=>s.getPosition()),this._editor.getOption(114),mi.None).then(s=>{var r;if(!(!Eo(s)||s.length!==t.length)&&!(!this._editor.hasModel()||!Da(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 Y1(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=>qt.fromPositions(s.ranges[s.index].getStartPosition(),s.ranges[s.index].getEndPosition()));this._ignoreSelection=!0;try{this._editor.setSelections(n)}finally{this._ignoreSelection=!1}}},Ax=Gd,Gd.ID="editor.contrib.smartSelectController",Gd);Cp=Ax=n5([s5(1,It)],Cp);class WN extends Se{constructor(e,t){super(t),this._forward=e}async run(e,t){const i=Cp.get(t);i&&await i.run(this._forward)}}class o5 extends WN{constructor(){super(!0,{id:"editor.action.smartSelect.expand",label:y("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:lt.MenubarSelectionMenu,group:"1_basic",title:y({key:"miSmartSelectGrow",comment:["&& denotes a mnemonic"]},"&&Expand Selection"),order:2}})}}wn.registerCommandAlias("editor.action.smartSelect.grow","editor.action.smartSelect.expand");class r5 extends WN{constructor(){super(!1,{id:"editor.action.smartSelect.shrink",label:y("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:lt.MenubarSelectionMenu,group:"1_basic",title:y({key:"miSmartSelectShrink",comment:["&& denotes a mnemonic"]},"&&Shrink Selection"),order:3}})}}bi(Cp.ID,Cp,4);ne(o5);ne(r5);async function BN(o,e,t,i,n){const s=o.all(e).concat(new i5(i.selectSubwords));s.length===1&&s.unshift(new xv);const r=[],a=[];for(const c of s)r.push(Promise.resolve(c.provideSelectionRanges(e,t,n)).then(h=>{if(Eo(h)&&h.length===t.length)for(let g=0;g<t.length;g++){a[g]||(a[g]=[]);for(const f of h[g])z.isIRange(f.range)&&z.containsPosition(f.range,t[g])&&a[g].push(z.lift(f.range))}},is));return await Promise.all(r),a.map(c=>{if(c.length===0)return[];c.sort((p,v)=>kt.isBefore(p.getStartPosition(),v.getStartPosition())?1:kt.isBefore(v.getStartPosition(),p.getStartPosition())||kt.isBefore(p.getEndPosition(),v.getEndPosition())?-1:kt.isBefore(v.getEndPosition(),p.getEndPosition())?1:0);const h=[];let g;for(const p of c)(!g||z.containsRange(p,g)&&!z.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 w=new z(v.startLineNumber,e.getLineFirstNonWhitespaceColumn(v.startLineNumber),v.endLineNumber,e.getLineLastNonWhitespaceColumn(v.endLineNumber));w.containsRange(v)&&!w.equalsRange(v)&&_.containsRange(w)&&!_.equalsRange(w)&&f.push(w);const S=new z(v.startLineNumber,1,v.endLineNumber,e.getLineMaxColumn(v.endLineNumber));S.containsRange(v)&&!S.equalsRange(w)&&_.containsRange(S)&&!_.equalsRange(S)&&f.push(S)}f.push(_)}return f})}wn.registerCommand("_executeSelectionRangeProvider",async function(o,...e){const[t,i]=e;Ui(cn.isUri(t));const n=o.get(It).selectionRangeProvider,s=await o.get(Yr).createModelReference(t);try{return BN(n,s.object.textEditorModel,i,{selectLeadingAndTrailingWhitespace:!0,selectSubwords:!0},mi.None)}finally{s.dispose()}});const a5=Object.freeze({View:Lt("view","View"),Help:Lt("help","Help"),Test:Lt("test","Test"),File:Lt("file","File"),Preferences:Lt("preferences","Preferences"),Developer:Lt({key:"developer",comment:["A developer on Code itself or someone diagnosing issues in Code"]},"Developer")});class Of{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&&Da(this.startLineNumbers,e.startLineNumbers)&&Da(this.endLineNumbers,e.endLineNumbers)}static get Empty(){return new Of([],[],0)}}const QI=OE("stickyScrollViewLayer",{createHTML:o=>o}),Hw="data-sticky-line-index",eD="data-sticky-is-line",l5="data-sticky-is-line-number",tD="data-sticky-is-folding-icon";class c5 extends Ve{constructor(e){super(),this._editor=e,this._foldingIconStore=new He,this._rootDomNode=document.createElement("div"),this._lineNumbersDomNode=document.createElement("div"),this._linesDomNodeScrollable=document.createElement("div"),this._linesDomNode=document.createElement("div"),this._lineHeight=this._editor.getOption(67),this._renderedStickyLines=[],this._lineNumbers=[],this._lastLineRelativePosition=0,this._minContentWidthInPx=0,this._isOnGlyphMargin=!1,this._lineNumbersDomNode.className="sticky-widget-line-numbers",this._lineNumbersDomNode.setAttribute("role","none"),this._linesDomNode.className="sticky-widget-lines",this._linesDomNode.setAttribute("role","list"),this._linesDomNodeScrollable.className="sticky-widget-lines-scrollable",this._linesDomNodeScrollable.appendChild(this._linesDomNode),this._rootDomNode.className="sticky-widget",this._rootDomNode.classList.toggle("peek",e instanceof wr),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(zi(this._lineNumbersDomNode,Un.MOUSE_ENTER,()=>{this._isOnGlyphMargin=!0,this._setFoldingIconsVisibility(!0)})),this._foldingIconStore.add(zi(this._lineNumbersDomNode,Un.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 kt(t,1)).lineNumber,a=s.getViewLineRenderingData(r),c=this._editor.getOption(68);let h;try{h=ep.filter(a.inlineDecorations,r,a.minColumn,a.maxColumn)}catch{h=[]}const g=new WE(!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 FE(2e3),p=HE(g,f);let v;QI?v=QI.createHTML(f.build()):v=f.build();const _=document.createElement("span");_.setAttribute(Hw,String(e)),_.setAttribute(eD,""),_.setAttribute("role","listitem"),_.tabIndex=0,_.className="sticky-line-content",_.classList.add(`stickyLine${t}`),_.style.lineHeight=`${this._lineHeight}px`,_.innerHTML=v;const w=document.createElement("span");w.setAttribute(Hw,String(e)),w.setAttribute(l5,""),w.className="sticky-line-number",w.style.lineHeight=`${this._lineHeight}px`;const S=n.contentLeft;w.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`,w.appendChild(D);const P=this._renderFoldingIconForLine(i,t);P&&w.appendChild(P.domNode),this._editor.applyFontInfo(_),this._editor.applyFontInfo(D),w.style.lineHeight=`${this._lineHeight}px`,_.style.lineHeight=`${this._lineHeight}px`,w.style.height=`${this._lineHeight}px`,_.style.height=`${this._lineHeight}px`;const N=new d5(e,t,_,w,P,p.characterMapping,_.scrollWidth);return this._updateTopAndZIndexOfStickyLine(N)}_updateTopAndZIndexOfStickyLine(e){var g;const t=e.index,i=e.lineDomNode,n=e.lineNumberDomNode,s=t===this._lineNumbers.length-1,r="0",a="1";i.style.zIndex=s?r:a,n.style.zIndex=s?r:a;const c=`${t*this._lineHeight+this._lastLineRelativePosition+((g=e.foldingIcon)!=null&&g.isCollapsed?1:0)}px`,h=`${t*this._lineHeight}px`;return i.style.top=s?c:h,n.style.top=s?c:h,e}_renderFoldingIconForLine(e,t){const i=this._editor.getOption(111);if(!e||i==="never")return;const n=e.regions,s=n.findRange(t),r=n.getStartLineNumber(s);if(!(t===r))return;const c=n.isCollapsed(s),h=new h5(c,r,n.getEndLineNumber(s),this._lineHeight);return h.setVisible(this._isOnGlyphMargin?!0:c||i==="always"),h.domNode.setAttribute(tD,""),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 kt(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,Hw);return t?parseInt(t,10):null}isInStickyLine(e){return this._getAttributeValue(e,eD)!==void 0}isInFoldingIconDomNode(e){return this._getAttributeValue(e,tD)!==void 0}_getAttributeValue(e,t){for(;e&&e!==this._rootDomNode;){const i=e.getAttribute(t);if(i!==null)return i;e=e.parentElement}}}class d5{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 h5{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=Ki.asClassName(e?gv:uv)}setVisible(e){this.domNode.style.cursor=e?"pointer":"default",this.domNode.style.opacity=e?"1":"0"}}class Ff{constructor(e,t){this.startLineNumber=e,this.endLineNumber=t}}class zv{constructor(e,t,i){this.range=e,this.children=t,this.parent=i}}class zN{constructor(e,t,i,n){this.uri=e,this.version=t,this.element=i,this.outlineProviderId=n}}var Wy=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},xp=function(o,e){return function(t,i){e(t,i,o)}},Hf;(function(o){o.OUTLINE_MODEL="outlineModel",o.FOLDING_PROVIDER_MODEL="foldingProviderModel",o.INDENTATION_MODEL="indentationModel"})(Hf||(Hf={}));var Kl;(function(o){o[o.VALID=0]="VALID",o[o.INVALID=1]="INVALID",o[o.CANCELED=2]="CANCELED"})(Kl||(Kl={}));let Ox=class extends Ve{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 He),this._editor.getOption(116).defaultModel){case Hf.OUTLINE_MODEL:this._modelProviders.push(new Fx(this._editor,n));case Hf.FOLDING_PROVIDER_MODEL:this._modelProviders.push(new Wx(this._editor,t,n));case Hf.INDENTATION_MODEL:this._modelProviders.push(new Hx(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 Kl.CANCELED:return this._updateOperation.clear(),null;case Kl.VALID:return t.stickyModel}}return null}).catch(t=>(fn(t),null))}};Ox=Wy([xp(2,hi),xp(3,It)],Ox);class VN extends Ve{constructor(e){super(),this._editor=e,this._stickyModel=null}get stickyModel(){return this._stickyModel}_invalid(){return this._stickyModel=null,Kl.INVALID}computeStickyModel(e){if(e.isCancellationRequested||!this.isProviderValid())return{statusPromise:this._invalid(),modelPromise:null};const t=ys(i=>this.createModelFromProvider(i));return{statusPromise:t.then(i=>this.isModelValid(i)?e.isCancellationRequested?Kl.CANCELED:(this._stickyModel=this.createStickyModel(e,i),Kl.VALID):this._invalid()).then(void 0,i=>(fn(i),Kl.CANCELED)),modelPromise:t}}isModelValid(e){return!0}isProviderValid(){return!0}}let Fx=class extends VN{constructor(e,t){super(e),this._languageFeaturesService=t}createModelFromProvider(e){return ja.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 zN(s.uri,s.getVersionId(),i,n)}isModelValid(e){return e&&e.children.size>0}_stickyModelFromOutlineModel(e,t){let i;if(el.first(e.children.values())instanceof cN){const a=el.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 Ff(a.symbol.range.startLineNumber,a.symbol.range.endLineNumber),g=new Ff(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 zv(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 Ff(e.symbol.selectionRange.startLineNumber,e.symbol.range.endLineNumber);return new zv(n,i,void 0)}_comparator(e,t){return e.startLineNumber!==t.startLineNumber?e.startLineNumber-t.startLineNumber:t.endLineNumber-e.endLineNumber}_findSumOfRangesOfGroup(e){let t=0;for(const i of e.children.values())t+=this._findSumOfRangesOfGroup(i);return e instanceof kC?t+e.symbol.range.endLineNumber-e.symbol.selectionRange.startLineNumber:t}};Fx=Wy([xp(1,It)],Fx);class jN extends VN{constructor(e){super(e),this._foldingLimitReporter=new rN(e)}createStickyModel(e,t){const i=this._fromFoldingRegions(t),n=this._editor.getModel();return new zN(n.uri,n.getVersionId(),i,void 0)}isModelValid(e){return e!==null}_fromFoldingRegions(e){const t=e.length,i=[],n=new zv(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 zv(new Ff(e.getStartLineNumber(s),e.getEndLineNumber(s)+1),[],a);a.children.push(c),i.push(c)}return n}}let Hx=class extends jN{constructor(e,t){super(e),this._languageConfigurationService=t,this.provider=this._register(new O1(e.getModel(),this._languageConfigurationService,this._foldingLimitReporter))}async createModelFromProvider(e){return this.provider.compute(e)}};Hx=Wy([xp(1,_s)],Hx);let Wx=class extends jN{constructor(e,t,i){super(e),this._languageFeaturesService=i;const n=wc.getFoldingRangeProviders(this._languageFeaturesService,e.getModel());n.length>0&&(this.provider=this._register(new F1(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}};Wx=Wy([xp(2,It)],Wx);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},iD=function(o,e){return function(t,i){e(t,i,o)}};class g5{constructor(e,t,i){this.startLineNumber=e,this.endLineNumber=t,this.nestingDepth=i}}let Bx=class extends Ve{constructor(e,t,i){super(),this._languageFeaturesService=t,this._languageConfigurationService=i,this._onDidChangeStickyScroll=this._register(new pi),this.onDidChangeStickyScroll=this._onDidChangeStickyScroll.event,this._model=null,this._cts=null,this._stickyModelProvider=null,this._editor=e,this._sessionStore=this._register(new He),this._updateSoon=this._register(new hs(()=>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(Dn(()=>{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 Ox(e,()=>this._updateSoon.schedule(),this._languageConfigurationService,this._languageFeaturesService))}async update(){var e;(e=this._cts)==null||e.dispose(!0),this._cts=new ws,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(B_(a,e.startLineNumber,(g,f)=>g-f)),h=this.updateIndex(B_(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 g5(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}};Bx=u5([iD(1,It),iD(2,_s)],Bx);var f5=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Xh=function(o,e){return function(t,i){e(t,i,o)}},zx,Zd;let pl=(Zd=class extends Ve{constructor(e,t,i,n,s,r,a){super(),this._editor=e,this._contextMenuService=t,this._languageFeaturesService=i,this._instaService=n,this._contextKeyService=a,this._sessionStore=new He,this._maxStickyLines=Number.MAX_SAFE_INTEGER,this._candidateDefinitionsLength=-1,this._focusedStickyElementIndex=-1,this._enabled=!1,this._focused=!1,this._positionRevealed=!1,this._onMouseDown=!1,this._endLineNumbers=[],this._stickyScrollWidget=new c5(this._editor),this._stickyLineCandidateProvider=new Bx(this._editor,i,s),this._register(this._stickyScrollWidget),this._register(this._stickyLineCandidateProvider),this._widgetState=Of.Empty,this._onDidResize(),this._readConfiguration();const c=this._stickyScrollWidget.getDomNode();this._register(this._editor.onDidChangeConfiguration(g=>{this._readConfigurationChange(g)})),this._register(zi(c,Un.CONTEXT_MENU,async g=>{this._onContextMenu(nd(c),g)})),this._stickyScrollFocusedContextKey=M.stickyScrollFocused.bindTo(this._contextKeyService),this._stickyScrollVisibleContextKey=M.stickyScrollVisible.bindTo(this._contextKeyService);const h=this._register(Xu(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(zi(c,Un.MOUSE_DOWN,g=>{this._onMouseDown=!0}))}static get(e){return e.getContribution(zx.ID)}_disposeFocusStickyScrollStore(){var e;this._stickyScrollFocusedContextKey.set(!1),(e=this._focusDisposableStore)==null||e.dispose(),this._focused=!1,this._positionRevealed=!1,this._onMouseDown=!1}focus(){if(this._onMouseDown){this._onMouseDown=!1,this._editor.focus();return}this._stickyScrollFocusedContextKey.get()!==!0&&(this._focused=!0,this._focusDisposableStore=new He,this._stickyScrollFocusedContextKey.set(!0),this._focusedStickyElementIndex=this._stickyScrollWidget.lineNumbers.length-1,this._stickyScrollWidget.focusLineWithIndex(this._focusedStickyElementIndex))}focusNext(){this._focusedStickyElementIndex<this._stickyScrollWidget.lineNumberCount-1&&this._focusNav(!0)}focusPrevious(){this._focusedStickyElementIndex>0&&this._focusNav(!1)}selectEditor(){this._editor.focus()}_focusNav(e){this._focusedStickyElementIndex=e?this._focusedStickyElementIndex+1:this._focusedStickyElementIndex-1,this._stickyScrollWidget.focusLineWithIndex(this._focusedStickyElementIndex)}goToFocused(){const e=this._stickyScrollWidget.lineNumbers;this._disposeFocusStickyScrollStore(),this._revealPosition({lineNumber:e[this._focusedStickyElementIndex],column:1})}_revealPosition(e){this._reveaInEditor(e,()=>this._editor.revealPosition(e))}_revealLineInCenterIfOutsideViewport(e){this._reveaInEditor(e,()=>this._editor.revealLineInCenterIfOutsideViewport(e.lineNumber,0))}_reveaInEditor(e,t){this._focused&&this._disposeFocusStickyScrollStore(),this._positionRevealed=!0,t(),this._editor.setSelection(z.fromPositions(e)),this._editor.focus()}_registerMouseListeners(){const e=this._register(new He),t=this._register(new Dy(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 z(a.lineNumber,a.column,a.lineNumber,a.column+r.innerText.length),textElement:r}:null},n=this._stickyScrollWidget.getDomNode();this._register(ll(n,Un.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 kt(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 kt(h,1)}this._revealPosition(c)})),this._register(ll(n,Un.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(zi(n,Un.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 ws;e.add(Dn(()=>g.dispose(!0)));let f;cm(this._languageFeaturesService.definitionProvider,this._editor.getModel(),new kt(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(Dn(()=>{f.style.textDecoration="none"}))):f||(f=v,f.style.textDecoration="underline",e.add(Dn(()=>{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(jM,s,this._editor,{uri:this._editor.getModel().uri,range:this._stickyRangeProjectedOnEditor})))}))}_onContextMenu(e,t){const i=new sF(e,t);this._contextMenuService.showContextMenu({menuId:lt.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;N1(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=wc.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=Of.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 Ff(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,w=v*e,S=this._editor.getBottomForLineNumber(f)-i,D=this._editor.getTopForLineNumber(p)-i,P=this._editor.getBottomForLineNumber(p)-i;if(_>D&&_<=P){s.push(f),r.push(p+1),n=P-w;break}else w>S&&w<=P&&(s.push(f),r.push(p+1));if(s.length===t)break}}}return this._endLineNumbers=r,new Of(s,r,n,this._showEndForLine)}dispose(){super.dispose(),this._sessionStore.dispose()}},zx=Zd,Zd.ID="store.contrib.stickyScrollController",Zd);pl=zx=f5([Xh(1,Lg),Xh(2,It),Xh(3,hi),Xh(4,_s),Xh(5,Zo),Xh(6,Vi)],pl);class p5 extends io{constructor(){super({id:"editor.action.toggleStickyScroll",title:{...Lt("toggleEditorStickyScroll","Toggle Editor Sticky Scroll"),mnemonicTitle:y({key:"mitoggleStickyScroll",comment:["&& denotes a mnemonic"]},"&&Toggle Editor Sticky Scroll")},metadata:{description:Lt("toggleEditorStickyScroll.description","Toggle/enable the editor sticky scroll which shows the nested scopes at the top of the viewport")},category:a5.View,toggled:{condition:ae.equals("config.editor.stickyScroll.enabled",!0),title:y("stickyScroll","Sticky Scroll"),mnemonicTitle:y({key:"miStickyScroll",comment:["&& denotes a mnemonic"]},"&&Sticky Scroll")},menu:[{id:lt.CommandPalette},{id:lt.MenubarAppearanceMenu,group:"4_editor",order:3},{id:lt.StickyScrollContext}]})}async run(e){const t=e.get(Pn),i=!t.getValue("editor.stickyScroll.enabled");return t.updateValue("editor.stickyScroll.enabled",i)}}const By=100;class m5 extends qr{constructor(){super({id:"editor.action.focusStickyScroll",title:{...Lt("focusStickyScroll","Focus on the editor sticky scroll"),mnemonicTitle:y({key:"mifocusStickyScroll",comment:["&& denotes a mnemonic"]},"&&Focus Sticky Scroll")},precondition:ae.and(ae.has("config.editor.stickyScroll.enabled"),M.stickyScrollVisible),menu:[{id:lt.CommandPalette}]})}runEditorCommand(e,t){var i;(i=pl.get(t))==null||i.focus()}}class _5 extends qr{constructor(){super({id:"editor.action.selectNextStickyScrollLine",title:Lt("selectNextStickyScrollLine.title","Select the next editor sticky scroll line"),precondition:M.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:By,primary:18}})}runEditorCommand(e,t){var i;(i=pl.get(t))==null||i.focusNext()}}class v5 extends qr{constructor(){super({id:"editor.action.selectPreviousStickyScrollLine",title:Lt("selectPreviousStickyScrollLine.title","Select the previous sticky scroll line"),precondition:M.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:By,primary:16}})}runEditorCommand(e,t){var i;(i=pl.get(t))==null||i.focusPrevious()}}class b5 extends qr{constructor(){super({id:"editor.action.goToFocusedStickyScrollLine",title:Lt("goToFocusedStickyScrollLine.title","Go to the focused sticky scroll line"),precondition:M.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:By,primary:3}})}runEditorCommand(e,t){var i;(i=pl.get(t))==null||i.goToFocused()}}class y5 extends qr{constructor(){super({id:"editor.action.selectEditor",title:Lt("selectEditor.title","Select Editor"),precondition:M.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:By,primary:9}})}runEditorCommand(e,t){var i;(i=pl.get(t))==null||i.selectEditor()}}bi(pl.ID,pl,1);tn(p5);tn(m5);tn(v5);tn(_5);tn(b5);tn(y5);var UN=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},bf=function(o,e){return function(t,i){e(t,i,o)}};class w5{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 Vx=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=el.slice(t,i),s=el.slice(t,0,i);let r=5;for(const a of el.concat(n,s)){if(a.score===Yf.Default)continue;const c=new z(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 w5(c,h,a.filterTextLow??a.labelLow,a.completion.additionalTextEdits,a.completion.command,a)),r-->=0&&a.resolve(mi.None)}return e}};Vx=UN([bf(5,Ay)],Vx);let jx=class extends Ve{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(mu.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(mu.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 z(t.lineNumber,1,t.lineNumber,t.column));if(!g&&((v=this._lastResult)!=null&&v.canBeReused(e,t.lineNumber,h))){const _=new zI(p,t.column-this._lastResult.word.endColumn);this._lastResult.completionModel.lineContext=_,this._lastResult.acquire(),f=this._lastResult}else{const _=await H1(this._languageFeatureService.completionProvider,e,t,new pp(void 0,kv.createSuggestFilter(s).itemKind,g==null?void 0:g.providers),g&&{triggerKind:1,triggerCharacter:g.ch},n);let w;_.needsClipboard&&(w=await this._clipboardService.readText());const S=new Fl(_.items,t.column,new zI(p,0),Lv.None,s.getOption(119),s.getOption(113),{boostFullMatch:!1,firstMatchCanBeWeak:!1},w);f=new Vx(e,t.lineNumber,h,S,_,this._suggestMemoryService)}return this._lastResult=f,f}handleItemDidShow(e,t){t.completion.resolve(mi.None)}freeInlineCompletions(e){e.release()}_getTriggerCharacterInfo(e,t){var s;const i=e.getValueInRange(z.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}}};jx=UN([bf(0,It),bf(1,kg),bf(2,Ay),bf(3,ns)],jx);Dg(jx);class S5 extends Se{constructor(){super({id:"editor.action.forceRetokenize",label:y("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 vo;i.tokenization.forceTokenization(i.getLineCount()),n.stop(),console.log(`tokenization took ${n.elapsed()}`)}}ne(S5);const Fb=class Fb extends io{constructor(){super({id:Fb.ID,title:Lt({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:Lt("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=!uk.getTabFocusMode();uk.setTabFocusMode(t),t?br(y("toggle.tabMovesFocus.on","Pressing Tab will now move focus to the next focusable element")):br(y("toggle.tabMovesFocus.off","Pressing Tab will now insert the tab character"))}};Fb.ID="editor.action.toggleTabFocusMode";let Ux=Fb;tn(Ux);var C5=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},nD=function(o,e){return function(t,i){e(t,i,o)}};let $x=class extends Ve{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=ct(e,mt("a.monaco-link",{tabIndex:t.tabIndex??0,href:t.href},t.label)),this.hoverDelegate=i.hoverDelegate??ry("mouse"),this.setTooltip(t.title),this.el.setAttribute("role","button");const r=this._register(new iw(this.el,"click")),a=this._register(new iw(this.el,"keypress")),c=ds.chain(a.event,f=>f.map(p=>new G0(p)).filter(p=>p.keyCode===3)),h=this._register(new iw(this.el,rF.Tap)).event;this._register(nE.addTarget(this.el));const g=ds.any(r.event,c,h);this._register(g(f=>{this.enabled&&(O_.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)}};$x=C5([nD(3,Gp),nD(4,Gr)],$x);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},qN=function(o,e){return function(t,i){e(t,i,o)}};const x5=26;let qx=class extends Ve{constructor(e,t){super(),this._editor=e,this.instantiationService=t,this.banner=this._register(this.instantiationService.createInstance(Kx))}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,x5)}};qx=$N([qN(1,hi)],qx);let Kx=class extends Ve{constructor(e){super(),this.instantiationService=e,this.markdownRenderer=this.instantiationService.createInstance(Eg,{}),this.element=mt("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=mt("span");return t.innerText=e,t}return this.markdownRenderer.render(e).element}clear(){La(this.element)}show(e){La(this.element);const t=this.getAriaLabel(e);t&&this.element.setAttribute("aria-label",t);const i=ct(this.element,mt("div.icon-container"));i.setAttribute("aria-hidden","true"),e.icon&&i.appendChild(mt(`div${Ki.asCSSSelector(e.icon)}`));const n=ct(this.element,mt("div.message-container"));if(n.setAttribute("aria-hidden","true"),n.appendChild(this.getBannerMessage(e.message)),this.messageActionsContainer=ct(this.element,mt("div.message-actions-container")),e.actions)for(const r of e.actions)this._register(this.instantiationService.createInstance($x,this.messageActionsContainer,{...r,tabIndex:-1},{}));const s=ct(this.element,mt("div.action-container"));this.actionBar=this._register(new $f(s)),this.actionBar.push(this._register(new eg("banner.close","Close Banner",Ki.asClassName(LE),!0,()=>{typeof e.onClose=="function"&&e.onClose()})),{icon:!0,label:!1}),this.actionBar.setFocusable(!1)}};Kx=$N([qN(0,hi)],Kx);var J1=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Eu=function(o,e){return function(t,i){e(t,i,o)}};const L5=Qn("extensions-warning-message",Yt.warning,y("warningIcon","Icon shown with a warning message in the extensions editor."));var qu;let Lp=(qu=class extends Ve{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:y("unicodeHighlighting.thisDocumentHasManyNonBasicAsciiUnicodeCharacters","This document contains many non-basic ASCII unicode characters"),command:new Ip};else if(s.ambiguousCharacterCount>=r)a={message:y("unicodeHighlighting.thisDocumentHasManyAmbiguousUnicodeCharacters","This document contains many ambiguous unicode characters"),command:new mh};else if(s.invisibleCharacterCount>=r)a={message:y("unicodeHighlighting.thisDocumentHasManyInvisibleUnicodeCharacters","This document contains many invisible unicode characters"),command:new kp};else throw new Error("Unreachable");this._bannerController.show({id:"unicodeHighlightBanner",message:a.message,icon:L5,actions:[{label:a.command.shortLabel,href:`command:${a.command.id}`}],onClose:()=>{this._bannerClosed=!0}})}else this._bannerController.hide()},this._bannerController=this._register(n.createInstance(qx,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=k5(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 Gx(this._editor,t,this._updateState,this._editorWorkerService):this._highlighter=new I5(this._editor,t,this._updateState)}getDecorationInfo(e){return this._highlighter?this._highlighter.getDecorationInfo(e):null}},qu.ID="editor.contrib.unicodeHighlighter",qu);Lp=J1([Eu(1,bl),Eu(2,lF),Eu(3,hi)],Lp);function k5(o,e){return{nonBasicASCII:e.nonBasicASCII===nw?!o:e.nonBasicASCII,ambiguousCharacters:e.ambiguousCharacters,invisibleCharacters:e.invisibleCharacters,includeComments:e.includeComments===nw?!o:e.includeComments,includeStrings:e.includeStrings===nw?!o:e.includeStrings,allowedCharacters:e.allowedCharacters,allowedLocales:e.allowedLocales}}let Gx=class extends Ve{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 hs(()=>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:Vv.instance.getDecorationFromOptions(this._options)});this._decorations.set(i)})}getDecorationInfo(e){if(!this._decorations.has(e))return null;const t=this._editor.getModel();if(!pP(t,e))return null;const i=t.getValueInRange(e.range);return{reason:GN(i,this._options),inComment:_P(t,e),inString:mP(t,e)}}};Gx=J1([Eu(3,bl)],Gx);class I5 extends Ve{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 hs(()=>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=vP.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:Vv.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 pP(t,e)?{reason:GN(i,this._options),inComment:_P(t,e),inString:mP(t,e)}:null}}const KN=y("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(Lp.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=Ww(f);let v;switch(h.reason.kind){case 0:{zE(h.reason.confusableWith)?v=y("unicodeHighlight.characterIsAmbiguousASCII","The character {0} could be confused with the ASCII character {1}, which is more common in source code.",p,Ww(h.reason.confusableWith.codePointAt(0))):v=y("unicodeHighlight.characterIsAmbiguous","The character {0} could be confused with the character {1}, which is more common in source code.",p,Ww(h.reason.confusableWith.codePointAt(0)));break}case 1:v=y("unicodeHighlight.characterIsInvisible","The character {0} is invisible.",p);break;case 2:v=y("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},w=y("unicodeHighlight.adjustSettings","Adjust settings"),S=`command:${jv.ID}?${encodeURIComponent(JSON.stringify(_))}`,D=new Ws("",!0).appendMarkdown(v).appendText(" ").appendLink(S,w,KN);s.push(new fr(this,c.range,[D],!1,a++))}return s}renderHoverParts(e,t){return i4(e,t,this._editor,this._languageService,this._openerService)}};Zx=J1([Eu(1,Xr),Eu(2,Gr)],Zx);function Xx(o){return`U+${o.toString(16).padStart(4,"0")}`}function Ww(o){let e=`\`${Xx(o)}\``;return bP.isInvisibleCharacter(o)||(e+=` "${`${D5(o)}`}"`),e}function D5(o){return o===96?"`` ` ``":"`"+String.fromCodePoint(o)+"`"}function GN(o,e){return vP.computeUnicodeHighlightReason(o,e)}const Hb=class Hb{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=Di.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}};Hb.instance=new Hb;let Vv=Hb;class E5 extends Se{constructor(){super({id:mh.ID,label:y("action.unicodeHighlight.disableHighlightingInComments","Disable highlighting of characters in comments"),alias:"Disable highlighting of characters in comments",precondition:void 0}),this.shortLabel=y("unicodeHighlight.disableHighlightingInComments.shortLabel","Disable Highlight In Comments")}async run(e,t,i){const n=e==null?void 0:e.get(Pn);n&&this.runAction(n)}async runAction(e){await e.updateValue(dl.includeComments,!1,2)}}class P5 extends Se{constructor(){super({id:mh.ID,label:y("action.unicodeHighlight.disableHighlightingInStrings","Disable highlighting of characters in strings"),alias:"Disable highlighting of characters in strings",precondition:void 0}),this.shortLabel=y("unicodeHighlight.disableHighlightingInStrings.shortLabel","Disable Highlight In Strings")}async run(e,t,i){const n=e==null?void 0:e.get(Pn);n&&this.runAction(n)}async runAction(e){await e.updateValue(dl.includeStrings,!1,2)}}const Wb=class Wb extends Se{constructor(){super({id:Wb.ID,label:y("action.unicodeHighlight.disableHighlightingOfAmbiguousCharacters","Disable highlighting of ambiguous characters"),alias:"Disable highlighting of ambiguous characters",precondition:void 0}),this.shortLabel=y("unicodeHighlight.disableHighlightingOfAmbiguousCharacters.shortLabel","Disable Ambiguous Highlight")}async run(e,t,i){const n=e==null?void 0:e.get(Pn);n&&this.runAction(n)}async runAction(e){await e.updateValue(dl.ambiguousCharacters,!1,2)}};Wb.ID="editor.action.unicodeHighlight.disableHighlightingOfAmbiguousCharacters";let mh=Wb;const Bb=class Bb extends Se{constructor(){super({id:Bb.ID,label:y("action.unicodeHighlight.disableHighlightingOfInvisibleCharacters","Disable highlighting of invisible characters"),alias:"Disable highlighting of invisible characters",precondition:void 0}),this.shortLabel=y("unicodeHighlight.disableHighlightingOfInvisibleCharacters.shortLabel","Disable Invisible Highlight")}async run(e,t,i){const n=e==null?void 0:e.get(Pn);n&&this.runAction(n)}async runAction(e){await e.updateValue(dl.invisibleCharacters,!1,2)}};Bb.ID="editor.action.unicodeHighlight.disableHighlightingOfInvisibleCharacters";let kp=Bb;const zb=class zb extends Se{constructor(){super({id:zb.ID,label:y("action.unicodeHighlight.disableHighlightingOfNonBasicAsciiCharacters","Disable highlighting of non basic ASCII characters"),alias:"Disable highlighting of non basic ASCII characters",precondition:void 0}),this.shortLabel=y("unicodeHighlight.disableHighlightingOfNonBasicAsciiCharacters.shortLabel","Disable Non ASCII Highlight")}async run(e,t,i){const n=e==null?void 0:e.get(Pn);n&&this.runAction(n)}async runAction(e){await e.updateValue(dl.nonBasicASCII,!1,2)}};zb.ID="editor.action.unicodeHighlight.disableHighlightingOfNonBasicAsciiCharacters";let Ip=zb;const Vb=class Vb extends Se{constructor(){super({id:Vb.ID,label:y("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(ml),g=e.get(Pn);function f(_){return bP.isInvisibleCharacter(_)?y("unicodeHighlight.excludeInvisibleCharFromBeingHighlighted","Exclude {0} (invisible character) from being highlighted",Xx(_)):y("unicodeHighlight.excludeCharFromBeingHighlighted","Exclude {0} from being highlighted",`${Xx(_)} "${c}"`)}const p=[];if(s.kind===0)for(const _ of s.notAmbiguousInLocales)p.push({label:y("unicodeHighlight.allowCommonCharactersInLanguage",'Allow unicode characters that are more common in the language "{0}".',_),run:async()=>{M5(g,[_])}});if(p.push({label:f(n),run:()=>T5(g,[n])}),a){const _=new E5;p.push({label:_.label,run:async()=>_.runAction(g)})}else if(r){const _=new P5;p.push({label:_.label,run:async()=>_.runAction(g)})}if(s.kind===0){const _=new mh;p.push({label:_.label,run:async()=>_.runAction(g)})}else if(s.kind===1){const _=new kp;p.push({label:_.label,run:async()=>_.runAction(g)})}else if(s.kind===2){const _=new Ip;p.push({label:_.label,run:async()=>_.runAction(g)})}else N5(s);const v=await h.pick(p,{title:KN});v&&await v.run()}};Vb.ID="editor.action.unicodeHighlight.showExcludeOptions";let jv=Vb;async function T5(o,e){const t=o.getValue(dl.allowedCharacters);let i;typeof t=="object"&&t?i=t:i={};for(const n of e)i[String.fromCodePoint(n)]=!0;await o.updateValue(dl.allowedCharacters,i,2)}async function M5(o,e){var n;const t=(n=o.inspect(dl.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(dl.allowedLocales,i,2)}function N5(o){throw new Error(`Unexpected value: ${o}`)}ne(mh);ne(kp);ne(Ip);ne(jv);bi(Lp.ID,Lp,1);Lh.register(Zx);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},sD=function(o,e){return function(t,i){e(t,i,o)}};const ZN="ignoreUnusualLineTerminators";function A5(o,e,t){o.setModelProperty(e.uri,ZN,t)}function O5(o,e){return o.getModelProperty(e.uri,ZN)}var Ku;let Uv=(Ku=class extends Ve{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()||O5(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:y("unusualLineTerminators.title","Unusual Line Terminators"),message:y("unusualLineTerminators.message","Detected unusual line terminators"),detail:y("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`.",Pa(e.uri)),primaryButton:y({key:"unusualLineTerminators.fix",comment:["&& denotes a mnemonic"]},"&&Remove Unusual Line Terminators"),cancelButton:y("unusualLineTerminators.ignore","Ignore")})}finally{this._isPresentingDialog=!1}if(!i.confirmed){A5(this._codeEditorService,e,!0);return}e.removeUnusualLineTerminators(this._editor.getSelections())}},Ku.ID="editor.contrib.unusualLineTerminatorsDetector",Ku);Uv=R5([sD(1,X0),sD(2,ns)],Uv);bi(Uv.ID,Uv,1);var F5=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},H5=function(o,e){return function(t,i){e(t,i,o)}};class oD{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,gk,!1).map(a=>({range:a.range,kind:V_.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,gk,!1).map(g=>({range:g.range,kind:V_.Text}));h&&s.set(a.uri,h)}return s}}let Yx=class extends Ve{constructor(e){super(),this._register(e.documentHighlightProvider.register("*",new oD)),this._register(e.multiDocumentHighlightProvider.register("*",new oD))}};Yx=F5([H5(0,It)],Yx);var XN=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},E_=function(o,e){return function(t,i){e(t,i,o)}},Jn,Jx;const Q1=new Ri("hasWordHighlights",!1);function YN(o,e,t,i){const n=o.ordered(e);return U0(n.map(s=>()=>Promise.resolve(s.provideDocumentHighlights(e,t,i)).then(void 0,is)),s=>s!=null).then(s=>{if(s){const r=new pc;return r.set(e.uri,s),r}return new pc})}function W5(o,e,t,i,n,s){const r=o.ordered(e);return U0(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,is)}),a=>a!=null)}class JN{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=ys(e=>this._compute(this._model,this._selection,this._wordSeparators,e))),this._result}_getCurrentWordRange(e,t){const i=e.getWordAtPosition(t.getPosition());return i?new z(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 B5 extends JN{constructor(e,t,i,n){super(e,t,i),this._providers=n}_compute(e,t,i,n){return YN(this._providers,e,t.getPosition(),n).then(s=>s||new pc)}}class z5 extends JN{constructor(e,t,i,n,s){super(e,t,i),this._providers=n,this._otherModels=s}_compute(e,t,i,n){return W5(this._providers,e,t.getPosition(),i,n,this._otherModels).then(s=>s||new pc)}}function V5(o,e,t,i,n){return new B5(e,t,n,o)}function j5(o,e,t,i,n,s){return new z5(e,t,n,o,s)}so("_executeDocumentHighlights",async(o,e,t)=>{const i=o.get(It),n=await YN(i.documentHighlightProvider,e,t,mi.None);return n==null?void 0:n.get(e.uri)});var fc;let Qx=(fc=class{constructor(e,t,i,n,s){this.toUnhook=new He,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=Q1.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():Jn.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=Jn.query)==null?void 0:c.modelInfo)==null?void 0:h.model);break;case"multiFile":Jn.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,Jn.query&&this._run()}hasDecorations(){return this.decorations.length>0}restore(){this.occurrencesHighlight!=="off"&&(this.runDelayer.cancel(),this._run())}_getSortedHighlights(){return this.decorations.getRanges().sort(z.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);br(`${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);br(`${r}, ${i+1} of ${e.length} for '${s.word}'`)}}finally{this._ignorePositionChangeEvent=!1}}_removeSingleDecorations(){if(!this.editor.hasModel())return;const e=Jn.storedDecorationIDs.get(this.editor.getModel().uri);e&&(this.editor.removeDecorations(e),Jn.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()||R_(n.getModel().uri,e==null?void 0:e.uri))continue;const s=Jn.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)Jn.storedDecorationIDs.delete(n)}_stopSingular(){var e,t,i,n;this._removeSingleDecorations(),this.editor.hasTextFocus()&&(((e=this.editor.getModel())==null?void 0:e.uri.scheme)!==Ys.vscodeNotebookCell&&((i=(t=Jn.query)==null?void 0:t.modelInfo)==null?void 0:i.model.uri.scheme)!==Ys.vscodeNotebookCell?(Jn.query=null,this._run()):(n=Jn.query)!=null&&n.modelInfo&&(Jn.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)!==Ys.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===Ys.vscodeNotebookCell){const s=[],r=this.codeEditorService.listCodeEditors();for(const a of r){const c=a.getModel();c&&c!==e&&c.uri.scheme===Ys.vscodeNotebookCell&&s.push(c)}return s}const i=[],n=this.codeEditorService.listCodeEditors();for(const s of n){if(!yP(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){Jn.query=null,this._stopAll();return}const a=r.startColumn,c=r.endColumn,h=this._getWord();if(!h||h.startColumn>a||h.endColumn<c){Jn.query=null,this._stopAll();return}t=this.workerRequest&&this.workerRequest.isValid(this.model,r,this.decorations),Jn.query={modelInfo:{model:this.model,selection:r},word:h}}else if(!Jn.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(R_(this.editor.getModel().uri,(n=Jn.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(!Jn.query||!Jn.query.modelInfo||Jn.query.modelInfo.model.isDisposed())return;this.workerRequest=this.computeWithModel(Jn.query.modelInfo.model,Jn.query.modelInfo.selection,Jn.query.word,a),(s=this.workerRequest)==null||s.result.then(c=>{r===this.workerRequestTokenId&&(this.workerRequestCompleted=!0,this.workerRequestValue=c||[],this._beginRenderDecorations())},fn)}}computeWithModel(e,t,i,n){return n.length?j5(this.multiDocumentProviders,e,t,i,this.editor.getOption(132),n):V5(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=Jn.storedDecorationIDs.get(c),g=this.workerRequestValue.get(c);if(g)for(const p of g)p.range&&a.push({range:p.range,options:T6(p.kind)});let f=[];s.changeDecorations(p=>{f=p.deltaDecorations(h??[],a)}),Jn.storedDecorationIDs=Jn.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()}},Jn=fc,fc.storedDecorationIDs=new pc,fc.query=null,fc);Qx=Jn=XN([E_(4,ns)],Qx);var Xd;let Cc=(Xd=class extends Ve{static get(e){return e.getContribution(Jx.ID)}constructor(e,t,i,n){super(),this._wordHighlighter=null;const s=()=>{e.hasModel()&&!e.getModel().isTooLargeForTokenization()&&(this._wordHighlighter=new Qx(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()}},Jx=Xd,Xd.ID="editor.contrib.wordHighlighter",Xd);Cc=Jx=XN([E_(1,Vi),E_(2,It),E_(3,ns)],Cc);class QN extends Se{constructor(e,t){super(t),this._isNext=e}run(e,t){const i=Cc.get(t);i&&(this._isNext?i.moveNext():i.moveBack())}}class U5 extends QN{constructor(){super(!0,{id:"editor.action.wordHighlight.next",label:y("wordHighlight.next.label","Go to Next Symbol Highlight"),alias:"Go to Next Symbol Highlight",precondition:Q1,kbOpts:{kbExpr:M.editorTextFocus,primary:65,weight:100}})}}class $5 extends QN{constructor(){super(!1,{id:"editor.action.wordHighlight.prev",label:y("wordHighlight.previous.label","Go to Previous Symbol Highlight"),alias:"Go to Previous Symbol Highlight",precondition:Q1,kbOpts:{kbExpr:M.editorTextFocus,primary:1089,weight:100}})}}class q5 extends Se{constructor(){super({id:"editor.action.wordHighlight.trigger",label:y("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)}}bi(Cc.ID,Cc,0);ne(U5);ne($5);ne(q5);Dg(Yx);class zy extends no{constructor(e){super(e),this._inSelectionMode=e.inSelectionMode,this._wordNavigationType=e.wordNavigationType}runEditorCommand(e,t,i){if(!t.hasModel())return;const n=Sh(t.getOption(132),t.getOption(131)),s=t.getModel(),r=t.getSelections(),a=r.length>1,c=r.map(h=>{const g=new kt(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 kt(c[0].positionLineNumber,c[0].positionColumn);t.revealPosition(h,0)}}_moveTo(e,t,i){return i?new qt(e.selectionStartLineNumber,e.selectionStartColumn,t.lineNumber,t.column):new qt(t.lineNumber,t.column,t.lineNumber,t.column)}}class Ic extends zy{_move(e,t,i,n,s){return Qp.moveWordLeft(e,t,i,n,s)}}class Dc extends zy{_move(e,t,i,n,s){return Qp.moveWordRight(e,t,i,n)}}class K5 extends Ic{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordStartLeft",precondition:void 0})}}class G5 extends Ic{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordEndLeft",precondition:void 0})}}class Z5 extends Ic{constructor(){var e;super({inSelectionMode:!1,wordNavigationType:1,id:"cursorWordLeft",precondition:void 0,kbOpts:{kbExpr:ae.and(M.textInputFocus,(e=ae.and(dy,hy))==null?void 0:e.negate()),primary:2063,mac:{primary:527},weight:100}})}}class X5 extends Ic{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordStartLeftSelect",precondition:void 0})}}class Y5 extends Ic{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordEndLeftSelect",precondition:void 0})}}class J5 extends Ic{constructor(){var e;super({inSelectionMode:!0,wordNavigationType:1,id:"cursorWordLeftSelect",precondition:void 0,kbOpts:{kbExpr:ae.and(M.textInputFocus,(e=ae.and(dy,hy))==null?void 0:e.negate()),primary:3087,mac:{primary:1551},weight:100}})}}class Q5 extends Ic{constructor(){super({inSelectionMode:!1,wordNavigationType:3,id:"cursorWordAccessibilityLeft",precondition:void 0})}_move(e,t,i,n,s){return super._move(Sh(uy.wordSeparators.defaultValue,e.intlSegmenterLocales),t,i,n,s)}}class e8 extends Ic{constructor(){super({inSelectionMode:!0,wordNavigationType:3,id:"cursorWordAccessibilityLeftSelect",precondition:void 0})}_move(e,t,i,n,s){return super._move(Sh(uy.wordSeparators.defaultValue,e.intlSegmenterLocales),t,i,n,s)}}class t8 extends Dc{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordStartRight",precondition:void 0})}}class i8 extends Dc{constructor(){var e;super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordEndRight",precondition:void 0,kbOpts:{kbExpr:ae.and(M.textInputFocus,(e=ae.and(dy,hy))==null?void 0:e.negate()),primary:2065,mac:{primary:529},weight:100}})}}class n8 extends Dc{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordRight",precondition:void 0})}}class s8 extends Dc{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordStartRightSelect",precondition:void 0})}}class o8 extends Dc{constructor(){var e;super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordEndRightSelect",precondition:void 0,kbOpts:{kbExpr:ae.and(M.textInputFocus,(e=ae.and(dy,hy))==null?void 0:e.negate()),primary:3089,mac:{primary:1553},weight:100}})}}class r8 extends Dc{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordRightSelect",precondition:void 0})}}class a8 extends Dc{constructor(){super({inSelectionMode:!1,wordNavigationType:3,id:"cursorWordAccessibilityRight",precondition:void 0})}_move(e,t,i,n,s){return super._move(Sh(uy.wordSeparators.defaultValue,e.intlSegmenterLocales),t,i,n,s)}}class l8 extends Dc{constructor(){super({inSelectionMode:!0,wordNavigationType:3,id:"cursorWordAccessibilityRightSelect",precondition:void 0})}_move(e,t,i,n,s){return super._move(Sh(uy.wordSeparators.defaultValue,e.intlSegmenterLocales),t,i,n,s)}}class Vy extends no{constructor(e){super(e),this._whitespaceHeuristics=e.whitespaceHeuristics,this._wordNavigationType=e.wordNavigationType}runEditorCommand(e,t,i){const n=e.get(_s);if(!t.hasModel())return;const s=Sh(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 Wp(_,"")});t.pushUndoStop(),t.executeCommands(this.id,p),t.pushUndoStop()}}class eL extends Vy{_delete(e,t){const i=Qp.deleteWordLeft(e,t);return i||new z(1,1,1,1)}}class tL extends Vy{_delete(e,t){const i=Qp.deleteWordRight(e,t);if(i)return i;const n=e.model.getLineCount(),s=e.model.getLineMaxColumn(n);return new z(n,s,n,s)}}class c8 extends eL{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:0,id:"deleteWordStartLeft",precondition:M.writable})}}class d8 extends eL{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:2,id:"deleteWordEndLeft",precondition:M.writable})}}class h8 extends eL{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:0,id:"deleteWordLeft",precondition:M.writable,kbOpts:{kbExpr:M.textInputFocus,primary:2049,mac:{primary:513},weight:100}})}}class u8 extends tL{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:0,id:"deleteWordStartRight",precondition:M.writable})}}class g8 extends tL{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:2,id:"deleteWordEndRight",precondition:M.writable})}}class f8 extends tL{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:2,id:"deleteWordRight",precondition:M.writable,kbOpts:{kbExpr:M.textInputFocus,primary:2068,mac:{primary:532},weight:100}})}}class p8 extends Se{constructor(){super({id:"deleteInsideWord",precondition:M.writable,label:y("deleteInsideWord","Delete Word"),alias:"Delete Word"})}run(e,t,i){if(!t.hasModel())return;const n=Sh(t.getOption(132),t.getOption(131)),s=t.getModel(),a=t.getSelections().map(c=>{const h=Qp.deleteInsideWord(n,s,c);return new Wp(h,"")});t.pushUndoStop(),t.executeCommands(this.id,a),t.pushUndoStop()}}Mt(new K5);Mt(new G5);Mt(new Z5);Mt(new X5);Mt(new Y5);Mt(new J5);Mt(new t8);Mt(new i8);Mt(new n8);Mt(new s8);Mt(new o8);Mt(new r8);Mt(new Q5);Mt(new e8);Mt(new a8);Mt(new l8);Mt(new c8);Mt(new d8);Mt(new h8);Mt(new u8);Mt(new g8);Mt(new f8);ne(p8);class m8 extends Vy{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=gy.deleteWordPartLeft(e);return i||new z(1,1,1,1)}}class _8 extends Vy{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=gy.deleteWordPartRight(e);if(i)return i;const n=e.model.getLineCount(),s=e.model.getLineMaxColumn(n);return new z(n,s,n,s)}}class eR extends zy{_move(e,t,i,n,s){return gy.moveWordPartLeft(e,t,i,s)}}class v8 extends eR{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordPartLeft",precondition:void 0,kbOpts:{kbExpr:M.textInputFocus,primary:0,mac:{primary:783},weight:100}})}}wn.registerCommandAlias("cursorWordPartStartLeft","cursorWordPartLeft");class b8 extends eR{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordPartLeftSelect",precondition:void 0,kbOpts:{kbExpr:M.textInputFocus,primary:0,mac:{primary:1807},weight:100}})}}wn.registerCommandAlias("cursorWordPartStartLeftSelect","cursorWordPartLeftSelect");class tR extends zy{_move(e,t,i,n,s){return gy.moveWordPartRight(e,t,i)}}class y8 extends tR{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordPartRight",precondition:void 0,kbOpts:{kbExpr:M.textInputFocus,primary:0,mac:{primary:785},weight:100}})}}class w8 extends tR{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordPartRightSelect",precondition:void 0,kbOpts:{kbExpr:M.textInputFocus,primary:0,mac:{primary:1809},weight:100}})}}Mt(new m8);Mt(new _8);Mt(new v8);Mt(new b8);Mt(new y8);Mt(new w8);const mL=class mL extends Ve{constructor(e){super(),this.editor=e,this._register(this.editor.onDidAttemptReadOnlyEdit(()=>this._onDidAttemptReadOnlyEdit()))}_onDidAttemptReadOnlyEdit(){const e=po.get(this.editor);if(e&&this.editor.hasModel()){let t=this.editor.getOptions().get(93);t||(this.editor.isSimpleWidget?t=new Ws(y("editor.simple.readonly","Cannot edit in read-only input")):t=new Ws(y("editor.readonly","Cannot edit in read-only editor"))),e.showMessage(t,this.editor.getPosition())}}};mL.ID="editor.contrib.readOnlyMessageController";let $v=mL;bi($v.ID,$v,2);var S8=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(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)}};let e0=class extends Ve{constructor(e,t,i){super(),this._textModel=e,this._languageFeaturesService=t,this._outlineModelService=i,this._currentModel=Po(this,void 0);const n=sd("documentSymbolProvider.onDidChange",this._languageFeaturesService.documentSymbolProvider.onDidChange),s=sd("_textModel.onDidChangeContent",ds.debounce(r=>this._textModel.onDidChangeContent(r),()=>{},100));this._register(qp(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,ny))),n.map(s=>({name:s.name,kind:s.kind,startLineNumber:s.range.startLineNumber}))}};e0=S8([rD(1,It),rD(2,um)],e0);gF.setBreadcrumbsSourceFactory((o,e)=>e.createInstance(e0,o));const _L=class _L extends Ve{constructor(e){super(),this.editor=e,this.widget=null,iS&&(this._register(e.onDidChangeConfiguration(()=>this.update())),this.update())}update(){const e=!this.editor.getOption(92);!this.widget&&e?this.widget=new t0(this.editor):this.widget&&!e&&(this.widget.dispose(),this.widget=null)}dispose(){super.dispose(),this.widget&&(this.widget.dispose(),this.widget=null)}};_L.ID="editor.contrib.iPadShowKeyboard";let qv=_L;const jb=class jb extends Ve{constructor(e){super(),this.editor=e,this._domNode=document.createElement("textarea"),this._domNode.className="iPadShowKeyboard",this._register(zi(this._domNode,"touchstart",t=>{this.editor.focus()})),this._register(zi(this._domNode,"focus",t=>{this.editor.focus()})),this.editor.addOverlayWidget(this)}dispose(){this.editor.removeOverlayWidget(this),super.dispose()}getId(){return jb.ID}getDomNode(){return this._domNode}getPosition(){return{preference:1}}};jb.ID="editor.contrib.ShowKeyboardWidget";let t0=jb;bi(qv.ID,qv,3);var C8=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},aD=function(o,e){return function(t,i){e(t,i,o)}},i0,Yd;let Dp=(Yd=class extends Ve{static get(e){return e.getContribution(i0.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(oy.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 n0(this._editor,this._languageService))}stop(){this._widget&&(this._widget.dispose(),this._widget=null)}},i0=Yd,Yd.ID="editor.contrib.inspectTokens",Yd);Dp=i0=C8([aD(1,wP),aD(2,Xr)],Dp);class x8 extends Se{constructor(){super({id:"editor.action.inspectTokens",label:bF.inspectTokensAction,alias:"Developer: Inspect Tokens",precondition:void 0})}run(e,t){const i=Dp.get(t);i==null||i.launch()}}function L8(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 k8(o,e){const t=oy.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 Ub=class Ub extends Ve{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=k8(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 Ub._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)}A_(this._domNode,mt("h2.tm-token",void 0,L8(r),mt("span.tm-token-length",void 0,`${r.length} ${r.length===1?"char":"chars"}`))),ct(this._domNode,mt("hr.tokens-inspect-separator",{style:"clear:both"}));const a=(n<<1)+1<t.tokens2.length?this._decodeMetadata(t.tokens2[(n<<1)+1]):null;ct(this._domNode,mt("table.tm-metadata-table",void 0,mt("tbody",void 0,mt("tr",void 0,mt("td.tm-metadata-key",void 0,"language"),mt("td.tm-metadata-value",void 0,`${a?a.languageId:"-?-"}`)),mt("tr",void 0,mt("td.tm-metadata-key",void 0,"token type"),mt("td.tm-metadata-value",void 0,`${a?this._tokenTypeToString(a.tokenType):"-?-"}`)),mt("tr",void 0,mt("td.tm-metadata-key",void 0,"font style"),mt("td.tm-metadata-value",void 0,`${a?this._fontStyleToString(a.fontStyle):"-?-"}`)),mt("tr",void 0,mt("td.tm-metadata-key",void 0,"foreground"),mt("td.tm-metadata-value",void 0,`${a?ki.Format.CSS.formatHex(a.foreground):"-?-"}`)),mt("tr",void 0,mt("td.tm-metadata-key",void 0,"background"),mt("td.tm-metadata-value",void 0,`${a?ki.Format.CSS.formatHex(a.background):"-?-"}`))))),ct(this._domNode,mt("hr.tokens-inspect-separator")),i<t.tokens1.length&&ct(this._domNode,mt("span.tm-token-type",void 0,t.tokens1[i].type)),this._editor.layoutContentWidget(this)}_decodeMetadata(e){const t=oy.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]}}};Ub._ID="editor.contrib.inspectTokensWidget";let n0=Ub;bi(Dp.ID,Dp,4);ne(x8);var I8=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},lD=function(o,e){return function(t,i){e(t,i,o)}},yf,Jd;let s0=(Jd=class{constructor(e,t){this.quickInputService=e,this.keybindingService=t,this.registry=Kr.as(em.Quickaccess)}provide(e){const t=new He;return t.add(e.onDidAccept(()=>{const[i]=e.selectedItems;i&&this.quickInputService.quickAccess.show(i.prefix,{preserveValue:!0})})),t.add(e.onDidChangeValue(i=>{const n=this.registry.getQuickAccessProvider(i.substr(yf.PREFIX.length));n&&n.prefix&&n.prefix!==yf.PREFIX&&this.quickInputService.quickAccess.show(n.prefix,{preserveValue:!0})})),e.items=this.getQuickAccessProviders().filter(i=>i.prefix!==yf.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:y("helpPickAriaLabel","{0}, {1}",n,t.description),description:t.description}})}},yf=Jd,Jd.PREFIX="?",Jd);s0=yf=I8([lD(0,ml),lD(1,as)],s0);Kr.as(em.Quickaccess).registerQuickAccessProvider({ctor:s0,prefix:"",helpEntries:[{description:yF.helpQuickAccessActionLabel}]});class iR{constructor(e){this.options=e,this.rangeHighlightDecorationId=void 0}provide(e,t,i){var r;const n=new He;e.canAcceptInBackground=!!((r=this.options)!=null&&r.canAcceptInBackground),e.matchOnLabel=e.matchOnDescription=e.matchOnDetail=e.sortByLabel=!1;const s=n.add(new Mo);return s.value=this.doProvide(e,t,i),n.add(this.onDidActiveTextEditorControlChange(()=>{s.value=void 0,s.value=this.doProvide(e,t)})),n}doProvide(e,t,i){const n=new He,s=this.activeTextEditorControl;if(s&&this.canProvideWithTextEditor(s)){const r={editor:s},a=SP(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(CP(t.onCancellationRequested)(()=>{var h;return(h=r.restoreViewState)==null?void 0:h.call(r)}))}n.add(Dn(()=>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&&Yu(`${i.getLineContent(t.range.startLineNumber)}`)}getModel(e){var t;return yP(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:ls(DE),position:xa.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 $b=class $b extends iR{constructor(){super({canAcceptInBackground:!0})}provideWithoutTextEditor(e){const t=y("cannotRunGotoLine","Open a text editor first to go to a line.");return e.items=[{label:t}],e.ariaLabel=t,Ve.None}provideWithTextEditor(e,t,i){const n=e.editor,s=new He;s.add(t.onDidAccept(c=>{const[h]=t.selectedItems;if(h){if(!this.isValidLineNumber(n,h.lineNumber))return;this.gotoLocation(e,{range:this.toRange(h.lineNumber,h.column),keyMods:t.keyMods,preserveFocus:c.inBackground}),c.inBackground||t.hide()}}));const r=()=>{const c=this.parsePosition(n,t.value.trim().substr($b.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=SP(n);return a&&a.getOptions().get(68).renderType===2&&(a.updateOptions({lineNumbers:"on"}),s.add(Dn(()=>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)?y("gotoLineColumnLabel","Go to line {0} and character {1}.",t,i):y("gotoLineLabel","Go to line {0}.",t);const n=e.getPosition()||{lineNumber:1,column:1},s=this.lineCount(e);return s>1?y("gotoLineLabelEmptyWithLimit","Current Line: {0}, Character: {1}. Type a line number between 1 and {2} to navigate to.",n.lineNumber,n.column,s):y("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}};$b.PREFIX=":";let o0=$b;var D8=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},E8=function(o,e){return function(t,i){e(t,i,o)}};let Ep=class extends o0{constructor(e){super(),this.editorService=e,this.onDidActiveTextEditorControlChange=ds.None}get activeTextEditorControl(){return this.editorService.getFocusedCodeEditor()??void 0}};Ep=D8([E8(0,ns)],Ep);var Qd;let nR=(Qd=class extends Se{constructor(){super({id:Qd.ID,label:xP.gotoLineActionLabel,alias:"Go to Line/Column...",precondition:void 0,kbOpts:{kbExpr:M.focus,primary:2085,mac:{primary:293},weight:100}})}run(e){e.get(ml).quickAccess.show(Ep.PREFIX)}},Qd.ID="editor.action.gotoLine",Qd);ne(nR);Kr.as(em.Quickaccess).registerQuickAccessProvider({ctor:Ep,prefix:Ep.PREFIX,helpEntries:[{description:xP.gotoLineActionLabel,commandId:nR.ID}]});const sR=[void 0,[]];function Bw(o,e,t=0,i=0){const n=e;return n.values&&n.values.length>1?P8(o,n.values,t,i):oR(o,e,t,i)}function P8(o,e,t,i){let n=0;const s=[];for(const r of e){const[a,c]=oR(o,r,t,i);if(typeof a!="number")return sR;n+=a,s.push(...c)}return[n,T8(s)]}function oR(o,e,t,i){const n=KE(e.original,e.originalLowercase,t,o,o.toLowerCase(),i,{firstMatchCanBeWeak:!0,boostFullMatch:!0});return n?[n[0],sy(n)]:sR}function T8(o){const e=o.sort((n,s)=>n.start-s.start),t=[];let i;for(const n of e)!i||!M8(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 M8(o,e){return!(o.end<e.start||e.end<o.start)}function cD(o){return o.startsWith('"')&&o.endsWith('"')}const rR=" ";function r0(o){typeof o!="string"&&(o="");const e=o.toLowerCase(),{pathNormalized:t,normalized:i,normalizedLowercase:n}=dD(o),s=t.indexOf(dS)>=0,r=cD(o);let a;const c=o.split(rR);if(c.length>1)for(const h of c){const g=cD(h),{pathNormalized:f,normalized:p,normalizedLowercase:v}=dD(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 dD(o){let e;Zb?e=o.replace(/\//g,dS):e=o.replace(/\\/g,dS);const t=wF(e).replace(/\s|"/g,"");return{pathNormalized:e,normalized:t,normalizedLowercase:t.toLowerCase()}}function hD(o){return Array.isArray(o)?r0(o.map(e=>e.original).join(rR)):r0(o.original)}var N8=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},uD=function(o,e){return function(t,i){e(t,i,o)}},P_,Wr;let ud=(Wr=class extends iR{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,y("cannotRunGotoSymbolWithoutEditor","To go to a symbol, first open a text editor with symbol information.")),Ve.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):Ve.None}doProvideWithoutEditorSymbols(e,t,i,n){const s=new He;return this.provideLabelPick(i,y("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 Xb,n=t.add(this._languageFeaturesService.documentSymbolProvider.onDidChange(()=>{this._languageFeaturesService.documentSymbolProvider.has(e)&&(n.dispose(),i.complete(!0))}));return t.add(Dn(()=>i.complete(!1))),i.p}doProvideWithEditorSymbols(e,t,i,n,s){var f;const r=e.editor,a=new He;a.add(i.onDidAccept(p=>{var _;const[v]=i.selectedItems;v&&v.range&&(this.gotoLocation(e,{range:v.range.selection,keyMods:i.keyMods,preserveFocus:p.inBackground}),(_=s==null?void 0:s.handleAccept)==null||_.call(s,v),p.inBackground||i.hide())})),a.add(i.onDidTriggerItemButton(({item:p})=>{p&&p.range&&(this.gotoLocation(e,{range:p.range.selection,keyMods:i.keyMods,forceSideBySide:!0}),i.hide())}));const c=this.getDocumentSymbols(t,n);let h;const g=async p=>{h==null||h.dispose(!0),i.busy=!1,h=new ws(n),i.busy=!0;try{const v=r0(i.value.substr(P_.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 w=LF(_,S=>!!(S.type!=="separator"&&S.range&&z.containsPosition(S.range.decoration,p)));w&&(i.activeItems=[w])}}else v.original.length>0?this.provideLabelPick(i,y("noMatchingSymbolResults","No matching editor symbols")):this.provideLabelPick(i,y("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(P_.SCOPE_PREFIX)===0,c=a?1:0;let h,g;t.values&&t.values.length>1?(h=hD(t.values[0]),g=hD(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"?Ki.asClassName(Yt.splitHorizontal):Ki.asClassName(Yt.splitVertical),tooltip:p==="right"?y("openToSide","Open to the Side"):y("openToBottom","Open to the Bottom")}]);const v=[];for(let P=0;P<r.length;P++){const N=r[P],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 me,Le,je,ve;if(t.original.length>c){let Ot=!1;if(h!==t&&([me,Le]=Bw(F,{...t,values:void 0},c,Y),typeof me=="number"&&(Ot=!0)),typeof me!="number"&&([me,Le]=Bw(F,h,c,Y),typeof me!="number"))continue;if(!Ot&&g){if(X&&g.original.length>0&&([je,ve]=Bw(X,g)),typeof je!="number")continue;typeof me=="number"&&(me+=je)}}const st=N.tags&&N.tags.indexOf(1)>=0;v.push({index:P,kind:N.kind,score:me,label:F,ariaLabel:xF(N.name,N.kind),description:X,highlights:st?void 0:{label:Le,description:ve},range:{selection:z.collapseToStart(N.selectionRange),decoration:N.range},uri:s.uri,symbolName:V,strikethrough:st,buttons:f})}const _=v.sort((P,N)=>a?this.compareByKindAndScore(P,N):this.compareByScore(P,N));let w=[];if(a){let F=function(){N&&typeof P=="number"&&V>0&&(N.label=W0(Vw[P]||zw,V))},P,N,V=0;for(const Y of _)P!==Y.kind?(F(),P=Y.kind,V=1,N={type:"separator"},w.push(N)):V++,w.push(Y);F()}else _.length>0&&(w=[{label:y("symbols","symbols ({0})",v.length),type:"separator"},..._]);return w}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=Vw[e.kind]||zw,n=Vw[t.kind]||zw,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()}},P_=Wr,Wr.PREFIX="@",Wr.SCOPE_PREFIX=":",Wr.PREFIX_BY_CATEGORY=`${Wr.PREFIX}${Wr.SCOPE_PREFIX}`,Wr);ud=P_=N8([uD(0,It),uD(1,um)],ud);const zw=y("property","properties ({0})"),Vw={5:y("method","methods ({0})"),11:y("function","functions ({0})"),8:y("_constructor","constructors ({0})"),12:y("variable","variables ({0})"),4:y("class","classes ({0})"),22:y("struct","structs ({0})"),23:y("event","events ({0})"),24:y("operator","operators ({0})"),10:y("interface","interfaces ({0})"),2:y("namespace","namespaces ({0})"),3:y("package","packages ({0})"),25:y("typeParameter","type parameters ({0})"),1:y("modules","modules ({0})"),6:y("property","properties ({0})"),9:y("enum","enumerations ({0})"),21:y("enumMember","enumeration members ({0})"),14:y("string","strings ({0})"),0:y("file","files ({0})"),17:y("array","arrays ({0})"),15:y("number","numbers ({0})"),16:y("boolean","booleans ({0})"),18:y("object","objects ({0})"),19:y("key","keys ({0})"),7:y("field","fields ({0})"),13:y("constant","constants ({0})")};var R8=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},jw=function(o,e){return function(t,i){e(t,i,o)}};let a0=class extends ud{constructor(e,t,i){super(t,i),this.editorService=e,this.onDidActiveTextEditorControlChange=ds.None}get activeTextEditorControl(){return this.editorService.getFocusedCodeEditor()??void 0}};a0=R8([jw(0,ns),jw(1,It),jw(2,um)],a0);const qb=class qb extends Se{constructor(){super({id:qb.ID,label:hS.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(ml).quickAccess.show(ud.PREFIX,{itemActivation:kF.NONE})}};qb.ID="editor.action.quickOutline";let Kv=qb;ne(Kv);Kr.as(em.Quickaccess).registerQuickAccessProvider({ctor:a0,prefix:ud.PREFIX,helpEntries:[{description:hS.quickOutlineActionLabel,prefix:ud.PREFIX,commandId:Kv.ID},{description:hS.quickOutlineByCategoryActionLabel,prefix:ud.PREFIX_BY_CATEGORY}]});function A8(o){const e=new Map;for(const t of o)e.set(t,(e.get(t)??0)+1);return e}class Wf{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 A8(Wf.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=Wf.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=Wf.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 O8(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 vu;(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"})(vu||(vu={}));function Uw(o){return Array.isArray(o.items)}function gD(o){const e=o;return!!e.picks&&e.additionalPicks instanceof Promise}class F8 extends Ve{constructor(e,t){super(),this.prefix=e,this.options=t}provide(e,t,i){var h;const n=new He;e.canAcceptInBackground=!!((h=this.options)!=null&&h.canAcceptInBackground),e.matchOnLabel=e.matchOnDescription=e.matchOnDetail=e.sortByLabel=!1;let s;const r=n.add(new Mo),a=async()=>{var S;const g=r.value=new He;s==null||s.dispose(!0),e.busy=!1,s=new ws(t);const f=s.token;let p=e.value.substring(this.prefix.length);(S=this.options)!=null&&S.shouldSkipTrimPickFilter||(p=p.trim());const v=this._getPicks(p,g,f,i),_=(D,P)=>{var F;let N,V;if(Uw(D)?(N=D.items,V=D.active):N=D,N.length===0){if(P)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},w=async D=>{let P=!1,N=!1;await Promise.all([(async()=>{typeof D.mergeDelay=="number"&&(await ly(D.mergeDelay),f.isCancellationRequested)||N||(P=_(D.picks,!0))})(),(async()=>{e.busy=!0;try{const V=await D.additionalPicks;if(f.isCancellationRequested)return;let F,Y;Uw(D.picks)?(F=D.picks.items,Y=D.picks.active):F=D.picks;let X,me;if(Uw(V)?(X=V.items,me=V.active):X=V,X.length>0||!P){let Le;if(!Y&&!me){const je=e.activeItems[0];je&&F.indexOf(je)!==-1&&(Le=je)}_({items:[...F,...X],active:Y||me||Le})}}finally{f.isCancellationRequested||(e.busy=!1),N=!0}})()])};if(v!==null)if(gD(v))await w(v);else if(!(v instanceof Promise))_(v);else{e.busy=!0;try{const D=await v;if(f.isCancellationRequested)return;gD(D)?await w(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),w=typeof _=="number"?_:await _;if(t.isCancellationRequested)return;switch(w){case vu.NO_ACTION:break;case vu.CLOSE_PICKER:e.hide();break;case vu.REFRESH_PICKER:a();break;case vu.REMOVE_ITEM:{const S=e.items.indexOf(f);if(S!==-1){const D=e.items.slice(),P=D.splice(S,1),N=e.activeItems.filter(F=>F!==P[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 aR=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Hl=function(o,e){return function(t,i){e(t,i,o)}},zc,ss,ya;let l0=(ya=class extends F8{constructor(e,t,i,n,s,r){super(zc.PREFIX,e),this.instantiationService=t,this.keybindingService=i,this.commandService=n,this.telemetryService=s,this.dialogService=r,this.commandsHistory=this._register(this.instantiationService.createInstance(c0)),this.options=e}async _getPicks(e,t,i,n){var v,_;const s=await this.getCommandPicks(i);if(i.isCancellationRequested)return[];const r=CP(()=>{const w=new Wf;w.updateDocuments(s.map(D=>({key:D.commandId,textChunks:[this.getTfIdfChunk(D)]})));const S=w.calculateScores(e,i);return O8(S).filter(D=>D.score>zc.TFIDF_THRESHOLD).slice(0,zc.TFIDF_MAX_RESULTS)}),a=[];for(const w of s){const S=zc.WORD_FILTER(e,w.label)??void 0,D=w.commandAlias?zc.WORD_FILTER(e,w.commandAlias)??void 0:void 0;if(S||D)w.highlights={label:S,detail:this.options.showAlias?D:void 0},a.push(w);else if(e===w.commandId)a.push(w);else if(e.length>=3){const P=r();if(i.isCancellationRequested)return[];const N=P.find(V=>V.key===w.commandId);N&&(w.tfIdfScore=N.score,a.push(w))}}const c=new Map;for(const w of a){const S=c.get(w.label);S?(w.description=w.commandId,S.description=S.commandId):c.set(w.label,w)}a.sort((w,S)=>{if(w.tfIdfScore&&S.tfIdfScore)return w.tfIdfScore===S.tfIdfScore?w.label.localeCompare(S.label):S.tfIdfScore-w.tfIdfScore;if(w.tfIdfScore)return 1;if(S.tfIdfScore)return-1;const D=this.commandsHistory.peek(w.commandId),P=this.commandsHistory.peek(S.commandId);if(D&&P)return D>P?-1:1;if(D)return-1;if(P)return 1;if(this.options.suggestedCommandIds){const N=this.options.suggestedCommandIds.has(w.commandId),V=this.options.suggestedCommandIds.has(S.commandId);if(N&&V)return 0;if(N)return-1;if(V)return 1}return w.label.localeCompare(S.label)});const h=[];let g=!1,f=!0,p=!!this.options.suggestedCommandIds;for(let w=0;w<a.length;w++){const S=a[w];w===0&&this.commandsHistory.peek(S.commandId)&&(h.push({type:"separator",label:y("recentlyUsed","recently used")}),g=!0),f&&S.tfIdfScore!==void 0&&(h.push({type:"separator",label:y("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:y("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:y("morecCommands","other commands")}),g=!1),h.push(this.toCommandPick(S,n))}return this.hasAdditionalCommandPicks(e,i)?{picks:h,additionalPicks:(async()=>{var D;const w=await this.getAdditionalCommandPicks(s,a,e,i);if(i.isCancellationRequested)return[];const S=w.map(P=>this.toCommandPick(P,n));return f&&((D=S[0])==null?void 0:D.type)!=="separator"&&S.unshift({type:"separator",label:y("suggested","similar commands")}),S})()}:h}toCommandPick(e,t){if(e.type==="separator")return e;const i=this.keybindingService.lookupKeybinding(e.commandId),n=i?y("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(y("canNotRun","Command '{0}' resulted in an error",e.label),Q_(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}},zc=ya,ya.PREFIX=">",ya.TFIDF_THRESHOLD=.5,ya.TFIDF_MAX_RESULTS=5,ya.WORD_FILTER=DF(TF,PF,EF),ya);l0=zc=aR([Hl(1,hi),Hl(2,as),Hl(3,ms),Hl(4,Zr),Hl(5,X0)],l0);var Br;let c0=(Br=class extends Ve{constructor(e,t,i){super(),this.storageService=e,this.configurationService=t,this.logService=i,this.configuredCommandsHistoryLength=0,this.updateConfiguration(),this.load(),this.registerListeners()}registerListeners(){this._register(this.configurationService.onDidChangeConfiguration(e=>this.updateConfiguration(e))),this._register(this.storageService.onWillSaveState(e=>{e.reason===T0.SHUTDOWN&&this.saveState()}))}updateConfiguration(e){e&&!e.affectsConfiguration("workbench.commandPalette.history")||(this.configuredCommandsHistoryLength=ss.getConfiguredCommandHistoryLength(this.configurationService),ss.cache&&ss.cache.limit!==this.configuredCommandsHistoryLength&&(ss.cache.limit=this.configuredCommandsHistoryLength,ss.hasChanges=!0))}load(){const e=this.storageService.get(ss.PREF_KEY_CACHE,0);let t;if(e)try{t=JSON.parse(e)}catch(n){this.logService.error(`[CommandsHistory] invalid data: ${n}`)}const i=ss.cache=new Up(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))}ss.counter=this.storageService.getNumber(ss.PREF_KEY_COUNTER,0,ss.counter)}push(e){ss.cache&&(ss.cache.set(e,ss.counter++),ss.hasChanges=!0)}peek(e){var t;return(t=ss.cache)==null?void 0:t.peek(e)}saveState(){if(!ss.cache||!ss.hasChanges)return;const e={usesLRU:!0,entries:[]};ss.cache.forEach((t,i)=>e.entries.push({key:i,value:t})),this.storageService.store(ss.PREF_KEY_CACHE,JSON.stringify(e),0,0),this.storageService.store(ss.PREF_KEY_COUNTER,ss.counter,0,0),ss.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:ss.DEFAULT_COMMANDS_HISTORY_LENGTH}},ss=Br,Br.DEFAULT_COMMANDS_HISTORY_LENGTH=50,Br.PREF_KEY_CACHE="commandPalette.mru.cache",Br.PREF_KEY_COUNTER="commandPalette.mru.counter",Br.counter=1,Br.hasChanges=!1,Br);c0=ss=aR([Hl(0,Lc),Hl(1,Pn),Hl(2,wh)],c0);class H8 extends l0{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 W8=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Yh=function(o,e){return function(t,i){e(t,i,o)}};let Pp=class extends H8{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[]}};Pp=W8([Yh(0,hi),Yh(1,ns),Yh(2,as),Yh(3,ms),Yh(4,Zr),Yh(5,X0)],Pp);const Kb=class Kb extends Se{constructor(){super({id:Kb.ID,label:LP.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(ml).quickAccess.show(Pp.PREFIX)}};Kb.ID="editor.action.quickCommand";let Gv=Kb;ne(Gv);Kr.as(em.Quickaccess).registerQuickAccessProvider({ctor:Pp,prefix:Pp.PREFIX,helpEntries:[{description:LP.quickCommandHelp,commandId:Gv.ID}]});var B8=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(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)}};let d0=class extends uh{constructor(e,t,i,n,s,r,a){super(!0,e,t,i,n,s,r,a)}};d0=B8([Jh(1,Vi),Jh(2,ns),Jh(3,Ks),Jh(4,hi),Jh(5,Lc),Jh(6,Pn)],d0);bi(uh.ID,d0,4);class z8 extends Se{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(wP),n=i.getColorTheme();qf(n.type)?(i.setTheme(this._originalThemeName||(fk(n.type)?AF:OF)),this._originalThemeName=null):(i.setTheme(fk(n.type)?FF:HF),this._originalThemeName=n.themeName)}}ne(z8);let h0=null;function V8(o){h0=o}function j8(o={}){return{"Content-Type":"application/json",...o}}async function yi(o,e,t){const i=await fetch(e,{method:o,headers:j8(),body:t!==void 0?JSON.stringify(t):void 0});if(i.status===401)throw h0&&h0(),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 U8(){return await(await fetch("/she/auth/mode")).json()}async function $8(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 q8(){await fetch("/she/auth/logout",{method:"POST"})}async function K8(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 G8(){return yi("GET","/she/scripts/tree")}function $w(o){return yi("GET",`/she/scripts/${o}`)}function Hc(o,e){return yi("PUT",`/she/scripts/${o}`,{content:e})}function n_(o){return yi("DELETE",`/she/scripts/${o}`)}function fD(o,e){return yi("POST",`/she/scripts/${o}/rename`,{newPath:e})}function Z8(o){return yi("POST","/she/scripts/mkdir",{path:o})}function X8(){return yi("GET","/she/git/status")}function wf(){return yi("GET","/she/status")}function lR(){return yi("POST","/she/restart")}function Y8(){return yi("POST","/she/update")}function J8(){return yi("POST","/she/check-update")}function Q8(o,e){return yi("POST","/she/git/commit",{path:o,message:e})}function e7(o,e){return yi("POST","/she/git/commit",{files:o,message:e})}function t7(o){return yi("POST","/she/git/commit",{message:o})}function qw(o){return yi("POST","/she/git/push",{remote:o})}function i7(o,e){return yi("GET",`/she/git/log?path=${encodeURIComponent(o)}&limit=${e}`)}function n7(o,e){return yi("GET",`/she/git/show?hash=${encodeURIComponent(o)}&path=${encodeURIComponent(e)}`)}function iL(){return yi("GET","/she/config")}function s7(o){return yi("PUT","/she/config",o)}function cR(){return yi("GET","/she/db/docs")}function o7(o){return yi("GET",`/she/db/docs/${o}`)}function pD(o,e){return yi("PUT",`/she/db/docs/${o}`,e)}function r7(o){return yi("DELETE",`/she/db/docs/${o}`)}function dR(){return yi("GET","/she/db/views")}function a7(o){return yi("GET",`/she/db/views/${o}`)}function mD(o,e){return yi("PUT",`/she/db/views/${o}`,e)}function l7(o){return yi("DELETE",`/she/db/views/${o}`)}function c7(){return yi("GET","/she/deps")}function d7(o){return yi("GET",`/she/deps/search?q=${encodeURIComponent(o)}`)}function h7(o,e){return yi("POST","/she/deps/install",{name:o,version:null})}function u7(o){return yi("POST","/she/deps/remove",{name:o})}function g7(o){return yi("POST","/she/deps/update",{name:o})}function f7(){return yi("GET","/she/deps/outdated")}function p7(){return yi("POST","/she/deps/check-outdated")}function m7(){return yi("GET","/she/ai/conversations")}function _D(o){return yi("GET",`/she/ai/conversations/${encodeURIComponent(o)}`)}function _7(o,e,t){return yi("PUT",`/she/ai/conversations/${encodeURIComponent(o)}`,{title:e,messages:t})}function v7(o){return yi("DELETE",`/she/ai/conversations/${encodeURIComponent(o)}`)}function Kw(o){return yi("GET",`/she/db/views/${o}/result`)}function hR(){return yi("GET","/she/matter/devices")}function T_(o){return yi("GET",`/she/matter/devices/${o}`)}function b7(o){return yi("POST","/she/matter/commission",o)}function y7(o){return yi("DELETE",`/she/matter/devices/${o}`)}function w7(o,e,t,i,n){return yi("POST",`/she/matter/devices/${o}/command`,{endpointId:e,clusterName:t,command:i,args:n})}function uR(){return yi("GET","/she/mqtt/state")}function vD(o,e,t=!1,i=0){return yi("POST","/she/mqtt/publish",{topic:o,payload:e,retain:t,qos:i})}function gR(){return yi("GET","/she/ai/config")}function fR(){return yi("GET","/she/ai/models")}function pR(o){return yi("GET",`/she/ai/model-info?model=${encodeURIComponent(o)}`)}function mR(o){return yi("POST","/she/ai/prompt",o)}async function _R(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 S7=2e3,M_=[];function C7(){return M_.slice()}let Gl=null;const Zv=new Set,bu=new Map;let u0=null;function Tp(){let o=Zv.size;for(const e of bu.values())o+=e.size;return o}function x7(){return`${location.protocol==="https:"?"wss:":"ws:"}//${location.host}/she/ws`}function nL(){if(Gl)return;const o=x7(),e=new WebSocket(o);Gl=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};M_.length>=S7&&M_.shift(),M_.push(s),Zv.forEach(r=>r(s))}const n=bu.get(i.type);n&&n.forEach(s=>s(i))}catch{}},e.onclose=()=>{Gl===e&&(Gl=null),Tp()>0&&(u0=setTimeout(nL,3e3))},e.onerror=()=>{e.close()}}function vR(){u0&&clearTimeout(u0),Gl==null||Gl.close(),Gl=null}function bR(o){return Zv.add(o),Tp()===1&&nL(),()=>{Zv.delete(o),Tp()===0&&vR()}}function Ya(o,e){return bu.has(o)||bu.set(o,new Set),bu.get(o).add(e),Tp()===1&&nL(),()=>{var t;(t=bu.get(o))==null||t.delete(e),Tp()===0&&vR()}}var L7=R('<button class="cancel svelte-1eh8v5n">Cancel</button>'),k7=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 Hg(o,e){Ro(e,!0);let t=B(!1),i=B(""),n=B("Confirm"),s=B(!1),r=B(!1),a=null;function c(w,S){return k(i,w,!0),k(n,(S==null?void 0:S.confirm)??(S!=null&&S.alert?"OK":"Confirm"),!0),k(s,(S==null?void 0:S.danger)??!1,!0),k(r,(S==null?void 0:S.alert)??!1,!0),k(t,!0),new Promise(D=>a=D)}function h(w){k(t,!1),a==null||a(w),a=null}function g(w){u(t)&&(w.key==="Escape"&&h(!1),w.key==="Enter"&&h(!0))}var f={show:c},p=Fs();os("keydown",ad,g);var v=bt(p);{var _=w=>{var S=k7(),D=bt(S),P=x(D,2),N=C(P),V=C(N),F=x(N,2),Y=C(F);{var X=ve=>{var st=L7();te("click",st,()=>h(!1)),T(ve,st)};$(Y,ve=>{u(r)||ve(X)})}var me=x(Y,2);let Le;var je=C(me);G(()=>{q(V,u(i)),Le=$t(me,1,"svelte-1eh8v5n",null,Le,{danger:u(s)}),q(je,u(n))}),te("click",D,()=>h(!1)),te("click",me,()=>h(!0)),T(w,S)};$(v,w=>{u(t)&&w(_)})}return T(o,p),Ao(f)}Cr(["click"]);var I7=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 D7(o,e){Ro(e,!0);let t=B(!1),i=B(""),n=B(""),s=B("OK"),r=B(""),a=null,c=B(void 0);function h(D,P){return k(i,D,!0),k(n,(P==null?void 0:P.placeholder)??"",!0),k(s,(P==null?void 0:P.confirm)??"OK",!0),k(r,(P==null?void 0:P.initial)??"",!0),k(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&&(k(t,!1),a==null||a(D),a=null,k(r,""))}function f(){k(t,!1),a==null||a(null),a=null,k(r,"")}function p(D){u(t)&&D.key==="Escape"&&(D.stopPropagation(),f())}var v={show:h},_=Fs();os("keydown",ad,p);var w=bt(_);{var S=D=>{var P=I7(),N=bt(P),V=x(N,2),F=C(V),Y=C(F),X=x(F,2);bs(X,st=>k(c,st),()=>u(c));var me=x(X,2),Le=C(me),je=x(Le,2),ve=C(je);G(st=>{q(Y,u(i)),Hn(X,"placeholder",u(n)),je.disabled=st,q(ve,u(s))},[()=>!u(r).trim()]),te("click",N,f),te("keydown",X,st=>{st.key==="Enter"&&(st.preventDefault(),g())}),Ni(X,()=>u(r),st=>k(r,st)),te("click",Le,f),te("click",je,g),T(D,P)};$(w,D=>{u(t)&&D(S)})}return T(o,_),Ao(v)}Cr(["click","keydown"]);function yR(o){return o&&o.__esModule&&Object.prototype.hasOwnProperty.call(o,"default")?o.default:o}var Gw,bD;function E7(){if(bD)return Gw;bD=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 w("(?=",O,")")}function v(O){return w("(?:",O,")*")}function _(O){return w("(?:",O,")?")}function w(...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 P(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 Ue=f(j),Ce="";for(;Ue.length>0;){const De=V.exec(Ue);if(!De){Ce+=Ue;break}Ce+=Ue.substring(0,De.index),Ue=Ue.substring(De.index+De[0].length),De[0][0]==="\\"&&De[1]?Ce+="\\"+String(Number(De[1])+pe):(Ce+=De[0],De[0]==="("&&be++)}return Ce}).map(j=>`(${j})`).join(se)}const Y=/\b\B/,X="[a-zA-Z]\\w*",me="[a-zA-Z_]\\w*",Le="\\b\\d+(\\.\\d+)?",je="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",ve="\\b(0b[01]+)",st="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",Ot=(O={})=>{const se=/^#![ ]*\//;return O.binary&&(O.begin=w(se,/.*\b/,O.binary,/\b.*/)),i({scope:"meta",begin:se,end:/$/,relevance:0,"on:begin":(be,j)=>{be.index!==0&&j.ignoreMatch()}},O)},yt={begin:"\\\\[\\s\\S]",relevance:0},ai={scope:"string",begin:"'",end:"'",illegal:"\\n",contains:[yt]},jt={scope:"string",begin:'"',end:'"',illegal:"\\n",contains:[yt]},Qt={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/},Ne=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:w(/[ ]+/,"(",pe,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),j},Ge=Ne("//","$"),Re=Ne("/\\*","\\*/"),ot=Ne("#","$"),At={scope:"number",begin:Le,relevance:0},ni={scope:"number",begin:je,relevance:0},Xt={scope:"number",begin:ve,relevance:0},zt={scope:"regexp",begin:/\/(?=[^/\n]*\/)/,end:/\/[gimuy]*/,contains:[yt,{begin:/\[/,end:/\]/,relevance:0,contains:[yt]}]},vt={scope:"title",begin:X,relevance:0},Li={scope:"title",begin:me,relevance:0},vi={begin:"\\.\\s*"+me,relevance:0};var Gi=Object.freeze({__proto__:null,APOS_STRING_MODE:ai,BACKSLASH_ESCAPE:yt,BINARY_NUMBER_MODE:Xt,BINARY_NUMBER_RE:ve,COMMENT:Ne,C_BLOCK_COMMENT_MODE:Re,C_LINE_COMMENT_MODE:Ge,C_NUMBER_MODE:ni,C_NUMBER_RE:je,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:ot,IDENT_RE:X,MATCH_NOTHING_RE:Y,METHOD_GUARD:vi,NUMBER_MODE:At,NUMBER_RE:Le,PHRASAL_WORDS_MODE:Qt,QUOTE_STRING_MODE:jt,REGEXP_MODE:zt,RE_STARTERS_RE:st,SHEBANG:Ot,TITLE_MODE:vt,UNDERSCORE_IDENT_RE:me,UNDERSCORE_TITLE_MODE:Li});function Bn(O,se){O.input[O.index-1]==="."&&se.ignoreMatch()}function nn(O,se){O.className!==void 0&&(O.scope=O.className,delete O.className)}function Ei(O,se){se&&O.beginKeywords&&(O.begin="\\b("+O.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",O.__beforeBegin=Bn,O.keywords=O.keywords||O.beginKeywords,delete O.beginKeywords,O.relevance===void 0&&(O.relevance=0))}function Mn(O,se){Array.isArray(O.illegal)&&(O.illegal=D(...O.illegal))}function sn(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 Sn(O,se){O.relevance===void 0&&(O.relevance=1)}const Xi=(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=w(be.beforeMatch,p(be.begin)),O.starts={relevance:0,contains:[Object.assign(be,{endsParent:!0})]},O.relevance=0,delete be.beforeMatch},Hi=["of","and","for","in","not","or","if","then","parent","list","value"],dn="keyword";function Nn(O,se,be=dn){const j=Object.create(null);return typeof O=="string"?pe(be,O.split(" ")):Array.isArray(O)?pe(be,O):Object.keys(O).forEach(function(Ue){Object.assign(j,Nn(O[Ue],se,Ue))}),j;function pe(Ue,Ce){se&&(Ce=Ce.map(De=>De.toLowerCase())),Ce.forEach(function(De){const Xe=De.split("|");j[Xe[0]]=[Ue,Rn(Xe[0],Xe[1])]})}}function Rn(O,se){return se?Number(se):$n(O)?0:1}function $n(O){return Hi.includes(O.toLowerCase())}const Cn={},pn=O=>{console.error(O)},on=(O,...se)=>{console.log(`WARN: ${O}`,...se)},qe=(O,se)=>{Cn[`${O}/${se}`]||(console.log(`Deprecated as of ${O}. ${se}`),Cn[`${O}/${se}`]=!0)},Ft=new Error;function li(O,se,{key:be}){let j=0;const pe=O[be],Ue={},Ce={};for(let De=1;De<=se.length;De++)Ce[De+j]=pe[De],Ue[De+j]=!0,j+=P(se[De-1]);O[be]=Ce,O[be]._emit=Ue,O[be]._multi=!0}function Ci(O){if(Array.isArray(O.begin)){if(O.skip||O.excludeBegin||O.returnBegin)throw pn("skip, excludeBegin, returnBegin not compatible with beginScope: {}"),Ft;if(typeof O.beginScope!="object"||O.beginScope===null)throw pn("beginScope must be object"),Ft;li(O,O.begin,{key:"beginScope"}),O.begin=F(O.begin,{joinWith:""})}}function Ii(O){if(Array.isArray(O.end)){if(O.skip||O.excludeEnd||O.returnEnd)throw pn("skip, excludeEnd, returnEnd not compatible with endScope: {}"),Ft;if(typeof O.endScope!="object"||O.endScope===null)throw pn("endScope must be object"),Ft;li(O,O.end,{key:"endScope"}),O.end=F(O.end,{joinWith:""})}}function mn(O){O.scope&&typeof O.scope=="object"&&O.scope!==null&&(O.beginScope=O.scope,delete O.scope)}function xn(O){mn(O),typeof O.beginScope=="string"&&(O.beginScope={_wrap:O.beginScope}),typeof O.endScope=="string"&&(O.endScope={_wrap:O.endScope}),Ci(O),Ii(O)}function qn(O){function se(Ce,De){return new RegExp(f(Ce),"m"+(O.case_insensitive?"i":"")+(O.unicodeRegex?"u":"")+(De?"g":""))}class be{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(De,Xe){Xe.position=this.position++,this.matchIndexes[this.matchAt]=Xe,this.regexes.push([Xe,De]),this.matchAt+=P(De)+1}compile(){this.regexes.length===0&&(this.exec=()=>null);const De=this.regexes.map(Xe=>Xe[1]);this.matcherRe=se(F(De,{joinWith:"|"}),!0),this.lastIndex=0}exec(De){this.matcherRe.lastIndex=this.lastIndex;const Xe=this.matcherRe.exec(De);if(!Xe)return null;const Vt=Xe.findIndex((ue,ht)=>ht>0&&ue!==void 0),ft=this.matchIndexes[Vt];return Xe.splice(0,Vt),Object.assign(Xe,ft)}}class j{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(De){if(this.multiRegexes[De])return this.multiRegexes[De];const Xe=new be;return this.rules.slice(De).forEach(([Vt,ft])=>Xe.addRule(Vt,ft)),Xe.compile(),this.multiRegexes[De]=Xe,Xe}resumingScanAtSamePosition(){return this.regexIndex!==0}considerAll(){this.regexIndex=0}addRule(De,Xe){this.rules.push([De,Xe]),Xe.type==="begin"&&this.count++}exec(De){const Xe=this.getMatcher(this.regexIndex);Xe.lastIndex=this.lastIndex;let Vt=Xe.exec(De);if(this.resumingScanAtSamePosition()&&!(Vt&&Vt.index===this.lastIndex)){const ft=this.getMatcher(0);ft.lastIndex=this.lastIndex+1,Vt=ft.exec(De)}return Vt&&(this.regexIndex+=Vt.position+1,this.regexIndex===this.count&&this.considerAll()),Vt}}function pe(Ce){const De=new j;return Ce.contains.forEach(Xe=>De.addRule(Xe.begin,{rule:Xe,type:"begin"})),Ce.terminatorEnd&&De.addRule(Ce.terminatorEnd,{type:"end"}),Ce.illegal&&De.addRule(Ce.illegal,{type:"illegal"}),De}function Ue(Ce,De){const Xe=Ce;if(Ce.isCompiled)return Xe;[nn,sn,xn,Xi].forEach(ft=>ft(Ce,De)),O.compilerExtensions.forEach(ft=>ft(Ce,De)),Ce.__beforeBegin=null,[Ei,Mn,Sn].forEach(ft=>ft(Ce,De)),Ce.isCompiled=!0;let Vt=null;return typeof Ce.keywords=="object"&&Ce.keywords.$pattern&&(Ce.keywords=Object.assign({},Ce.keywords),Vt=Ce.keywords.$pattern,delete Ce.keywords.$pattern),Vt=Vt||/\w+/,Ce.keywords&&(Ce.keywords=Nn(Ce.keywords,O.case_insensitive)),Xe.keywordPatternRe=se(Vt,!0),De&&(Ce.begin||(Ce.begin=/\B|\b/),Xe.beginRe=se(Xe.begin),!Ce.end&&!Ce.endsWithParent&&(Ce.end=/\B|\b/),Ce.end&&(Xe.endRe=se(Xe.end)),Xe.terminatorEnd=f(Xe.end)||"",Ce.endsWithParent&&De.terminatorEnd&&(Xe.terminatorEnd+=(Ce.end?"|":"")+De.terminatorEnd)),Ce.illegal&&(Xe.illegalRe=se(Ce.illegal)),Ce.contains||(Ce.contains=[]),Ce.contains=[].concat(...Ce.contains.map(function(ft){return An(ft==="self"?Ce:ft)})),Ce.contains.forEach(function(ft){Ue(ft,Xe)}),Ce.starts&&Ue(Ce.starts,De),Xe.matcher=pe(Xe),Xe}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||{}),Ue(O)}function hn(O){return O?O.endsWithParent||hn(O.starts):!1}function An(O){return O.variants&&!O.cachedVariants&&(O.cachedVariants=O.variants.map(function(se){return i(O,{variants:null},se)})),O.cachedVariants?O.cachedVariants:hn(O)?i(O,{starts:O.starts?i(O.starts):null}):Object.isFrozen(O)?i(O):O}var rn="11.11.1";class Ln extends Error{constructor(se,be){super(se),this.name="HTMLInjectionError",this.html=be}}const Ae=t,Z=i,Fe=Symbol("nomatch"),wt=7,Dt=function(O){const se=Object.create(null),be=Object.create(null),j=[];let pe=!0;const Ue="Could not find the language '{}', did you forget to load/include a language module?",Ce={disableAutodetect:!0,name:"Plain text",contains:[]};let De={ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",cssSelector:"pre code",languages:null,__emitter:g};function Xe(A){return De.noHighlightRe.test(A)}function Vt(A){let K=A.className+" ";K+=A.parentNode?A.parentNode.className:"";const Ee=De.languageDetectRe.exec(K);if(Ee){const Pe=ei(Ee[1]);return Pe||(on(Ue.replace("{}",Ee[1])),on("Falling back to no-highlight mode for this block.",A)),Pe?Ee[1]:"no-highlight"}return K.split(/\s+/).find(Pe=>Xe(Pe)||ei(Pe))}function ft(A,K,Ee){let Pe="",Be="";typeof K=="object"?(Pe=A,Ee=K.ignoreIllegals,Be=K.language):(qe("10.7.0","highlight(lang, code, ...args) has been deprecated."),qe("10.7.0",`Please use highlight(code, options) instead.
|
|
80
|
-
https://github.com/highlightjs/highlight.js/issues/2277`),Be=A,Pe=K),Ee===void 0&&(Ee=!0);const Me={code:Pe,language:Be};ti("before:highlight",Me);const re=Me.result?Me.result:ue(Me.language,Me.code,Ee);return re.code=Me.code,ti("after:highlight",re),re}function ue(A,K,Ee,Pe){const Be=Object.create(null);function Me(fe,$e){return fe.keywords[$e]}function re(){if(!he.keywords){Ze.addText(Ie);return}let fe=0;he.keywordPatternRe.lastIndex=0;let $e=he.keywordPatternRe.exec(Ie),gt="";for(;$e;){gt+=Ie.substring(fe,$e.index);const Pt=ye.case_insensitive?$e[0].toLowerCase():$e[0],et=Me(he,Pt);if(et){const[ci,Jt]=et;if(Ze.addText(gt),gt="",Be[Pt]=(Be[Pt]||0)+1,Be[Pt]<=wt&&(le+=Jt),ci.startsWith("_"))gt+=$e[0];else{const Gn=ye.classNameAliases[ci]||ci;xe($e[0],Gn)}}else gt+=$e[0];fe=he.keywordPatternRe.lastIndex,$e=he.keywordPatternRe.exec(Ie)}gt+=Ie.substring(fe),Ze.addText(gt)}function Je(){if(Ie==="")return;let fe=null;if(typeof he.subLanguage=="string"){if(!se[he.subLanguage]){Ze.addText(Ie);return}fe=ue(he.subLanguage,Ie,!0,Ct[he.subLanguage]),Ct[he.subLanguage]=fe._top}else fe=ii(Ie,he.subLanguage.length?he.subLanguage:null);he.relevance>0&&(le+=fe.relevance),Ze.__addSublanguage(fe._emitter,fe.language)}function Oe(){he.subLanguage!=null?Je():re(),Ie=""}function xe(fe,$e){fe!==""&&(Ze.startScope($e),Ze.addText(fe),Ze.endScope())}function St(fe,$e){let gt=1;const Pt=$e.length-1;for(;gt<=Pt;){if(!fe._emit[gt]){gt++;continue}const et=ye.classNameAliases[fe[gt]]||fe[gt],ci=$e[gt];et?xe(ci,et):(Ie=ci,re(),Ie=""),gt++}}function Te(fe,$e){return fe.scope&&typeof fe.scope=="string"&&Ze.openNode(ye.classNameAliases[fe.scope]||fe.scope),fe.beginScope&&(fe.beginScope._wrap?(xe(Ie,ye.classNameAliases[fe.beginScope._wrap]||fe.beginScope._wrap),Ie=""):fe.beginScope._multi&&(St(fe.beginScope,$e),Ie="")),he=Object.create(fe,{parent:{value:he}}),he}function H(fe,$e,gt){let Pt=N(fe.endRe,gt);if(Pt){if(fe["on:end"]){const et=new e(fe);fe["on:end"]($e,et),et.isMatchIgnored&&(Pt=!1)}if(Pt){for(;fe.endsParent&&fe.parent;)fe=fe.parent;return fe}}if(fe.endsWithParent)return H(fe.parent,$e,gt)}function J(fe){return he.matcher.regexIndex===0?(Ie+=fe[0],1):(Bt=!0,0)}function ke(fe){const $e=fe[0],gt=fe.rule,Pt=new e(gt),et=[gt.__beforeBegin,gt["on:begin"]];for(const ci of et)if(ci&&(ci(fe,Pt),Pt.isMatchIgnored))return J($e);return gt.skip?Ie+=$e:(gt.excludeBegin&&(Ie+=$e),Oe(),!gt.returnBegin&&!gt.excludeBegin&&(Ie=$e)),Te(gt,fe),gt.returnBegin?0:$e.length}function Ke(fe){const $e=fe[0],gt=K.substring(fe.index),Pt=H(he,fe,gt);if(!Pt)return Fe;const et=he;he.endScope&&he.endScope._wrap?(Oe(),xe($e,he.endScope._wrap)):he.endScope&&he.endScope._multi?(Oe(),St(he.endScope,fe)):et.skip?Ie+=$e:(et.returnEnd||et.excludeEnd||(Ie+=$e),Oe(),et.excludeEnd&&(Ie=$e));do he.scope&&Ze.closeNode(),!he.skip&&!he.subLanguage&&(le+=he.relevance),he=he.parent;while(he!==Pt.parent);return Pt.starts&&Te(Pt.starts,fe),et.returnEnd?0:$e.length}function nt(){const fe=[];for(let $e=he;$e!==ye;$e=$e.parent)$e.scope&&fe.unshift($e.scope);fe.forEach($e=>Ze.openNode($e))}let at={};function ut(fe,$e){const gt=$e&&$e[0];if(Ie+=fe,gt==null)return Oe(),0;if(at.type==="begin"&&$e.type==="end"&&at.index===$e.index&>===""){if(Ie+=K.slice($e.index,$e.index+1),!pe){const Pt=new Error(`0 width match regex (${A})`);throw Pt.languageName=A,Pt.badRule=at.rule,Pt}return 1}if(at=$e,$e.type==="begin")return ke($e);if($e.type==="illegal"&&!Ee){const Pt=new Error('Illegal lexeme "'+gt+'" for mode "'+(he.scope||"<unnamed>")+'"');throw Pt.mode=he,Pt}else if($e.type==="end"){const Pt=Ke($e);if(Pt!==Fe)return Pt}if($e.type==="illegal"&>==="")return Ie+=`
|
|
81
|
-
`,1;if(Qe>1e5&&Qe>$e.index*3)throw new Error("potential infinite loop, way more iterations than matches");return Ie+=gt,gt.length}const ye=ei(A);if(!ye)throw pn(Ue.replace("{}",A)),new Error('Unknown language: "'+A+'"');const Et=qn(ye);let dt="",he=Pe||Et;const Ct={},Ze=new De.__emitter(De);nt();let Ie="",le=0,_e=0,Qe=0,Bt=!1;try{if(ye.__emitTokens)ye.__emitTokens(K,Ze);else{for(he.matcher.considerAll();;){Qe++,Bt?Bt=!1:he.matcher.considerAll(),he.matcher.lastIndex=_e;const fe=he.matcher.exec(K);if(!fe)break;const $e=K.substring(_e,fe.index),gt=ut($e,fe);_e=fe.index+gt}ut(K.substring(_e))}return Ze.finalize(),dt=Ze.toHTML(),{language:A,value:dt,relevance:le,illegal:!1,_emitter:Ze,_top:he}}catch(fe){if(fe.message&&fe.message.includes("Illegal"))return{language:A,value:Ae(K),illegal:!0,relevance:0,_illegalBy:{message:fe.message,index:_e,context:K.slice(_e-100,_e+100),mode:fe.mode,resultSoFar:dt},_emitter:Ze};if(pe)return{language:A,value:Ae(K),illegal:!1,relevance:0,errorRaised:fe,_emitter:Ze,_top:he};throw fe}}function ht(A){const K={value:Ae(A),illegal:!1,relevance:0,_top:Ce,_emitter:new De.__emitter(De)};return K._emitter.addText(A),K}function ii(A,K){K=K||De.languages||Object.keys(se);const Ee=ht(A),Pe=K.filter(ei).filter(Rt).map(Oe=>ue(Oe,A,!1));Pe.unshift(Ee);const Be=Pe.sort((Oe,xe)=>{if(Oe.relevance!==xe.relevance)return xe.relevance-Oe.relevance;if(Oe.language&&xe.language){if(ei(Oe.language).supersetOf===xe.language)return 1;if(ei(xe.language).supersetOf===Oe.language)return-1}return 0}),[Me,re]=Be,Je=Me;return Je.secondBest=re,Je}function Kt(A,K,Ee){const Pe=K&&be[K]||Ee;A.classList.add("hljs"),A.classList.add(`language-${Pe}`)}function si(A){let K=null;const Ee=Vt(A);if(Xe(Ee))return;if(ti("before:highlightElement",{el:A,language:Ee}),A.dataset.highlighted){console.log("Element previously highlighted. To highlight again, first unset `dataset.highlighted`.",A);return}if(A.children.length>0&&(De.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)),De.throwUnescapedHTML))throw new Ln("One of your code blocks includes unescaped HTML.",A.innerHTML);K=A;const Pe=K.textContent,Be=Ee?ft(Pe,{language:Ee,ignoreIllegals:!0}):ii(Pe);A.innerHTML=Be.value,A.dataset.highlighted="yes",Kt(A,Ee,Be.language),A.result={language:Be.language,re:Be.relevance,relevance:Be.relevance},Be.secondBest&&(A.secondBest={language:Be.secondBest.language,relevance:Be.secondBest.relevance}),ti("after:highlightElement",{el:A,result:Be,text:Pe})}function ui(A){De=Z(De,A)}const Q=()=>{it(),qe("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")};function ge(){it(),qe("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.")}let We=!1;function it(){function A(){it()}if(document.readyState==="loading"){We||window.addEventListener("DOMContentLoaded",A,!1),We=!0;return}document.querySelectorAll(De.cssSelector).forEach(si)}function xt(A,K){let Ee=null;try{Ee=K(O)}catch(Pe){if(pn("Language definition for '{}' could not be registered.".replace("{}",A)),pe)pn(Pe);else throw Pe;Ee=Ce}Ee.name||(Ee.name=A),se[A]=Ee,Ee.rawDefinition=K.bind(null,O),Ee.aliases&&Ut(Ee.aliases,{languageName:A})}function Ye(A){delete se[A];for(const K of Object.keys(be))be[K]===A&&delete be[K]}function pt(){return Object.keys(se)}function ei(A){return A=(A||"").toLowerCase(),se[A]||se[be[A]]}function Ut(A,{languageName:K}){typeof A=="string"&&(A=[A]),A.forEach(Ee=>{be[Ee.toLowerCase()]=K})}function Rt(A){const K=ei(A);return K&&!K.disableAutodetect}function Oi(A){A["before:highlightBlock"]&&!A["before:highlightElement"]&&(A["before:highlightElement"]=K=>{A["before:highlightBlock"](Object.assign({block:K.el},K))}),A["after:highlightBlock"]&&!A["after:highlightElement"]&&(A["after:highlightElement"]=K=>{A["after:highlightBlock"](Object.assign({block:K.el},K))})}function an(A){Oi(A),j.push(A)}function Wi(A){const K=j.indexOf(A);K!==-1&&j.splice(K,1)}function ti(A,K){const Ee=A;j.forEach(function(Pe){Pe[Ee]&&Pe[Ee](K)})}function ji(A){return qe("10.7.0","highlightBlock will be removed entirely in v12.0"),qe("10.7.0","Please use highlightElement now."),si(A)}Object.assign(O,{highlight:ft,highlightAuto:ii,highlightAll:it,highlightElement:si,highlightBlock:ji,configure:ui,initHighlighting:Q,initHighlightingOnLoad:ge,registerLanguage:xt,unregisterLanguage:Ye,listLanguages:pt,getLanguage:ei,registerAliases:Ut,autoDetection:Rt,inherit:Z,addPlugin:an,removePlugin:Wi}),O.debugMode=function(){pe=!1},O.safeMode=function(){pe=!0},O.versionString=rn,O.regex={concat:w,lookahead:p,either:D,optional:_,anyNumberOfTimes:v};for(const A in Gi)typeof Gi[A]=="object"&&o(Gi[A]);return Object.assign(O,Gi),O},Nt=Dt({});return Nt.newInstance=()=>Dt({}),Gw=Nt,Nt.HighlightJS=Nt,Nt.default=Nt,Gw}var P7=E7();const Xv=yR(P7),yD="[A-Za-z$_][0-9A-Za-z$_]*",T7=["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"],M7=["true","false","null","undefined","NaN","Infinity"],wR=["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"],SR=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],CR=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],N7=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],R7=[].concat(CR,wR,SR);function xR(o){const e=o.regex,t=(Ne,{after:Ge})=>{const Re="</"+Ne[0].slice(1);return Ne.input.indexOf(Re,Ge)!==-1},i=yD,n={begin:"<>",end:"</>"},s=/<[A-Za-z0-9\\._:-]+\s*\/>/,r={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(Ne,Ge)=>{const Re=Ne[0].length+Ne.index,ot=Ne.input[Re];if(ot==="<"||ot===","){Ge.ignoreMatch();return}ot===">"&&(t(Ne,{after:Re})||Ge.ignoreMatch());let At;const ni=Ne.input.substring(Re);if(At=ni.match(/^\s*=/)){Ge.ignoreMatch();return}if((At=ni.match(/^\s+extends\s+/))&&At.index===0){Ge.ignoreMatch();return}}},a={$pattern:yD,keyword:T7,literal:M7,built_in:R7,"variable.language":N7},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"}},w={begin:".?gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[o.BACKSLASH_ESCAPE,p],subLanguage:"graphql"}},S={className:"string",begin:"`",end:"`",contains:[o.BACKSLASH_ESCAPE,p]},P={className:"comment",variants:[o.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{begin:"(?=@[A-Za-z]+)",relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"},{className:"type",begin:"\\{",end:"\\}",excludeEnd:!0,excludeBegin:!0,relevance:0},{className:"variable",begin:i+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),o.C_BLOCK_COMMENT_MODE,o.C_LINE_COMMENT_MODE]},N=[o.APOS_STRING_MODE,o.QUOTE_STRING_MODE,v,_,w,S,{match:/\$\d+/},f];p.contains=N.concat({begin:/\{/,end:/\}/,keywords:a,contains:["self"].concat(N)});const V=[].concat(P,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"}}]},me={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:{_:[...wR,...SR]}},Le={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},je={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 st(Ne){return e.concat("(?!",Ne.join("|"),")")}const Ot={match:e.concat(/\b/,st([...CR,"super","import"].map(Ne=>`${Ne}\\s*\\(`)),i,e.lookahead(/\s*\(/)),className:"title.function",relevance:0},yt={begin:e.concat(/\./,e.lookahead(e.concat(i,/(?![0-9A-Za-z$_(])/))),end:i,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},ai={match:[/get|set/,/\s+/,i,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},Y]},jt="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+o.UNDERSCORE_IDENT_RE+")\\s*=>",Qt={match:[/const|var|let/,/\s+/,i,/\s*/,/=\s*/,/(async\s*)?/,e.lookahead(jt)],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:me},illegal:/#(?![$_A-z])/,contains:[o.SHEBANG({label:"shebang",binary:"node",relevance:5}),Le,o.APOS_STRING_MODE,o.QUOTE_STRING_MODE,v,_,w,S,P,{match:/\$\d+/},f,me,{scope:"attr",match:i+e.lookahead(":"),relevance:0},Qt,{begin:"("+o.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[P,o.REGEXP_MODE,{className:"function",begin:jt,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"]}]}]},je,{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},yt,{match:"\\$"+i,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[Y]},Ot,ve,X,ai,{match:/\$[(.]/}]}}function sL(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var Eh=sL();function LR(o){Eh=o}var Uc={exec:()=>null};function Qh(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 yn(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(Js.caret,"$1"),t=t.replace(n,r),i},getRegex:()=>new RegExp(t,e)};return i}var A7=((o="")=>{try{return!!new RegExp("(?<=1)(?<!1)"+o)}catch{return!1}})(),Js={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:Qh(o=>new RegExp(`^ {0,${o}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`)),hrRegex:Qh(o=>new RegExp(`^ {0,${o}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`)),fencesBeginRegex:Qh(o=>new RegExp(`^ {0,${o}}(?:\`\`\`|~~~)`)),headingBeginRegex:Qh(o=>new RegExp(`^ {0,${o}}#`)),htmlBeginRegex:Qh(o=>new RegExp(`^ {0,${o}}<(?:[a-z].*>|!--)`,"i")),blockquoteBeginRegex:Qh(o=>new RegExp(`^ {0,${o}}>`))},O7=/^(?:[ \t]*(?:\n|$))+/,F7=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,H7=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,fm=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,W7=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,oL=/ {0,3}(?:[*+-]|\d{1,9}[.)])/,kR=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,IR=yn(kR).replace(/bull/g,oL).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(),B7=yn(kR).replace(/bull/g,oL).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(),rL=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,z7=/^[^\n]+/,aL=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/,V7=yn(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",aL).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),j7=yn(/^(bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,oL).getRegex(),jy="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",lL=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,U7=yn("^ {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",lL).replace("tag",jy).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),DR=yn(rL).replace("hr",fm).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",jy).getRegex(),$7=yn(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",DR).getRegex(),cL={blockquote:$7,code:F7,def:V7,fences:H7,heading:W7,hr:fm,html:U7,lheading:IR,list:j7,newline:O7,paragraph:DR,table:Uc,text:z7},wD=yn("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",fm).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",jy).getRegex(),q7={...cL,lheading:B7,table:wD,paragraph:yn(rL).replace("hr",fm).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",wD).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",jy).getRegex()},K7={...cL,html:yn(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",lL).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:Uc,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:yn(rL).replace("hr",fm).replace("heading",` *#{1,6} *[^
|
|
82
|
-
]`).replace("lheading",IR).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},G7=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,Z7=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,ER=/^( {2,}|\\)\n(?!\s*$)/,X7=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,Wg=/[\p{P}\p{S}]/u,Uy=/[\s\p{P}\p{S}]/u,dL=/[^\s\p{P}\p{S}]/u,Y7=yn(/^((?![*_])punctSpace)/,"u").replace(/punctSpace/g,Uy).getRegex(),PR=/(?!~)[\p{P}\p{S}]/u,J7=/(?!~)[\s\p{P}\p{S}]/u,Q7=/(?:[^\s\p{P}\p{S}]|~)/u,eq=yn(/link|precode-code|html/,"g").replace("link",/\[(?:[^\[\]`]|(?<a>`+)[^`]+\k<a>(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace("precode-",A7?"(?<!`)()":"(^^|[^`])").replace("code",/(?<b>`+)[^`]+\k<b>(?!`)/).replace("html",/<(?! )[^<>]*?>/).getRegex(),TR=/^(?:\*+(?:((?!\*)punct)|([^\s*]))?)|^_+(?:((?!_)punct)|([^\s_]))?/,tq=yn(TR,"u").replace(/punct/g,Wg).getRegex(),iq=yn(TR,"u").replace(/punct/g,PR).getRegex(),MR="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)",nq=yn(MR,"gu").replace(/notPunctSpace/g,dL).replace(/punctSpace/g,Uy).replace(/punct/g,Wg).getRegex(),sq=yn(MR,"gu").replace(/notPunctSpace/g,Q7).replace(/punctSpace/g,J7).replace(/punct/g,PR).getRegex(),oq=yn("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)","gu").replace(/notPunctSpace/g,dL).replace(/punctSpace/g,Uy).replace(/punct/g,Wg).getRegex(),rq=yn(/^~~?(?:((?!~)punct)|[^\s~])/,"u").replace(/punct/g,Wg).getRegex(),aq="^[^~]+(?=[^~])|(?!~)punct(~~?)(?=[\\s]|$)|notPunctSpace(~~?)(?!~)(?=punctSpace|$)|(?!~)punctSpace(~~?)(?=notPunctSpace)|[\\s](~~?)(?!~)(?=punct)|(?!~)punct(~~?)(?!~)(?=punct)|notPunctSpace(~~?)(?=notPunctSpace)",lq=yn(aq,"gu").replace(/notPunctSpace/g,dL).replace(/punctSpace/g,Uy).replace(/punct/g,Wg).getRegex(),cq=yn(/\\(punct)/,"gu").replace(/punct/g,Wg).getRegex(),dq=yn(/^<(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(),hq=yn(lL).replace("(?:-->|$)","-->").getRegex(),uq=yn("^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",hq).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),Yv=/(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+(?!`)[^`]*?`+(?!`)|``+(?=\])|[^\[\]\\`])*?/,gq=yn(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]+(?:\n[ \t]*)?|\n[ \t]*)(title))?\s*\)/).replace("label",Yv).replace("href",/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),NR=yn(/^!?\[(label)\]\[(ref)\]/).replace("label",Yv).replace("ref",aL).getRegex(),RR=yn(/^!?\[(ref)\](?:\[\])?/).replace("ref",aL).getRegex(),fq=yn("reflink|nolink(?!\\()","g").replace("reflink",NR).replace("nolink",RR).getRegex(),SD=/[hH][tT][tT][pP][sS]?|[fF][tT][pP]/,hL={_backpedal:Uc,anyPunctuation:cq,autolink:dq,blockSkip:eq,br:ER,code:Z7,del:Uc,delLDelim:Uc,delRDelim:Uc,emStrongLDelim:tq,emStrongRDelimAst:nq,emStrongRDelimUnd:oq,escape:G7,link:gq,nolink:RR,punctuation:Y7,reflink:NR,reflinkSearch:fq,tag:uq,text:X7,url:Uc},pq={...hL,link:yn(/^!?\[(label)\]\((.*?)\)/).replace("label",Yv).getRegex(),reflink:yn(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",Yv).getRegex()},g0={...hL,emStrongRDelimAst:sq,emStrongLDelim:iq,delLDelim:rq,delRDelim:lq,url:yn(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("protocol",SD).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:yn(/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|protocol:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/).replace("protocol",SD).getRegex()},mq={...g0,br:yn(ER).replace("{2,}","*").getRegex(),text:yn(g0.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()},s_={normal:cL,gfm:q7,pedantic:K7},sf={normal:hL,gfm:g0,breaks:mq,pedantic:pq},_q={"&":"&","<":"<",">":">",'"':""","'":"'"},CD=o=>_q[o];function aa(o,e){if(e){if(Js.escapeTest.test(o))return o.replace(Js.escapeReplace,CD)}else if(Js.escapeTestNoEncode.test(o))return o.replace(Js.escapeReplaceNoEncode,CD);return o}function xD(o){try{o=encodeURI(o).replace(Js.percentDecode,"%")}catch{return null}return o}function LD(o,e){var s;let t=o.replace(Js.findPipe,(r,a,c)=>{let h=!1,g=a;for(;--g>=0&&c[g]==="\\";)h=!h;return h?"|":" |"}),i=t.split(Js.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(Js.slashPipe,"|");return i}function Tl(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 kD(o){let e=o.split(`
|
|
83
|
-
`),t=e.length-1;for(;t>=0&&Js.blankLine.test(e[t]);)t--;return e.length-t<=2?o:e.slice(0,t+1).join(`
|
|
84
|
-
`)}function vq(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 bq(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 ID(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 yq(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 Jv=class{constructor(o){Bi(this,"options");Bi(this,"rules");Bi(this,"lexer");this.options=o||Eh}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]:kD(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=yq(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=Tl(t,"#");(this.options.pedantic||!i||this.rules.other.endingSpaceChar.test(i))&&(t=i.trim())}return{type:"heading",raw:Tl(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:Tl(e[0],`
|
|
88
|
-
`)}}blockquote(o){let e=this.rules.block.blockquote.exec(o);if(e){let t=Tl(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
|
-
`),w=this.blockquote(_);s[s.length-1]=w,i=i.substring(0,i.length-v.raw.length)+w.raw,n=n.substring(0,n.length-v.text.length)+w.text;break}else if((p==null?void 0:p.type)==="list"){let v=p,_=v.raw+`
|
|
97
|
-
`+t.join(`
|
|
98
|
-
`),w=this.list(_);s[s.length-1]=w,i=i.substring(0,i.length-p.raw.length)+w.raw,n=n.substring(0,n.length-v.raw.length)+w.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=bq(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 w=this.rules.other.nextBulletRegex(_),S=this.rules.other.hrRegex(_),D=this.rules.other.fencesBeginRegex(_),P=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)||P.test(p)||N.test(p)||V.test(p)||w.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)||P.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=kD(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:Tl(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=LD(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:Tl(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(LD(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:Tl(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=Tl(t.slice(0,-1),"\\");if((t.length-s.length)%2===0)return}else{let s=vq(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)),ID(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 ID(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}}}},Or=class f0{constructor(e){Bi(this,"tokens");Bi(this,"options");Bi(this,"state");Bi(this,"inlineQueue");Bi(this,"tokenizer");this.tokens=[],this.tokens.links=Object.create(null),this.options=e||Eh,this.options.tokenizer=this.options.tokenizer||new Jv,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:Js,block:s_.normal,inline:sf.normal};this.options.pedantic?(t.block=s_.pedantic,t.inline=sf.pedantic):this.options.gfm&&(t.block=s_.gfm,this.options.breaks?t.inline=sf.breaks:t.inline=sf.gfm),this.tokenizer.rules=t}static get rules(){return{block:s_,inline:sf}}static lex(e,t){return new f0(t).lex(e)}static lexInline(e,t){return new f0(t).inlineTokens(e)}lex(e){e=e.replace(Js.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(Js.tabCharGlobal," ").replace(Js.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 w=e;if((v=this.options.extensions)!=null&&v.startInline){let S=1/0,D=e.slice(1),P;this.options.extensions.startInline.forEach(N=>{P=N.call({lexer:this},D),typeof P=="number"&&P>=0&&(S=Math.min(S,P))}),S<1/0&&S>=0&&(w=e.substring(0,S+1))}if(_=this.tokenizer.inlineText(w)){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)}},Qv=class{constructor(o){Bi(this,"options");Bi(this,"parser");this.options=o||Eh}space(o){return""}code({text:o,lang:e,escaped:t}){var s;let i=(s=(e||"").match(Js.notSpaceStart))==null?void 0:s[0],n=o.replace(Js.endingNewline,"")+`
|
|
126
|
-
`;return i?'<pre><code class="language-'+aa(i)+'">'+(t?n:aa(n,!0))+`</code></pre>
|
|
127
|
-
`:"<pre><code>"+(t?n:aa(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>${aa(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=xD(o);if(n===null)return i;o=n;let s='<a href="'+o+'"';return e&&(s+=' title="'+aa(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=xD(o);if(n===null)return aa(t);o=n;let s=`<img src="${o}" alt="${aa(t)}"`;return e&&(s+=` title="${aa(e)}"`),s+=">",s}text(o){return"tokens"in o&&o.tokens?this.parser.parseInline(o.tokens):"escaped"in o&&o.escaped?o.text:aa(o.text)}},uL=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}},Fr=class p0{constructor(e){Bi(this,"options");Bi(this,"renderer");Bi(this,"textRenderer");this.options=e||Eh,this.options.renderer=this.options.renderer||new Qv,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new uL}static parse(e,t){return new p0(t).parse(e)}static parseInline(e,t){return new p0(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}},o_,Sf=(o_=class{constructor(o){Bi(this,"options");Bi(this,"block");this.options=o||Eh}preprocess(o){return o}postprocess(o){return o}processAllTokens(o){return o}emStrongMask(o){return o}provideLexer(o=this.block){return o?Or.lex:Or.lexInline}provideParser(o=this.block){return o?Fr.parse:Fr.parseInline}},Bi(o_,"passThroughHooks",new Set(["preprocess","postprocess","processAllTokens","emStrongMask"])),Bi(o_,"passThroughHooksRespectAsync",new Set(["preprocess","postprocess","processAllTokens"])),o_),wq=class{constructor(...o){Bi(this,"defaults",sL());Bi(this,"options",this.setOptions);Bi(this,"parse",this.parseMarkdown(!0));Bi(this,"parseInline",this.parseMarkdown(!1));Bi(this,"Parser",Fr);Bi(this,"Renderer",Qv);Bi(this,"TextRenderer",uL);Bi(this,"Lexer",Or);Bi(this,"Tokenizer",Jv);Bi(this,"Hooks",Sf);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 Qv(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 Jv(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 Sf;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];Sf.passThroughHooks.has(s)?n[r]=h=>{if(this.defaults.async&&Sf.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 Or.lex(o,e??this.defaults)}parser(o,e){return Fr.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?Or.lex:Or.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?Fr.parse:Fr.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?Or.lex:Or.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?Fr.parse:Fr.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>"+aa(t.message+"",!0)+"</pre>";return e?Promise.resolve(i):i}if(e)return Promise.reject(t);throw t}}},_h=new wq;function Wn(o,e){return _h.parse(o,e)}Wn.options=Wn.setOptions=function(o){return _h.setOptions(o),Wn.defaults=_h.defaults,LR(Wn.defaults),Wn};Wn.getDefaults=sL;Wn.defaults=Eh;Wn.use=function(...o){return _h.use(...o),Wn.defaults=_h.defaults,LR(Wn.defaults),Wn};Wn.walkTokens=function(o,e){return _h.walkTokens(o,e)};Wn.parseInline=_h.parseInline;Wn.Parser=Fr;Wn.parser=Fr.parse;Wn.Renderer=Qv;Wn.TextRenderer=uL;Wn.Lexer=Or;Wn.lexer=Or.lex;Wn.Tokenizer=Jv;Wn.Hooks=Sf;Wn.parse=Wn;Wn.options;Wn.setOptions;Wn.use;Wn.walkTokens;Wn.parseInline;Fr.parse;Or.lex;var Sq=R('<span class="chat-model svelte-10ayso4"><!></span>'),Cq=R('<button class="clear-btn svelte-10ayso4" title="New conversation">+</button>'),xq=R('<p class="history-empty svelte-10ayso4">No saved conversations.</p>'),Lq=R('<li><button class="history-load svelte-10ayso4"> </button> <button class="history-del svelte-10ayso4" title="Delete">✕</button></li>'),kq=R('<ul class="history-list svelte-10ayso4"></ul>'),Iq=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>'),Dq=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>'),Eq=R('Chatting in context of <code class="svelte-10ayso4"> </code>',1),Pq=R('<button class="chip svelte-10ayso4"> </button>'),Tq=R('<div class="suggestions svelte-10ayso4"><p class="suggestions-hint svelte-10ayso4"><!></p> <!></div>'),Mq=R('<div class="msg-content user-text svelte-10ayso4"> </div>'),DD=R('<span class="tool-args svelte-10ayso4"> </span>'),ED=R('<div class="tool-event tool-call svelte-10ayso4"><span class="tool-icon svelte-10ayso4">🔧</span> <span class="tool-name svelte-10ayso4"> </span> <!></div>'),PD=R('<div class="tool-event tool-result svelte-10ayso4"><span class="tool-icon svelte-10ayso4">✓</span> <span class="tool-name svelte-10ayso4"> </span></div>'),TD=R('<div class="tool-events svelte-10ayso4"></div>'),MD=R('<div class="text-block svelte-10ayso4"></div>'),Nq=R('<button class="create-btn svelte-10ayso4">Save as new file…</button>'),Rq=R('<span class="auto-badge svelte-10ayso4" title="Auto-applying AI code to this script in this session">auto ✓</span>'),Aq=R('<button class="apply-auto-btn svelte-10ayso4" title="Apply and always apply for this script in this session">always</button>'),Oq=R('<button class="apply-btn svelte-10ayso4">Apply</button> <!>',1),Fq=R('<button class="expand-btn svelte-10ayso4"> </button>'),Hq=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>'),Wq=R('<!> <div class="msg-content svelte-10ayso4"></div>',1),Bq=R("<div><!></div>"),zq=R('<div class="message assistant svelte-10ayso4"><div class="msg-content svelte-10ayso4"><span class="status-shimmer svelte-10ayso4"> </span></div></div>'),Vq=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>'),jq=R('<div class="message assistant streaming svelte-10ayso4"><div class="msg-content svelte-10ayso4"></div></div>'),Uq=R('<div class="chat-error svelte-10ayso4"> </div>'),$q=R('<span><span> </span> <span class="chip-name svelte-10ayso4"> </span> <button class="chip-remove svelte-10ayso4"> </button></span>'),qq=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>'),Kq=R('<button class="stop-btn svelte-10ayso4" title="Stop generation">■</button>'),Gq=R('<button class="send-btn svelte-10ayso4">↑</button>'),Zq=R('<option class="svelte-10ayso4"> </option>'),Xq=R('<select class="model-select svelte-10ayso4"></select>'),Yq=R('<span class="model-name svelte-10ayso4"> </span>'),Jq=R('<button class="info-btn svelte-10ayso4" title="Model info">ℹ</button>'),Qq=R('<div class="model-bar svelte-10ayso4"><span class="model-provider svelte-10ayso4"> </span> <!> <!></div>'),eK=R('<p class="info-status svelte-10ayso4">Loading…</p>'),tK=R('<p class="info-status info-err svelte-10ayso4"> </p>'),iK=R('<dt class="svelte-10ayso4">Ollama version</dt><dd class="svelte-10ayso4"> </dd>',1),nK=R('<dt class="svelte-10ayso4">Family</dt><dd class="svelte-10ayso4"> </dd>',1),sK=R('<dt class="svelte-10ayso4">Parameters</dt><dd class="svelte-10ayso4"> </dd>',1),oK=R('<dt class="svelte-10ayso4">Quantization</dt><dd class="svelte-10ayso4"> </dd>',1),rK=R('<dt class="svelte-10ayso4">Format</dt><dd class="svelte-10ayso4"> </dd>',1),aK=R('<div class="running-model svelte-10ayso4"> </div>'),lK=R('<dt class="svelte-10ayso4">Loaded</dt> <dd class="svelte-10ayso4"></dd>',1),cK=R('<dt class="svelte-10ayso4">Loaded</dt><dd class="dim svelte-10ayso4">Not in memory</dd>',1),dK=R('<dl class="svelte-10ayso4"><!> <!> <!> <!> <!> <!></dl>'),hK=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>'),uK=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 gK(o,e){Ro(e,!0),Xv.registerLanguage("javascript",xR),Wn.use({breaks:!0,gfm:!0});let t=cg(e,"currentScript",3,null),i=cg(e,"extraFiles",31,()=>Si([])),n=B(Si([])),s=B(null),r=B(""),a=B(!1),c=B(""),h=B(null);const g="she:conversationId";function f(){return crypto.randomUUID().replace(/-/g,"").slice(0,16)}let p=B(Si(localStorage.getItem(g)??f())),v=B(Si([])),_=B(!1);zn(()=>{localStorage.setItem(g,u(p))});let w=B(Si([])),S=B(Si(localStorage.getItem("she:selectedModel")??"")),D=B(null);const P=rt(()=>{var H;return u(D)!==null&&((H=t())==null?void 0:H.path)===u(D)});let N=B(Si(new Set)),V=B(!1),F=B(null),Y=B(!1),X=B(""),me=B(0),Le=null,je=B(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 st=B(!0),Ot=B(!0),yt=B(!0),ai=B(!1),jt,Qt=B(Si([])),Ne,Ge;const Re=rt(()=>({apiref:u(st),tools:u(Ot)})),ot=rt(()=>{var H;return((H=u(h))==null?void 0:H.configured)??!1}),At=rt(()=>{var H;return u(ot)||!!((H=u(h))!=null&&H.provider)&&!!u(S)}),ni=rt(()=>u(me)+new TextEncoder().encode(u(r)).length),Xt=rt(()=>u(yt)?t():null);zn(()=>{var J;const H=(J=t())==null?void 0:J.path;k(yt,!0),u(D)!==null&&H!==u(D)&&k(D,null)}),zn(()=>{var Ke;if(!u(P))return;const H=u(n).at(-1);if(!H||H.role!=="assistant")return;const ke=vt(H.content).find(nt=>nt.type==="code"&&sn(nt.lang));if(ke){const nt=Sn(ke.text);(Ke=e.onApply)==null||Ke.call(e,nt?nt.code:ke.text)}});async function zt(){try{const H=await gR();k(h,H,!0),H.configured&&!u(S)&&k(S,H.model,!0)}catch{}}zn(()=>(window.addEventListener("she:config-changed",zt),()=>window.removeEventListener("she:config-changed",zt))),zn(()=>{u(S)&&localStorage.setItem("she:selectedModel",u(S))}),zn(()=>{var H;(H=u(h))!=null&&H.provider&&fR().then(J=>{k(w,J.models,!0),!u(S)&&J.models.length>0&&k(S,J.models[0],!0)}).catch(()=>{})}),zn(()=>{u(S),k(F,null),k(X,"")}),zn(()=>{if(!u(a))return;k(je,Math.floor(Math.random()*ve.length),!0);const H=setInterval(()=>{k(je,(u(je)+1)%ve.length)},1e4);return()=>clearInterval(H)}),zn(()=>{var H;Ge&&(u(n).length+(((H=u(s))==null?void 0:H.length)??0),requestAnimationFrame(()=>{Ge&&(Ge.scrollTop=Ge.scrollHeight)}))}),zn(()=>{const H=u(Re),J=u(Xt),ke=i();u(At)&&mR({context:H,currentScript:J??null,extraFiles:ke.length>0?ke:void 0}).then(Ke=>{k(me,new TextEncoder().encode(Ke.prompt).length,!0)}).catch(()=>{})});function vt(H){const J=H.replace(/(\n|^)(\/{2} @[a-z-]+:[^\n]+)\n(```\w*)\n/g,`$1$3
|
|
145
|
-
$2
|
|
146
|
-
`),ke=[],Ke=/```(\w*)\n([\s\S]*?)```/g;let nt=0,at;for(;(at=Ke.exec(J))!==null;)at.index>nt&&ke.push({type:"text",text:J.slice(nt,at.index)}),ke.push({type:"code",lang:at[1]||"text",text:at[2].trimEnd()}),nt=at.index+at[0].length;return nt<J.length&&ke.push({type:"text",text:J.slice(nt)}),ke}const Li=15;function vi(H){return H.split(`
|
|
147
|
-
`).length>Li}function Tn(H){const J=new Set(u(N));J.has(H)?J.delete(H):J.add(H),k(N,J,!0)}function Gi(H,J){if(sn(J))try{return Xv.highlight(H,{language:"javascript"}).value}catch{}return H.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">")}function Bn(H){return Wn.parse(H)}function nn(H){const J=H.replace(/(\n|^)(\/{2} @[a-z-]+:[^\n]+)\n(```\w*)\n/g,`$1$3
|
|
148
|
-
$2
|
|
149
|
-
`),ke=[],Ke=/```(\w*)\n([\s\S]*?)```/g;let nt=0,at;for(;(at=Ke.exec(J))!==null;)at.index>nt&&ke.push({type:"text",text:J.slice(nt,at.index)}),ke.push({type:"code",lang:at[1]||"text",text:at[2].trimEnd()}),nt=at.index+at[0].length;const ut=J.slice(nt),ye=ut.match(/```(\w*)\n([\s\S]*)$/);return ye?(ye.index>0&&ke.push({type:"text",text:ut.slice(0,ye.index)}),ke.push({type:"code",lang:ye[1]||"text",text:ye[2]})):ut&&ke.push({type:"text",text:ut}),ke}function Ei(H){navigator.clipboard.writeText(H).catch(()=>{})}function Mn(H,J=!1){var ke;J&&t()&&k(D,t().path,!0),(ke=e.onApply)==null||ke.call(e,H)}function sn(H){return!H||H==="js"||H==="javascript"}function Sn(H){const J=H.match(/^\/\/ @new-file:\s*(\S+\.js)[ \t]*\n/);return J?{filename:J[1],code:H.slice(J[0].length)}:null}function Xi(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 Hi(){if(k(V,!0),!(u(F)||u(Y))){k(Y,!0),k(X,"");try{k(F,await pR(u(S)||u(h).model),!0)}catch(H){k(X,H.message,!0)}k(Y,!1)}}function dn(H){const J=H.match(/\.([^.]+)$/);return J?J[1].toUpperCase():"?"}function Nn(H){switch(H){case"SH":case"BASH":return"$";case"MD":case"MARKDOWN":return"⇓";case"JSON":case"JSONC":return"{}";default:return H}}function Rn(H){i(i().filter((J,ke)=>ke!==H))}function $n(){jt.click()}async function Cn(H){if(!(!H||H.length===0))for(const J of Array.from(H)){const ke=await J.text();i([...i(),{name:J.name,content:ke}])}}function pn(H){const J=H.target;Cn(J.files),J.value=""}function on(H){var J;H.preventDefault(),k(ai,!1),Cn(((J=H.dataTransfer)==null?void 0:J.files)??null)}function qe(H){var J;(J=H.dataTransfer)!=null&&J.types.includes("Files")&&(H.preventDefault(),k(ai,!0))}function Ft(){k(ai,!1)}async function li(){try{k(v,await m7(),!0)}catch{}}async function Ci(){var J;if(u(n).length===0)return;const H=((J=u(n).find(ke=>ke.role==="user"))==null?void 0:J.content.slice(0,80))??u(p);try{await _7(u(p),H,u(n)),await li()}catch{}}async function Ii(H){try{const J=await _D(H);k(n,J.messages,!0),k(p,H,!0),k(_,!1),k(c,"")}catch{}}async function mn(H){try{await v7(H),await li(),H===u(p)&&xn()}catch{}}function xn(){k(n,[],!0),k(c,""),k(p,f(),!0),k(_,!1)}xr(async()=>{zt();try{const H=await _D(u(p));k(n,H.messages,!0)}catch{}await li()});async function qn(){const H=u(r).trim();if(!H||u(a))return;k(r,""),k(c,""),k(a,!0);const J={role:"user",content:H};k(n,[...u(n),J],!0),Le=new AbortController,k(Qt,[],!0);try{await _R({messages:u(n),currentScript:u(Xt),context:u(Re),modelOverride:u(S)||void 0,extraFiles:i().length>0?i():void 0},ke=>{k(s,(u(s)??"")+ke)},Le.signal,ke=>{k(Qt,[...u(Qt),ke],!0)}),k(n,[...u(n),{role:"assistant",content:u(s)??"",toolEvents:u(Qt).length>0?[...u(Qt)]:void 0}],!0),k(Qt,[],!0)}catch(ke){if(ke.name==="AbortError"){const Ke=u(s);Ke&&Ke.trim()&&k(n,[...u(n),{role:"assistant",content:Ke+`
|
|
150
|
-
|
|
151
|
-
*[stopped]*`,toolEvents:u(Qt).length>0?[...u(Qt)]:void 0}],!0)}else k(c,ke.message,!0)}finally{Le=null,k(s,null),k(Qt,[],!0),k(a,!1),Ci()}}function hn(){Le==null||Le.abort()}function An(H){H.key==="Enter"&&!H.shiftKey&&(H.preventDefault(),qn())}function rn(){xn()}const Ln=["Explain what this script does","Add error handling","Add a 30-minute schedule before sunrise","Write a new script that forwards MQTT topic A to topic B","Write a new script that turns lights on at sunset"];function Ae(H){k(r,H,!0),Ne==null||Ne.focus()}var Z=uK(),Fe=bt(Z),wt=C(Fe),Dt=x(C(wt),2);{var Nt=H=>{var J=Sq(),ke=C(J);{var Ke=ut=>{var ye=Ur();G(()=>q(ye,`${u(h).provider??""} · ${(u(S)||u(h).model)??""}`)),T(ut,ye)},nt=ut=>{var ye=Ur();G(()=>q(ye,`${u(h).provider??""} · pick a model below`)),T(ut,ye)},at=ut=>{var ye=Ur("Not configured");T(ut,ye)};$(ke,ut=>{u(At)?ut(Ke):u(h).provider?ut(nt,1):ut(at,-1)})}G(()=>Hn(J,"title",`Provider: ${u(h).provider??""}`)),T(H,J)};$(Dt,H=>{u(h)&&H(Nt)})}var O=x(Dt,2);let se;var be=x(O,2);{var j=H=>{var J=Cq();te("click",J,rn),T(H,J)};$(be,H=>{u(n).length>0&&H(j)})}var pe=x(wt,2);{var Ue=H=>{var J=Iq(),ke=C(J),Ke=x(C(ke),2),nt=x(ke,2);{var at=ye=>{var Et=xq();T(ye,Et)},ut=ye=>{var Et=kq();_i(Et,21,()=>u(v),dt=>dt.id,(dt,he)=>{var Ct=Lq();let Ze;var Ie=C(Ct),le=C(Ie),_e=x(Ie,2);G(()=>{Ze=$t(Ct,1,"history-item svelte-10ayso4",null,Ze,{"history-active":u(he).id===u(p)}),Hn(Ie,"title",u(he).id),q(le,u(he).title||u(he).id)}),te("click",Ie,()=>Ii(u(he).id)),te("click",_e,()=>mn(u(he).id)),T(dt,Ct)}),T(ye,Et)};$(nt,ye=>{u(v).length===0?ye(at):ye(ut,-1)})}te("click",Ke,xn),T(H,J)};$(pe,H=>{u(_)&&H(Ue)})}var Ce=x(pe,2),De=C(Ce);{var Xe=H=>{var J=Dq();T(H,J)},Vt=H=>{var J=Tq(),ke=C(J),Ke=C(ke);{var nt=ye=>{var Et=Eq(),dt=x(bt(Et)),he=C(dt);G(Ct=>q(he,Ct),[()=>t().path.split("/").pop()]),T(ye,Et)},at=ye=>{var Et=Ur("No script open. Ask a general she scripting question.");T(ye,Et)};$(Ke,ye=>{t()?ye(nt):ye(at,-1)})}var ut=x(ke,2);_i(ut,17,()=>Ln,Vn,(ye,Et)=>{var dt=Pq(),he=C(dt);G(()=>q(he,u(Et))),te("click",dt,()=>Ae(u(Et))),T(ye,dt)}),T(H,J)};$(De,H=>{u(ot)?u(n).length===0&&u(s)===null&&H(Vt,1):H(Xe)})}var ft=x(De,2);_i(ft,17,()=>u(n),Vn,(H,J,ke)=>{var Ke=Bq(),nt=C(Ke);{var at=ye=>{var Et=Mq(),dt=C(Et);G(()=>q(dt,u(J).content)),T(ye,Et)},ut=ye=>{const Et=rt(()=>vt(u(J).content));var dt=Wq(),he=bt(dt);{var Ct=Ie=>{var le=TD();_i(le,21,()=>u(J).toolEvents,Vn,(_e,Qe)=>{var Bt=Fs(),fe=bt(Bt);{var $e=Pt=>{var et=ED(),ci=x(C(et),2),Jt=C(ci),Gn=x(ci,2);{var $i=Gt=>{var _n=DD(),ri=C(_n);G(On=>q(ri,On),[()=>Object.entries(u(Qe).args).map(([On,Yi])=>`${On}=${JSON.stringify(Yi)}`).join(", ")]),T(Gt,_n)},oi=rt(()=>u(Qe).args&&Object.keys(u(Qe).args).length>0);$(Gn,Gt=>{u(oi)&&Gt($i)})}G(Gt=>q(Jt,Gt),[()=>u(Qe).name.replace(/_/g," ")]),T(Pt,et)},gt=Pt=>{var et=PD(),ci=x(C(et),2),Jt=C(ci);G(Gn=>q(Jt,Gn),[()=>u(Qe).name.replace(/_/g," ")]),T(Pt,et)};$(fe,Pt=>{u(Qe).type==="tool_call"?Pt($e):Pt(gt,-1)})}T(_e,Bt)}),T(Ie,le)};$(he,Ie=>{var le;(le=u(J).toolEvents)!=null&&le.length&&Ie(Ct)})}var Ze=x(he,2);_i(Ze,21,()=>u(Et),Vn,(Ie,le,_e)=>{var Qe=Fs(),Bt=bt(Qe);{var fe=gt=>{var Pt=MD();Ul(Pt,()=>Bn(u(le).text),!0),T(gt,Pt)},$e=gt=>{const Pt=rt(()=>sn(u(le).lang)?Sn(u(le).text):null),et=rt(()=>u(Pt)?u(Pt).code:u(le).text),ci=rt(()=>`${ke}:${_e}`),Jt=rt(()=>vi(u(et))),Gn=rt(()=>u(N).has(u(ci)));var $i=Hq(),oi=C($i),Gt=C(oi),_n=C(Gt),ri=x(Gt,2),On=C(ri),Yi=x(On,2);{var Ps=Xs=>{var es=Nq();te("click",es,()=>e.onCreateFile(u(Pt).filename,u(Pt).code)),T(Xs,es)},Oo=Xs=>{var es=Oq(),Ts=bt(es),Ph=x(Ts,2);{var Th=Xo=>{var ea=Rq();T(Xo,ea)},Ec=Xo=>{var ea=Aq();te("click",ea,()=>Mn(u(le).text,!0)),T(Xo,ea)};$(Ph,Xo=>{u(P)?Xo(Th):Xo(Ec,-1)})}te("click",Ts,()=>Mn(u(le).text)),T(Xs,es)},Lr=rt(()=>sn(u(le).lang)&&t());$(Yi,Xs=>{u(Pt)&&e.onCreateFile?Xs(Ps):u(Lr)&&Xs(Oo,1)})}var Aa=x(oi,2);let kr;var Qr=C(Aa),Cl=C(Qr);Ul(Cl,()=>Gi(u(et),u(le).lang??""),!0);var Oa=x(Qr,2);{var Ai=Xs=>{var es=Fq(),Ts=C(es);G(()=>q(Ts,u(Gn)?"▲ collapse":"▼ expand")),te("click",es,()=>Tn(u(ci))),T(Xs,es)};$(Oa,Xs=>{u(Jt)&&Xs(Ai)})}G(()=>{q(_n,u(Pt)?`new: ${u(Pt).filename}`:u(le).lang),kr=$t(Aa,1,"code-body svelte-10ayso4",null,kr,{collapsed:u(Jt)&&!u(Gn)})}),te("click",On,()=>Ei(u(et))),T(gt,$i)};$(Bt,gt=>{u(le).type==="text"?gt(fe):gt($e,-1)})}T(Ie,Qe)}),T(ye,dt)};$(nt,ye=>{u(J).role==="user"?ye(at):ye(ut,-1)})}G(()=>$t(Ke,1,`message ${u(J).role??""}`,"svelte-10ayso4")),T(H,Ke)});var ue=x(ft,2);{var ht=H=>{var J=TD();_i(J,21,()=>u(Qt),Vn,(ke,Ke)=>{var nt=Fs(),at=bt(nt);{var ut=Et=>{var dt=ED(),he=x(C(dt),2),Ct=C(he),Ze=x(he,2);{var Ie=_e=>{var Qe=DD(),Bt=C(Qe);G(fe=>q(Bt,fe),[()=>Object.entries(u(Ke).args).map(([fe,$e])=>`${fe}=${JSON.stringify($e)}`).join(", ")]),T(_e,Qe)},le=rt(()=>u(Ke).args&&Object.keys(u(Ke).args).length>0);$(Ze,_e=>{u(le)&&_e(Ie)})}G(_e=>q(Ct,_e),[()=>u(Ke).name.replace(/_/g," ")]),T(Et,dt)},ye=Et=>{var dt=PD(),he=x(C(dt),2),Ct=C(he);G(Ze=>q(Ct,Ze),[()=>u(Ke).name.replace(/_/g," ")]),T(Et,dt)};$(at,Et=>{u(Ke).type==="tool_call"?Et(ut):Et(ye,-1)})}T(ke,nt)}),T(H,J)};$(ue,H=>{u(Qt).length>0&&H(ht)})}var ii=x(ue,2);{var Kt=H=>{var J=zq(),ke=C(J),Ke=C(ke),nt=C(Ke);G(()=>q(nt,ve[u(je)])),T(H,J)};$(ii,H=>{u(a)&&u(s)===null&&u(Qt).length===0&&H(Kt)})}var si=x(ii,2);{var ui=H=>{var J=jq(),ke=C(J);_i(ke,21,()=>nn(u(s)),Vn,(Ke,nt)=>{var at=Fs(),ut=bt(at);{var ye=dt=>{var he=MD();Ul(he,()=>Bn(u(nt).text),!0),T(dt,he)},Et=dt=>{var he=Vq(),Ct=C(he),Ze=C(Ct),Ie=C(Ze),le=x(Ct,2),_e=C(le);Ul(_e,()=>Gi(u(nt).text,u(nt).lang??""),!0),G(()=>q(Ie,u(nt).lang)),T(dt,he)};$(ut,dt=>{u(nt).type==="text"?dt(ye):dt(Et,-1)})}T(Ke,at)}),T(H,J)};$(si,H=>{u(s)!==null&&H(ui)})}bs(Ce,H=>Ge=H,()=>Ge);var Q=x(Ce,2);{var ge=H=>{var J=Uq(),ke=C(J);G(()=>q(ke,u(c))),T(H,J)};$(Q,H=>{u(c)&&H(ge)})}var We=x(Q,2),it=C(We),xt=C(it),Ye=x(it,2),pt=C(Ye),ei=x(Ye,2),Ut=C(ei),Rt=x(We,2),Oi=C(Rt);{var an=H=>{const J=rt(()=>dn(t().path.split("/").pop()??t().path));var ke=$q();let Ke;var nt=C(ke),at=C(nt),ut=x(nt,2),ye=C(ut),Et=x(ut,2),dt=C(Et);G((he,Ct)=>{Ke=$t(ke,1,"file-chip svelte-10ayso4",null,Ke,{inactive:!u(yt)}),$t(nt,1,`badge badge-${he??""}`,"svelte-10ayso4"),q(at,Ct),q(ye,t().path),Hn(Et,"title",u(yt)?"Remove from context":"Re-add to context"),q(dt,u(yt)?"×":"+")},[()=>u(J).toLowerCase(),()=>Nn(u(J))]),te("click",Et,()=>k(yt,!u(yt))),T(H,ke)};$(Oi,H=>{t()&&H(an)})}var Wi=x(Oi,2);_i(Wi,17,i,Vn,(H,J,ke)=>{const Ke=rt(()=>dn(u(J).name));var nt=qq(),at=C(nt),ut=C(at),ye=x(at,2),Et=C(ye),dt=x(ye,2);G((he,Ct)=>{$t(at,1,`badge badge-${he??""}`,"svelte-10ayso4"),q(ut,Ct),q(Et,u(J).name)},[()=>u(Ke).toLowerCase(),()=>Nn(u(Ke))]),te("click",dt,()=>Rn(ke)),T(H,nt)});var ti=x(Wi,2),ji=x(ti,2);bs(ji,H=>jt=H,()=>jt);var A=x(Rt,2);let K;var Ee=C(A);let Pe;var Be=C(Ee);bs(Be,H=>Ne=H,()=>Ne);var Me=x(Ee,2);{var re=H=>{var J=Kq();te("click",J,hn),T(H,J)},Je=H=>{var J=Gq();G(ke=>J.disabled=ke,[()=>!u(r).trim()||!u(At)]),te("click",J,qn),T(H,J)};$(Me,H=>{u(a)?H(re):H(Je,-1)})}var Oe=x(A,2);{var xe=H=>{var J=Qq(),ke=C(J),Ke=C(ke),nt=x(ke,2);{var at=dt=>{var he=Xq();_i(he,21,()=>u(w),Vn,(Ct,Ze)=>{var Ie=Zq(),le=C(Ie),_e={};G(()=>{q(le,u(Ze)),_e!==(_e=u(Ze))&&(Ie.value=(Ie.__value=u(Ze))??"")}),T(Ct,Ie)}),G(()=>he.disabled=u(a)),_a(he,()=>u(S),Ct=>k(S,Ct)),T(dt,he)},ut=dt=>{var he=Yq(),Ct=C(he);G(()=>q(Ct,u(S)||u(h).model)),T(dt,he)};$(nt,dt=>{u(w).length>0?dt(at):dt(ut,-1)})}var ye=x(nt,2);{var Et=dt=>{var he=Jq();te("click",he,Hi),T(dt,he)};$(ye,dt=>{u(h).provider==="ollama"&&dt(Et)})}G(()=>q(Ke,u(h).provider)),T(H,J)};$(Oe,H=>{var J;(J=u(h))!=null&&J.provider&&(u(ot)||u(w).length>0)&&H(xe)})}var St=x(Fe,2);{var Te=H=>{var J=hK(),ke=C(J),Ke=C(ke),nt=C(Ke),at=C(nt),ut=x(nt,2),ye=x(Ke,2),Et=C(ye);{var dt=Ze=>{var Ie=eK();T(Ze,Ie)},he=Ze=>{var Ie=tK(),le=C(Ie);G(()=>q(le,u(X))),T(Ze,Ie)},Ct=Ze=>{var Ie=dK(),le=C(Ie);{var _e=oi=>{var Gt=iK(),_n=x(bt(Gt)),ri=C(_n);G(()=>q(ri,u(F).version)),T(oi,Gt)};$(le,oi=>{u(F).version&&oi(_e)})}var Qe=x(le,2);{var Bt=oi=>{var Gt=nK(),_n=x(bt(Gt)),ri=C(_n);G(()=>q(ri,u(F).details.family)),T(oi,Gt)};$(Qe,oi=>{var Gt;(Gt=u(F).details)!=null&&Gt.family&&oi(Bt)})}var fe=x(Qe,2);{var $e=oi=>{var Gt=sK(),_n=x(bt(Gt)),ri=C(_n);G(()=>q(ri,u(F).details.parameter_size)),T(oi,Gt)};$(fe,oi=>{var Gt;(Gt=u(F).details)!=null&&Gt.parameter_size&&oi($e)})}var gt=x(fe,2);{var Pt=oi=>{var Gt=oK(),_n=x(bt(Gt)),ri=C(_n);G(()=>q(ri,u(F).details.quantization_level)),T(oi,Gt)};$(gt,oi=>{var Gt;(Gt=u(F).details)!=null&&Gt.quantization_level&&oi(Pt)})}var et=x(gt,2);{var ci=oi=>{var Gt=rK(),_n=x(bt(Gt)),ri=C(_n);G(()=>q(ri,u(F).details.format)),T(oi,Gt)};$(et,oi=>{var Gt;(Gt=u(F).details)!=null&&Gt.format&&oi(ci)})}var Jt=x(et,2);{var Gn=oi=>{var Gt=lK(),_n=x(bt(Gt),2);_i(_n,21,()=>u(F).running,Vn,(ri,On)=>{var Yi=aK(),Ps=C(Yi);G(Oo=>q(Ps,`${u(On).name??""} · ${Oo??""} VRAM`),[()=>Xi(u(On).size_vram)]),T(ri,Yi)}),T(oi,Gt)},$i=oi=>{var Gt=cK();T(oi,Gt)};$(Jt,oi=>{u(F).running&&u(F).running.length>0?oi(Gn):u(F).running!==null&&oi($i,1)})}T(Ze,Ie)};$(Et,Ze=>{u(Y)?Ze(dt):u(X)?Ze(he,1):u(F)&&Ze(Ct,2)})}G(()=>{var Ze;return q(at,`Ollama · ${(u(S)||((Ze=u(h))==null?void 0:Ze.model))??""}`)}),te("click",J,()=>k(V,!1)),te("click",ke,Ze=>Ze.stopPropagation()),te("click",ut,()=>k(V,!1)),T(H,J)};$(St,H=>{u(V)&&H(Te)})}G(H=>{se=$t(O,1,"icon-hdr-btn svelte-10ayso4",null,se,{active:u(_)}),q(Ut,H),K=$t(A,1,"input-row svelte-10ayso4",null,K,{"drag-over":u(ai)}),Pe=$t(Ee,1,"textarea-wrap svelte-10ayso4",null,Pe,{loading:u(a)}),Hn(Be,"placeholder",u(At)?"Ask anything… (Enter to send, Shift+Enter for newline, drag & drop files to add context)":u(ot)?"Select a model above to start chatting":"AI not configured"),Be.disabled=u(a)||!u(At)},[()=>Xi(u(ni))]),te("click",O,()=>k(_,!u(_))),As(xt,()=>u(st),H=>k(st,H)),As(pt,()=>u(Ot),H=>k(Ot,H)),te("click",ti,$n),te("change",ji,pn),os("dragover",A,qe),os("dragleave",A,Ft),os("drop",A,on),te("keydown",Be,An),Ni(Be,()=>u(r),H=>k(r,H)),T(o,Z),Ao()}Cr(["click","change","keydown"]);const fK={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"]},pK={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 m0=[],_0=[],v0=[];const eb=new Map;let AR=[];const b0=new Map,y0=new Map;async function ND(){try{m0=(await uR()).map(e=>e.topic)}catch{}}async function RD(){try{const[o,e]=await Promise.all([cR(),dR()]);_0=o,v0=e}catch{}}async function AD(){try{const o=await hR();AR=o.map(e=>e.nodeId),b0.clear(),y0.clear();for(const e of o)e.name&&(b0.set(e.nodeId,e.name),y0.set(e.name,e.nodeId));await Promise.all(o.map(async e=>{if(!eb.has(e.nodeId))try{eb.set(e.nodeId,await T_(e.nodeId))}catch{}}))}catch{}}function mK(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=_K(h),f=vK(h);if(g===0)return{type:"matter-nodeId",prefix:f};if(g===1){const p=eu(h,0);if(p)return{type:"matter-endpointId",nodeId:p}}if(g===2){const p=eu(h,0),v=OD(h,1)??eu(h,1);if(p&&v!==null)return{type:"matter-cluster",nodeId:p,endpointId:v}}if(g>=3){const p=eu(h,0),v=OD(h,1)??eu(h,1),_=eu(h,2),w=/she\.matter\.send\s*\(/.test(o);if(p&&v!==null&&_)return{type:"matter-attr",nodeId:p,endpointId:v,cluster:_,isSend:w}}}return null}function _K(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 vK(o){const e=o.match(/['"]([^'"]*)\s*$/);return e?e[1]:""}function eu(o,e){var s;const i=(s=OR(o)[e])==null?void 0:s.trim();if(!i)return null;const n=i.match(/^['"](.*)['"]$/);return n?n[1]:null}function OD(o,e){var s;const i=(s=OR(o)[e])==null?void 0:s.trim();if(!i)return null;const n=parseInt(i,10);return isNaN(n)?null:n}function OR(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 vh=Vc.CompletionItemKind;function bK(o,e){return(e?m0.filter(i=>i.startsWith(e)):m0).map(i=>({label:i,kind:vh.Value,insertText:i,range:o,detail:"MQTT topic",sortText:"0"+i}))}function yK(o,e,t){const i=t?[..._0,...v0]:_0;return(e?i.filter(s=>s.startsWith(e)):i).map(s=>({label:s,kind:vh.Value,insertText:s,range:o,detail:v0.includes(s)?"sheDB view":"sheDB document",sortText:"0"+s}))}function wK(o,e){return AR.map(t=>{const i=b0.get(t)??t;return e&&!i.startsWith(e)&&!t.startsWith(e)?null:{label:i,kind:vh.Value,insertText:i,range:o,detail:i!==t?`Node ID: ${t}`:"Matter node",sortText:"0"+i}}).filter(Boolean)}function FR(o){return y0.get(o)??o}function SK(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 CK(o,e){const t=eb.get(FR(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:vh.Value,insertText:n,range:o,detail:i.name?`Endpoint ${i.endpointId} — ${s}`:`Clusters: ${s}`,sortText:"0"+String(i.endpointId).padStart(4,"0")}}):[]}function xK(o,e,t){const i=eb.get(FR(e));if(!i)return[];const n=SK(i,t);return n?n.clusters.map(s=>({label:s.name,kind:vh.Value,insertText:s.name,range:o,detail:"Matter cluster",sortText:"0"+s.name})):[]}function LK(o,e,t){return(t?pK[e]??[]:fK[e]??[]).map(n=>({label:n,kind:t?vh.Function:vh.Property,insertText:n,range:o,detail:t?`${e} command`:`${e} attribute`,sortText:"0"+n}))}let FD=!1;function kK(){FD||(FD=!0,ND(),RD(),AD(),setInterval(ND,15e3),setInterval(RD,1e4),setInterval(AD,6e4),Vc.registerCompletionItemProvider("javascript",{triggerCharacters:["'",'"',"(",","," "],provideCompletionItems(o,e){const t=o.getValueInRange({startLineNumber:e.lineNumber,startColumn:1,endLineNumber:e.lineNumber,endColumn:e.column}),i=mK(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:bK(a,i.prefix)};case"db":return{suggestions:yK(a,i.prefix,i.includeViews)};case"matter-nodeId":return{suggestions:wK(a,i.prefix)};case"matter-endpointId":return{suggestions:CK(a,i.nodeId)};case"matter-cluster":return{suggestions:xK(a,i.nodeId,i.endpointId)};case"matter-attr":return{suggestions:LK(a,i.cluster,i.isSend)};default:return null}}}))}var IK=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),DK=R('<button class="svelte-1pyfjii">Show git history</button>'),EK=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),PK=R('<div class="ctx-backdrop svelte-1pyfjii" role="presentation"></div> <div class="ctx-menu svelte-1pyfjii"><!></div>',1),TK=R('<div class="lib-tip-float svelte-1pyfjii">Library directory — files here are not auto-loaded as scripts</div>'),HD=R('<span class="git-mod svelte-1pyfjii" title="Uncommitted changes">M</span>'),MK=R('<ul class="tree-children svelte-1pyfjii"></ul>'),NK=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>'),RK=R('<span class="dirty-dot svelte-1pyfjii">●</span>'),AK=R('<span class="err-dot svelte-1pyfjii">●</span>'),OK=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>'),FK=R('<span class="dis-spacer svelte-1pyfjii"></span>'),HK=R('<li draggable="true"><div class="file-row svelte-1pyfjii"><button><span> </span> <span class="fname svelte-1pyfjii"> </span> <!><!> <!></button> <!></div></li>'),WK=R('<div class="err svelte-1pyfjii"> </div>'),BK=R('<div class="history-empty svelte-1pyfjii">Loading…</div>'),zK=R('<div class="history-empty svelte-1pyfjii">No commits found.</div>'),VK=R('<button class="history-row svelte-1pyfjii"><span class="history-subject svelte-1pyfjii"> </span> <span class="history-meta svelte-1pyfjii"> </span></button>'),jK=R('<!> <button class="history-load-more svelte-1pyfjii"> </button>',1),UK=R('<div class="history-panel svelte-1pyfjii"><div class="history-hdr svelte-1pyfjii"><span class="history-title svelte-1pyfjii"> </span> <button class="history-close svelte-1pyfjii">✕</button></div> <div class="history-body svelte-1pyfjii"><!></div></div>'),$K=R('<span class="tab-dirty svelte-1pyfjii">●</span>'),qK=R('<div role="button" tabindex="0"><span class="tab-label svelte-1pyfjii"> </span> <!> <button class="tab-close svelte-1pyfjii" title="Close">×</button></div>'),KK=R('<div class="tab-bar svelte-1pyfjii"></div>'),GK=R('<span class="git-changes svelte-1pyfjii"> </span>'),ZK=R('<span class="git-ahead svelte-1pyfjii"> </span>'),XK=R('<span class="git-behind svelte-1pyfjii"> </span>'),YK=R('<span class="git-status svelte-1pyfjii"><span class="git-branch svelte-1pyfjii"> </span> <!> <!> <!></span>'),JK=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),QK=R('<button class="danger svelte-1pyfjii">Delete</button>'),eG=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>`),tG=R('<button class="svelte-1pyfjii">Always accept in this session</button>'),iG=R('<button class="svelte-1pyfjii">Disable auto-accept</button>'),nG=R('<div class="split-backdrop svelte-1pyfjii" role="presentation"></div> <div class="split-menu svelte-1pyfjii"><!></div>',1),sG=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>'),oG=R('<div class="history-diff-notice svelte-1pyfjii">Binary file — diff not available.</div>'),rG=R('<div class="diff-container svelte-1pyfjii"></div>'),aG=R('<div class="diff-overlay svelte-1pyfjii"><div class="diff-bar svelte-1pyfjii"><span class="diff-title svelte-1pyfjii">Commit <code> </code> → current — <em class="svelte-1pyfjii"> </em></span> <div class="diff-actions svelte-1pyfjii"><button class="discard-btn svelte-1pyfjii">Close</button></div></div> <!></div>'),lG=R('<div class="log-resize-handle svelte-1pyfjii" role="separator"></div>'),cG=R('<span class="log-file svelte-1pyfjii"> </span>'),dG=R("<option> </option>"),hG=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),uG=R('<div><span class="ts svelte-1pyfjii"> </span> <span class="lvl svelte-1pyfjii"> </span> <span class="msg svelte-1pyfjii"> </span></div>'),gG=R('<span class="log-empty svelte-1pyfjii">No log output for this script.</span>'),fG=R('<div class="log-body svelte-1pyfjii"><!> <!></div>'),pG=R('<div class="chat-resize-handle svelte-1pyfjii" role="separator"></div> <div class="chat-container svelte-1pyfjii"><!></div>',1),mG=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 _G(o,e){Ro(e,!0);let t=B(Si([])),i=B(Si({})),n=B(null),s=B(null),r=B(null),a=B(null),c=B(Si([])),h=B(null),g=B(!1),f=B(""),p=B(!1),v=B(!0),_=B(null),w=B(!1),S=B(!1),D=B(null),P=B(Si([])),N=B(!1),V=B(30),F=B(void 0),Y=null,X=null,me=null,Le=B(!1),je=B(""),ve=B(!1),st=B(void 0),Ot=B(Si(new Set));const yt=new Set;let ai=B(Si([])),jt=B("all"),Qt=B(""),Ne=B(!1);const Ge=["all","debug","info","warn","error"],Re={debug:0,info:1,warn:2,error:3};function ot(W){if(u(jt)!=="all"&&Re[W.level]<Re[u(jt)])return!1;if(!u(Qt))return!0;if(u(Ne))try{return new RegExp(u(Qt),"i").test(W.msg)}catch{}return W.msg.toLowerCase().includes(u(Qt).toLowerCase())}let At=B(null);function ni(W){const oe=W.currentTarget.getBoundingClientRect();k(At,{x:oe.left,y:oe.top},!0)}function Xt(){k(At,null)}let zt,vt,Li,vi=!1,Tn=null,Gi=!1,Bn=!1,nn=B(!1),Ei=B(null),Mn=B(!1),sn=B(!1),Sn=B(void 0),Xi=null,Hi=null,dn=null,Nn=B(Si(parseInt(localStorage.getItem("she-scripts-sidebar-width")??"220",10))),Rn=B(Si(parseInt(localStorage.getItem("she-scripts-log-height")??"130",10))),$n=B(Si(parseInt(localStorage.getItem("she-scripts-chat-width")??"340",10))),Cn=!1,pn=0,on=0,qe=!1,Ft=0,li=0,Ci=!1,Ii=0,mn=0;const xn=rt(()=>{var W;return u(h)&&u(rn)?{path:u(h),content:((W=u(rn).model)==null?void 0:W.getValue())??u(rn).savedContent}:null}),qn=rt(()=>{var W;return new Set(((W=u(_))==null?void 0:W.changes.map(oe=>oe.file))??[])});let hn,An,rn=rt(()=>u(c).find(W=>W.path===u(h))??null);const Ln="she-tabs",Ae="she-active-tab",Z="she-log-open",Fe="she-chat-open";let wt=cg(e,"active",3,!0);zn(()=>{Bn&&(localStorage.setItem(Ln,JSON.stringify(u(c).map(W=>W.path))),u(h)?localStorage.setItem(Ae,u(h)):localStorage.removeItem(Ae))}),zn(()=>{Bn&&localStorage.setItem(Fe,String(u(nn)))}),zn(()=>{wt()&&vt&&vt.layout()});const Dt=`
|
|
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
|
-
`;xr(async()=>{var ce;k(v,localStorage.getItem(Z)!=="false"),k(nn,localStorage.getItem(Fe)==="true"),Vc.typescript.javascriptDefaults.addExtraLib(Dt,"she-api.d.ts"),Vc.typescript.javascriptDefaults.setCompilerOptions({target:Vc.typescript.ScriptTarget.ES2022,allowNonTsExtensions:!0,checkJs:!0}),Vc.typescript.javascriptDefaults.setDiagnosticsOptions({noSyntaxValidation:!1,noSemanticValidation:!0}),kK(),Li=tr.createModel("","javascript"),vt=tr.create(zt,{model:Li,theme:"vs-dark",automaticLayout:!0,minimap:{enabled:!1},fontSize:14,lineNumbers:"on",scrollBeyondLastLine:!1}),vt.onDidChangeModelContent(()=>{if(vi)return;const tt=u(c).find(Tt=>Tt.path===u(h));tt&&(tt.dirty=vt.getValue()!==tt.savedContent),Oe&&clearTimeout(Oe),Oe=setTimeout(xe,600)}),Tn=bR(tt=>{const Tt=tt.msg.match(/^([^:\n]+\.js):\s/);if(!Tt)return;const Wt=Tt[1];if(tt.level==="error")yt.add(Wt),u(Ot).has(Wt)||k(Ot,new Set([...u(Ot),Wt]),!0);else if(yt.has(Wt)){yt.delete(Wt);const fi=new Set(u(Ot));fi.delete(Wt),k(Ot,fi,!0)}const Fi=u(c).find(fi=>fi.path===Wt);Fi&&(Fi.logEntries=[...Fi.logEntries.slice(-199),tt],Fi.path===u(h)&&u(v)&&u(st)&&__().then(()=>{u(st)&&(u(st).scrollTop=u(st).scrollHeight)}))}),await Nt(),Xe();try{const tt=await iL();typeof tt.gitAutoCommit=="boolean"&&k(w,tt.gitAutoCommit,!0),typeof tt.gitAutoPush=="boolean"&&k(S,tt.gitAutoPush,!0)}catch{}const W=JSON.parse(localStorage.getItem(Ln)??"[]"),oe=localStorage.getItem(Ae);for(const tt of W)await pe(tt,!1);const we=oe&&u(c).some(tt=>tt.path===oe)?oe:((ce=u(c)[0])==null?void 0:ce.path)??null;we&&await Ce(we),Bn=!0}),yy(()=>{var W;Oe&&clearTimeout(Oe),Tn==null||Tn();for(const oe of u(c))(W=oe.model)==null||W.dispose();Li==null||Li.dispose(),vt==null||vt.dispose()});async function Nt(){try{if(k(t,await G8(),!0),!Gi){let oe=function(we){for(const ce of we)ce.type==="dir"&&(W[ce.path]=!0,ce.children&&oe(ce.children))};Gi=!0;const W={};oe(u(t)),k(i,W,!0)}k(f,"")}catch(W){k(f,W.message,!0)}}function O(W){u(i)[W]=!u(i)[W]}function se(W){switch(W){case"SH":case"BASH":return"$";case"MD":case"MARKDOWN":return"⇓";case"JSON":case"JSONC":return"{}";default:return W}}async function be(W,oe){try{oe?await Hc(`${W}/.shelib`,""):await n_(`${W}/.shelib`),await Nt(),await Vt("all",oe?`lib ${W}`:`unlib ${W}`)}catch(we){k(f,we.message,!0)}}async function j(W,oe){const we=W.split("/").pop(),ce=W.includes("/")?W.slice(0,W.lastIndexOf("/")):"",tt=ce?`${ce}/.shedisable-${we}`:`.shedisable-${we}`;try{oe?await Hc(tt,""):await n_(tt),await Nt(),await Vt("all",oe?`disable ${W}`:`enable ${W}`)}catch(Tt){k(f,Tt.message,!0)}}async function pe(W,oe=!0){var we;if(u(c).some(ce=>ce.path===W)){oe&&await Ce(W);return}try{const{content:ce}=await $w(W),tt=WF.parse(`file:///she-scripts/${encodeURIComponent(W)}`);(we=tr.getModel(tt))==null||we.dispose();const Tt=tr.createModel(ce,Je(W),tt);k(c,[...u(c),{path:W,dirty:!1,savedContent:ce,model:Tt,logEntries:[]}],!0),oe&&await Ce(W)}catch(ce){k(f,ce.message,!0)}}async function Ue(W){await pe(W,!0)}async function Ce(W){const oe=u(c).find(we=>we.path===W);oe!=null&&oe.model&&(k(h,W,!0),vi=!0,vt.setModel(oe.model),vi=!1,xe())}async function De(W){var ce;const oe=u(c).find(tt=>tt.path===W);if(!oe||oe.dirty&&!await hn.show(`Discard unsaved changes to ${W}?`,{confirm:"Discard"}))return;const we=u(c).findIndex(tt=>tt.path===W);if((ce=oe.model)==null||ce.dispose(),k(c,u(c).filter(tt=>tt.path!==W),!0),u(h)===W){const tt=u(c)[we]??u(c)[we-1]??null;tt?await Ce(tt.path):(k(h,null),vt.setModel(Li))}}async function Xe(){try{k(_,await X8(),!0)}catch{k(_,null)}}async function Vt(W,oe){if(u(_))try{if(W==="all"?await t7(oe):await e7(W,oe),u(S))try{await qw()}catch{}await Xe()}catch{}}async function ft(){if(!u(h))return;const W=u(c).find(oe=>oe.path===u(h));if(W){k(g,!0);try{const oe=vt.getValue();await Hc(u(h),oe),W.savedContent=oe,W.dirty=!1,k(f,""),u(w)?await Vt([u(h)],`update ${u(h)}`):Xe()}catch(oe){k(f,oe.message,!0)}finally{k(g,!1)}}}async function ue(){if(!u(h)||(await ft(),u(f)))return;const W=await An.show("Commit message:",{initial:`update ${u(h)}`,placeholder:"Update script",confirm:"Commit"});if(W)try{if(await Q8(u(h),W),u(S))try{await qw()}catch{}Xe()}catch(oe){k(f,"Git: "+oe.message)}}async function ht(){k(p,!1);try{await qw(),await Xe(),k(f,"")}catch(W){k(f,"Git push: "+W.message)}}function ii(W){const oe=Date.now()-new Date(W).getTime(),we=Math.floor(oe/1e3);if(we<60)return"just now";const ce=Math.floor(we/60);if(ce<60)return`${ce}m ago`;const tt=Math.floor(ce/60);if(tt<24)return`${tt}h ago`;const Tt=Math.floor(tt/24);if(Tt<30)return`${Tt}d ago`;const Wt=Math.floor(Tt/30);return Wt<12?`${Wt}mo ago`:`${Math.floor(Wt/12)}y ago`}async function Kt(W){pt(),k(D,W,!0),k(P,[],!0),k(V,30),await si()}async function si(){if(u(D)){k(N,!0);try{k(P,await i7(u(D).path,u(V)),!0)}catch{}finally{k(N,!1)}}}async function ui(){k(V,u(V)+30),await si()}function Q(){k(D,null),k(P,[],!0),We()}async function ge(W){if(!u(D))return;We();let oe;try{oe=await n7(W.hash,u(D).path)}catch{return}if(k(je,W.hash,!0),k(ve,oe.binary,!0),k(Le,!0),oe.binary||oe.content===null)return;let we="";const ce=u(c).find(Tt=>Tt.path===u(D).path);if(ce!=null&&ce.model)we=ce.model.getValue();else try{we=(await $w(u(D).path)).content}catch{}if(await __(),!u(F))return;const tt=Je(u(D).path);X=tr.createModel(oe.content,tt),me=tr.createModel(we,tt),Y=tr.createDiffEditor(u(F),{theme:"vs-dark",readOnly:!0,renderSideBySide:!0,automaticLayout:!0,minimap:{enabled:!1},fontSize:13,scrollBeyondLastLine:!1}),Y.setModel({original:X,modified:me})}function We(){k(Le,!1),k(ve,!1),Y==null||Y.dispose(),Y=null,X==null||X.dispose(),X=null,me==null||me.dispose(),me=null}async function it(){const W=u(n)?`${u(n)}/`:"",oe=await An.show("New script name:",{placeholder:W?`${W}myscript.js`:"myscript.js",initial:W,confirm:"Create"});if(!oe)return;const we=oe.endsWith(".js")?`/* global she */
|
|
212
|
-
'use strict';
|
|
213
|
-
|
|
214
|
-
`:"";await Hc(oe,we),await Nt(),await pe(oe,!0)}async function xt(){const W=u(n)?`${u(n)}/`:"",oe=await An.show("New folder name:",{placeholder:W?`${W}subfolder`:"myfolder",initial:W,confirm:"Create"});oe&&(await Z8(oe),u(i)[oe]=!0,await Nt())}function Ye(W,oe){W.preventDefault(),k(s,{x:W.clientX,y:W.clientY,entry:oe},!0)}function pt(){k(s,null)}async function ei(W){pt(),k(n,W,!0),u(i)[W]=!0,await it()}async function Ut(W){pt(),k(n,W,!0),await xt()}async function Rt(W){pt();const oe=W.path.includes("/")?W.path.slice(0,W.path.lastIndexOf("/")+1):"",we=await An.show(W.type==="dir"?"Rename folder:":"Rename script:",{initial:W.name,placeholder:W.name,confirm:"Rename"});if(!we||we===W.name)return;const ce=oe+we;try{await fD(W.path,ce);const tt=u(c).find(Tt=>Tt.path===W.path);tt&&(tt.path=ce,u(h)===W.path&&k(h,ce)),await Nt(),await Vt("all",`rename ${W.path} → ${ce}`)}catch(tt){k(f,tt.message,!0)}}function Oi(W){if(!W.children)return 0;let oe=0;for(const we of W.children)oe++,we.type==="dir"&&(oe+=Oi(we));return oe}async function an(W){pt();let oe=`Delete ${W.type==="dir"?"folder":"file"} "${W.path}"?`;if(W.type==="dir"){const we=Oi(W);we>0&&(oe+=` This will also delete ${we} item${we===1?"":"s"} inside.`)}if(await hn.show(oe,{confirm:"Delete",danger:!0})){if(W.type==="dir")for(const we of[...u(c)])we.path.startsWith(W.path+"/")&&await De(we.path);else await De(W.path);await n_(W.path),await Nt(),await Vt("all",`delete ${W.path}`)}}async function Wi(W){pt();const{content:oe}=await $w(W.path);u(ai).some(we=>we.name===W.path)||k(ai,[...u(ai),{name:W.path,content:oe}],!0),k(nn,!0)}function ti(W,oe){var we;k(r,oe,!0),(we=W.dataTransfer)==null||we.setData("text/plain",oe)}function ji(W,oe){if(W.preventDefault(),u(r)&&(u(r)===oe||oe.startsWith(u(r)+"/"))){W.dataTransfer&&(W.dataTransfer.dropEffect="none"),k(a,null);return}W.dataTransfer&&(W.dataTransfer.dropEffect="move"),k(a,oe,!0)}function A(){k(a,null)}async function K(W,oe){var Wt,Fi,fi;W.preventDefault(),k(a,null);const we=Array.from(((Wt=W.dataTransfer)==null?void 0:Wt.items)??[]).filter(xi=>xi.kind==="file");if(we.length>0&&!u(r)){for(const xi of we){const Pi=(Fi=xi.webkitGetAsEntry)==null?void 0:Fi.call(xi);Pi&&await Ee(Pi,oe,!0)}await Nt();return}const ce=u(r)??((fi=W.dataTransfer)==null?void 0:fi.getData("text/plain"));if(k(r,null),!ce||ce===oe||oe.startsWith(ce+"/"))return;const tt=ce.split("/").pop(),Tt=oe?`${oe}/${tt}`:tt;if(Tt!==ce)try{await fD(ce,Tt);for(const xi of u(c))if(xi.path===ce)u(h)===ce&&k(h,Tt,!0),xi.path=Tt;else if(xi.path.startsWith(ce+"/")){const Pi=Tt+xi.path.slice(ce.length);u(h)===xi.path&&k(h,Pi),xi.path=Pi}await Nt(),await Vt("all",`rename ${ce} → ${Tt}`)}catch(xi){k(f,xi.message,!0)}}async function Ee(W,oe,we){if(W.isFile){const tt=await(await new Promise((Wt,Fi)=>W.file(Wt,Fi))).text(),Tt=oe?`${oe}/${W.name}`:W.name;await Hc(Tt,tt),we&&W.name.endsWith(".js")&&await j(Tt,!0)}else if(W.isDirectory){const ce=W.createReader();let tt=[],Tt;do Tt=await new Promise((Wt,Fi)=>ce.readEntries(Wt,Fi)),tt=[...tt,...Tt];while(Tt.length>0);for(const Wt of tt)await Ee(Wt,oe?`${oe}/${W.name}`:W.name,!1);if(we){const Wt=oe?`${oe}/${W.name}`:W.name;await j(Wt,!0)}}}async function Pe(){if(!u(h)||!await hn.show(`Delete ${u(h)}?`,{confirm:"Delete",danger:!0}))return;const W=u(h);await De(W),await n_(W),await Nt(),await Vt("all",`delete ${W}`)}function Be(){u(rn)&&(u(rn).logEntries=[])}function Me(){k(v,!u(v)),localStorage.setItem(Z,String(u(v)))}function re(W){return new Date(W).toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1})}function Je(W){var ce;const oe=((ce=W.split(".").pop())==null?void 0:ce.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"}[oe]??"plaintext"}let Oe=null;async function xe(){const W=u(c).find(we=>we.path===u(h));if(!(W!=null&&W.model))return;const oe=W.model;try{const Tt=(await(await(await Vc.typescript.getJavaScriptWorker())(oe.uri)).getSyntacticDiagnostics(oe.uri.toString())).map(Wt=>{const Fi=oe.getPositionAt(Wt.start??0),fi=oe.getPositionAt((Wt.start??0)+(Wt.length??0));return{severity:BF.Error,startLineNumber:Fi.lineNumber,startColumn:Fi.column,endLineNumber:fi.lineNumber,endColumn:fi.column,message:typeof Wt.messageText=="string"?Wt.messageText:JSON.stringify(Wt.messageText),source:"she-syntax"}});if(tr.setModelMarkers(oe,"she-syntax",Tt),u(h)){if(Tt.length>0)yt.add(u(h)),u(Ot).has(u(h))||k(Ot,new Set([...u(Ot),u(h)]),!0);else if(yt.has(u(h))){yt.delete(u(h));const Wt=new Set(u(Ot));Wt.delete(u(h)),k(Ot,Wt,!0)}}}catch{}}function St(W){Cn=!0,pn=W.clientX,on=u(Nn),W.preventDefault()}function Te(W){qe=!0,Ft=W.clientY,li=u(Rn),W.preventDefault()}function H(W){Ci=!0,Ii=W.clientX,mn=u($n),W.preventDefault()}function J(W){Cn&&k(Nn,Math.max(140,Math.min(500,on+W.clientX-pn)),!0),qe&&k(Rn,Math.max(60,Math.min(500,li-(W.clientY-Ft))),!0),Ci&&k($n,Math.max(200,Math.min(700,mn-(W.clientX-Ii))),!0)}function ke(){Cn&&(Cn=!1,localStorage.setItem("she-scripts-sidebar-width",String(u(Nn)))),qe&&(qe=!1,localStorage.setItem("she-scripts-log-height",String(u(Rn)))),Ci&&(Ci=!1,localStorage.setItem("she-scripts-chat-width",String(u($n))))}function Ke(W){(W.ctrlKey||W.metaKey)&&W.key==="s"&&(W.preventDefault(),ft()),W.key==="Escape"&&(k(p,!1),k(s,null))}async function nt(W,oe){const we=await An.show("Save new script as:",{placeholder:"myscript.js",initial:W,confirm:"Create"});if(we)try{await Hc(we,oe),await Nt(),await pe(we,!0)}catch(ce){k(f,ce.message,!0)}}async function at(W){var we,ce;if(u(Mn)&&u(h)){k(Ei,W,!0),await ut();return}if(k(Ei,W,!0),await __(),!u(Sn))return;Hi==null||Hi.dispose(),dn==null||dn.dispose(),Xi==null||Xi.dispose();const oe=((ce=(we=u(rn))==null?void 0:we.model)==null?void 0:ce.getValue())??"";Hi=tr.createModel(oe,"javascript"),dn=tr.createModel(W,"javascript"),Xi=tr.createDiffEditor(u(Sn),{theme:"vs-dark",readOnly:!0,renderSideBySide:!0,automaticLayout:!0,minimap:{enabled:!1},fontSize:13,scrollBeyondLastLine:!1}),Xi.setModel({original:Hi,modified:dn})}zn(()=>{u(h),k(Mn,!1),k(sn,!1)});async function ut(){if(u(Ei)===null||!u(h))return;const W=u(Ei);k(Ei,null);const oe=u(c).find(we=>we.path===u(h));oe!=null&&oe.model&&(vi=!0,oe.model.setValue(W),vi=!1,oe.dirty=!1,oe.savedContent=W);try{await Hc(u(h),W),k(f,""),u(w)?await Vt([u(h)],`update ${u(h)}`):Xe()}catch(we){k(f,we.message,!0)}Et()}function ye(){k(Ei,null),Et()}function Et(){Xi==null||Xi.dispose(),Xi=null,Hi==null||Hi.dispose(),Hi=null,dn==null||dn.dispose(),dn=null}var dt=mG();os("keydown",ad,Ke),os("mousemove",ad,J),os("mouseup",ad,ke);var he=bt(dt);bs(Hg(he,{}),W=>hn=W,()=>hn);var Ct=x(he,2);bs(D7(Ct,{}),W=>An=W,()=>An);var Ze=x(Ct,2);{var Ie=W=>{var oe=PK(),we=bt(oe),ce=x(we,2);let tt;var Tt=C(ce);{var Wt=fi=>{var xi=IK(),Pi=bt(xi),di=x(Pi,2),un=x(di,4),qi=x(un,2);te("click",Pi,()=>ei(u(s).entry.path)),te("click",di,()=>Ut(u(s).entry.path)),te("click",un,()=>Rt(u(s).entry)),te("click",qi,()=>an(u(s).entry)),T(fi,xi)},Fi=fi=>{var xi=EK(),Pi=bt(xi),di=x(Pi,2),un=x(di,2),qi=x(un,2);{var Zn=kn=>{var Ms=DK();te("click",Ms,()=>Kt(u(s).entry)),T(kn,Ms)};$(qi,kn=>{u(_)&&kn(Zn)})}var vs=x(qi,4);te("click",Pi,()=>Ue(u(s).entry.path)),te("click",di,()=>Rt(u(s).entry)),te("click",un,()=>Wi(u(s).entry)),te("click",vs,()=>an(u(s).entry)),T(fi,xi)};$(Tt,fi=>{u(s).entry.type==="dir"?fi(Wt):fi(Fi,-1)})}G(()=>tt=Ko(ce,"",tt,{left:`${u(s).x??""}px`,top:`${u(s).y??""}px`})),te("click",we,pt),te("contextmenu",we,fi=>{fi.preventDefault(),pt()}),T(W,oe)};$(Ze,W=>{u(s)&&W(Ie)})}var le=x(Ze,2);{var _e=W=>{var oe=TK();let we;G(()=>we=Ko(oe,"",we,{left:`${u(At).x??""}px`,top:`${u(At).y-4}px`})),T(W,oe)};$(le,W=>{u(At)&&W(_e)})}var Qe=x(le,2),Bt=C(Qe);let fe;{const W=(we,ce=py,tt)=>{let Tt=t1(()=>KF(tt==null?void 0:tt(),!1));var Wt=Fs(),Fi=bt(Wt);{var fi=Pi=>{var di=NK(),un=C(di);let qi;var Zn=C(un);let vs;var kn=x(Zn,2);let Ms;var Yo=C(kn),cs=x(kn,2);{var oo=Kn=>{var Ir=HD();T(Kn,Ir)},Jo=rt(()=>u(qn).has(ce().path));$(cs,Kn=>{u(Jo)&&Kn(oo)})}var ro=x(cs,2),ao=C(ro),gs=x(ro,2),xl=C(gs),Ho=x(un,2);{var jg=Kn=>{var Ir=MK();_i(Ir,21,()=>ce().children,Ll=>Ll.path,(Ll,Nc)=>{W(Ll,()=>u(Nc),()=>ce().disabled||u(Tt))}),T(Kn,Ir)};$(Ho,Kn=>{u(i)[ce().path]&&ce().children&&Kn(jg)})}G(()=>{qi=$t(un,1,"dir-row svelte-1pyfjii",null,qi,{"dir-selected":u(n)===ce().path,"drag-target":u(a)===ce().path}),Hn(un,"aria-selected",u(n)===ce().path),vs=$t(Zn,1,"chevron svelte-1pyfjii",null,vs,{open:u(i)[ce().path]}),Ms=$t(kn,1,"dir-name svelte-1pyfjii",null,Ms,{lib:ce().lib}),q(Yo,ce().name),cw(ao,ce().lib),cw(xl,ce().disabled)}),os("dragstart",un,Kn=>ti(Kn,ce().path)),os("dragover",un,Kn=>ji(Kn,ce().path)),os("dragleave",un,A),os("drop",un,Kn=>K(Kn,ce().path)),te("contextmenu",un,Kn=>Ye(Kn,ce())),te("click",Zn,()=>O(ce().path)),te("click",kn,()=>{k(n,ce().path,!0),u(i)[ce().path]=!0}),te("keydown",kn,Kn=>Kn.key==="Enter"&&k(n,ce().path,!0)),os("mouseenter",ro,ni),os("mouseleave",ro,Xt),te("change",ao,()=>be(ce().path,!ce().lib)),te("change",xl,()=>j(ce().path,!ce().disabled)),T(Pi,di)},xi=Pi=>{const di=rt(()=>u(Ot).has(ce().path)),un=rt(()=>u(qn).has(ce().path)),qi=rt(()=>u(c).some(ln=>ln.path===ce().path&&ln.dirty)),Zn=rt(()=>(ce().name.split(".").pop()??"txt").toUpperCase()),vs=rt(()=>ce().name.endsWith(".js"));var kn=HK();let Ms;var Yo=C(kn),cs=C(Yo);let oo;var Jo=C(cs);let ro;var ao=C(Jo),gs=x(Jo,2),xl=C(gs),Ho=x(gs,2);{var jg=ln=>{var Ls=HD();T(ln,Ls)};$(Ho,ln=>{u(un)&&ln(jg)})}var Kn=x(Ho);{var Ir=ln=>{var Ls=RK();T(ln,Ls)};$(Kn,ln=>{u(qi)&&ln(Ir)})}var Ll=x(Kn,2);{var Nc=ln=>{var Ls=AK();T(ln,Ls)};$(Ll,ln=>{u(di)&&ln(Nc)})}var Rh=x(cs,2);{var Ug=ln=>{var Ls=OK();let kl;var Oh=C(Ls);G(()=>{kl=$t(Ls,1,"dis-label svelte-1pyfjii",null,kl,{"dis-locked":u(Tt)}),Hn(Ls,"title",u(Tt)?"Disabled by parent directory":"Disable — this script will not be executed"),cw(Oh,ce().disabled),Oh.disabled=u(Tt)}),te("change",Oh,()=>j(ce().path,!ce().disabled)),T(ln,Ls)},Ah=ln=>{var Ls=FK();T(ln,Ls)};$(Rh,ln=>{u(vs)?ln(Ug):ln(Ah,-1)})}G((ln,Ls,kl)=>{Ms=$t(kn,1,"tree-file svelte-1pyfjii",null,Ms,ln),oo=$t(cs,1,"svelte-1pyfjii",null,oo,{lib:ce().lib,dis:ce().disabled,err:u(di)}),ro=$t(Jo,1,`badge badge-${Ls??""}`,"svelte-1pyfjii",ro,{"badge-shelib":ce().lib}),q(ao,kl),q(xl,ce().name)},[()=>({active:u(c).some(ln=>ln.path===ce().path),"active-tab":ce().path===u(h)}),()=>u(Zn).toLowerCase(),()=>se(u(Zn))]),os("dragstart",kn,ln=>ti(ln,ce().path)),te("contextmenu",kn,ln=>Ye(ln,ce())),te("click",cs,()=>Ue(ce().path)),T(Pi,kn)};$(Fi,Pi=>{ce().type==="dir"?Pi(fi):Pi(xi,-1)})}T(we,Wt)};var $e=C(Bt),gt=C($e),Pt=x(gt,2),et=x(Pt,2),ci=x($e,2);{var Jt=we=>{var ce=WK(),tt=C(ce);G(()=>q(tt,u(f))),T(we,ce)};$(ci,we=>{u(f)&&we(Jt)})}var Gn=x(ci,2),$i=C(Gn);let oe;var oi=x($i,2);_i(oi,17,()=>u(t),we=>we.path,(we,ce)=>{W(we,()=>u(ce))});var Gt=x(Gn,2);{var _n=we=>{var ce=UK(),tt=C(ce),Tt=C(tt),Wt=C(Tt),Fi=x(Tt,2),fi=x(tt,2),xi=C(fi);{var Pi=qi=>{var Zn=BK();T(qi,Zn)},di=qi=>{var Zn=zK();T(qi,Zn)},un=qi=>{var Zn=jK(),vs=bt(Zn);_i(vs,17,()=>u(P),Yo=>Yo.hash,(Yo,cs)=>{var oo=VK(),Jo=C(oo),ro=C(Jo),ao=x(Jo,2),gs=C(ao);G((xl,Ho)=>{q(ro,u(cs).subject),q(gs,`${xl??""} · ${Ho??""}`)},[()=>u(cs).hash.slice(0,7),()=>ii(u(cs).date)]),te("click",oo,()=>ge(u(cs))),T(Yo,oo)});var kn=x(vs,2),Ms=C(kn);G(()=>{kn.disabled=u(N),q(Ms,u(N)?"Loading…":"Load more")}),te("click",kn,ui),T(qi,Zn)};$(xi,qi=>{u(N)&&u(P).length===0?qi(Pi):u(P).length===0?qi(di,1):qi(un,-1)})}G(()=>{Hn(Tt,"title",u(D).path),q(Wt,`History: ${u(D).name??""}`)}),te("click",Fi,Q),T(we,ce)};$(Gt,we=>{u(D)&&we(_n)})}G(()=>oe=$t($i,1,"tree-root-drop svelte-1pyfjii",null,oe,{"drag-target":u(a)===""})),te("click",gt,it),te("click",Pt,xt),te("click",et,Nt),os("dragover",$i,we=>ji(we,"")),os("dragleave",$i,A),os("drop",$i,we=>K(we,""))}var ri=x(Bt,2),On=x(ri,2),Yi=C(On);{var Ps=W=>{var oe=KK();_i(oe,21,()=>u(c),we=>we.path,(we,ce)=>{var tt=qK();let Tt;var Wt=C(tt),Fi=C(Wt),fi=x(Wt,2);{var xi=di=>{var un=$K();T(di,un)};$(fi,di=>{u(ce).dirty&&di(xi)})}var Pi=x(fi,2);G(di=>{Tt=$t(tt,1,"tab svelte-1pyfjii",null,Tt,{active:u(ce).path===u(h)}),q(Fi,di)},[()=>u(ce).path.split("/").pop()]),te("click",tt,()=>Ce(u(ce).path)),te("keydown",tt,di=>di.key==="Enter"&&Ce(u(ce).path)),te("click",Pi,di=>{di.stopPropagation(),De(u(ce).path)}),T(we,tt)}),T(W,oe)};$(Yi,W=>{u(c).length>0&&W(Ps)})}var Oo=x(Yi,2),Lr=C(Oo),Aa=C(Lr),kr=x(Lr,2);{var Qr=W=>{var oe=YK(),we=C(oe),ce=C(we),tt=x(we,2);{var Tt=Pi=>{var di=GK(),un=C(di);G(()=>{Hn(di,"title",`${u(_).changes.length??""} uncommitted change(s)`),q(un,`✎${u(_).changes.length??""}`)}),T(Pi,di)};$(tt,Pi=>{u(_).changes.length>0&&Pi(Tt)})}var Wt=x(tt,2);{var Fi=Pi=>{var di=ZK(),un=C(di);G(()=>{Hn(di,"title",`${u(_).ahead??""} commit(s) ahead of upstream`),q(un,`↑${u(_).ahead??""}`)}),T(Pi,di)};$(Wt,Pi=>{u(_).ahead>0&&Pi(Fi)})}var fi=x(Wt,2);{var xi=Pi=>{var di=XK(),un=C(di);G(()=>{Hn(di,"title",`${u(_).behind??""} commit(s) behind upstream`),q(un,`↓${u(_).behind??""}`)}),T(Pi,di)};$(fi,Pi=>{u(_).behind>0&&Pi(xi)})}G(()=>{Hn(we,"title",`Branch: ${u(_).branch??""}`),q(ce,`⎇ ${u(_).branch??""}`)}),T(W,oe)};$(kr,W=>{u(_)&&W(Qr)})}var Cl=x(kr,2),Oa=C(Cl),Ai=C(Oa),Xs=C(Ai),es=x(Ai,2),Ts=x(Oa,2);{var Ph=W=>{var oe=JK(),we=bt(oe),ce=x(we,2),tt=C(ce),Tt=x(tt,2),Wt=x(Tt,2);G(()=>Wt.disabled=!u(_)),te("click",we,()=>k(p,!1)),te("click",tt,()=>{k(p,!1),ft()}),te("click",Tt,()=>{k(p,!1),ue()}),te("click",Wt,ht),T(W,oe)};$(Ts,W=>{u(p)&&W(Ph)})}var Th=x(Cl,2);{var Ec=W=>{var oe=QK();te("click",oe,Pe),T(W,oe)};$(Th,W=>{u(h)&&W(Ec)})}var Xo=x(Th,2);let ea;var $y=x(Oo,2),pm=C($y),Mh=C(pm),mm=C(Mh);bs(mm,W=>zt=W,()=>zt);var Fo=x(mm,2);{var qy=W=>{var oe=eG();T(W,oe)};$(Fo,W=>{u(h)||W(qy)})}var Bg=x(Fo,2);{var ta=W=>{var oe=sG(),we=C(oe),ce=C(we),tt=x(C(ce)),Tt=C(tt),Wt=x(ce,2),Fi=C(Wt),fi=C(Fi),xi=C(fi),Pi=C(xi),di=x(xi,2),un=x(fi,2);{var qi=kn=>{var Ms=nG(),Yo=bt(Ms),cs=x(Yo,2),oo=C(cs);{var Jo=ao=>{var gs=tG();te("click",gs,()=>{k(sn,!1),k(Mn,!0),ut()}),T(ao,gs)},ro=ao=>{var gs=iG();te("click",gs,()=>{k(sn,!1),k(Mn,!1)}),T(ao,gs)};$(oo,ao=>{u(Mn)?ao(ro,-1):ao(Jo)})}te("click",Yo,()=>k(sn,!1)),T(kn,Ms)};$(un,kn=>{u(sn)&&kn(qi)})}var Zn=x(Fi,2),vs=x(we,2);bs(vs,kn=>k(Sn,kn),()=>u(Sn)),G(kn=>{q(Tt,kn),q(Pi,u(Mn)?"Auto-accept ✓":"Accept")},[()=>{var kn;return(kn=u(h))==null?void 0:kn.split("/").pop()}]),te("click",xi,ut),te("click",di,()=>k(sn,!u(sn))),te("click",Zn,ye),T(W,oe)};$(Bg,W=>{u(Ei)!==null&&W(ta)})}var _m=x(Bg,2);{var vm=W=>{var oe=aG(),we=C(oe),ce=C(we),tt=x(C(ce)),Tt=C(tt),Wt=x(tt,2),Fi=C(Wt),fi=x(ce,2),xi=C(fi),Pi=x(we,2);{var di=qi=>{var Zn=oG();T(qi,Zn)},un=qi=>{var Zn=rG();bs(Zn,vs=>k(F,vs),()=>u(F)),T(qi,Zn)};$(Pi,qi=>{u(ve)?qi(di):qi(un,-1)})}G(qi=>{var Zn;q(Tt,qi),q(Fi,(Zn=u(D))==null?void 0:Zn.name)},[()=>u(je).slice(0,7)]),te("click",xi,We),T(W,oe)};$(_m,W=>{u(Le)&&W(vm)})}var Pc=x(Mh,2);let bm,zg;var Vg=C(Pc);{var Ky=W=>{var oe=lG();te("mousedown",oe,Te),T(W,oe)};$(Vg,W=>{u(v)&&W(Ky)})}var ym=x(Vg,2),Tc=C(ym),wm=C(Tc),Sm=x(wm);{var Cm=W=>{var oe=cG(),we=C(oe);G(ce=>q(we,`— ${ce??""}`),[()=>u(h).split("/").pop()]),T(W,oe)};$(Sm,W=>{u(h)&&W(Cm)})}var Nh=x(Tc,2);{var Fa=W=>{var oe=hG(),we=bt(oe);_i(we,21,()=>Ge,Vn,(Fi,fi)=>{var xi=dG(),Pi=C(xi),di={};G(()=>{q(Pi,u(fi)),di!==(di=u(fi))&&(xi.value=(xi.__value=u(fi))??"")}),T(Fi,xi)});var ce=x(we,2),tt=x(ce,2),Tt=C(tt),Wt=x(tt,2);_a(we,()=>u(jt),Fi=>k(jt,Fi)),Ni(ce,()=>u(Qt),Fi=>k(Qt,Fi)),As(Tt,()=>u(Ne),Fi=>k(Ne,Fi)),te("click",Wt,Be),T(W,oe)};$(Nh,W=>{u(v)&&W(Fa)})}var Gy=x(ym,2);{var Mc=W=>{var oe=fG(),we=C(oe);_i(we,17,()=>{var Tt;return(((Tt=u(rn))==null?void 0:Tt.logEntries)??[]).filter(ot)},Tt=>Tt.ts+Tt.msg,(Tt,Wt)=>{var Fi=uG(),fi=C(Fi),xi=C(fi),Pi=x(fi,2),di=C(Pi),un=x(Pi,2),qi=C(un);G((Zn,vs)=>{$t(Fi,1,`log-line ${u(Wt).level??""}`,"svelte-1pyfjii"),q(xi,Zn),q(di,vs),q(qi,u(Wt).msg)},[()=>re(u(Wt).ts),()=>u(Wt).level.toUpperCase()]),T(Tt,Fi)});var ce=x(we,2);{var tt=Tt=>{var Wt=gG();T(Tt,Wt)};$(ce,Tt=>{var Wt;(((Wt=u(rn))==null?void 0:Wt.logEntries.length)??0)===0&&Tt(tt)})}bs(oe,Tt=>k(st,Tt),()=>u(st)),T(W,oe)};$(Gy,W=>{u(v)&&W(Mc)})}var yo=x(pm,2);{var xm=W=>{var oe=pG(),we=bt(oe),ce=x(we,2);let tt;var Tt=C(ce);gK(Tt,{get currentScript(){return u(xn)},onApply:at,onCreateFile:nt,get extraFiles(){return u(ai)},set extraFiles(Wt){k(ai,Wt,!0)}}),G(()=>tt=Ko(ce,"",tt,{width:`${u($n)??""}px`})),te("mousedown",we,H),T(W,oe)};$(yo,W=>{u(nn)&&W(xm)})}G(()=>{var W;fe=Ko(Bt,"",fe,{width:`${u(Nn)??""}px`}),q(Aa,u(h)??"No file selected"),Ai.disabled=!((W=u(rn))!=null&&W.dirty)||u(g),q(Xs,u(g)?"Saving…":"Save"),es.disabled=!u(h),ea=$t(Xo,1,"ai-toggle svelte-1pyfjii",null,ea,{"ai-open":u(nn)}),Hn(Xo,"title",u(nn)?"Close AI assistant":"Open AI assistant"),bm=$t(Pc,1,"log-panel svelte-1pyfjii",null,bm,{collapsed:!u(v)}),zg=Ko(Pc,"",zg,{height:u(v)?`${u(Rn)}px`:"26px"}),q(wm,`${u(v)?"▾":"▸"} Script Log `)}),te("mousedown",ri,St),te("click",Ai,ft),te("click",es,()=>k(p,!u(p))),te("click",Xo,()=>k(nn,!u(nn))),te("click",Tc,Me),T(o,dt),Ao()}Cr(["click","contextmenu","keydown","change","mousedown"]);const HR="she-theme";function vG(){return localStorage.getItem(HR)??"dark"}function bG(o){localStorage.setItem(HR,o);const e=document.documentElement;o==="system"?e.removeAttribute("data-theme"):e.setAttribute("data-theme",o)}var Cf={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 yG=Cf.exports,WD;function wG(){return WD||(WD=1,(function(o,e){(function(t,i){i(e)})(yG,(function(t){var i="1.9.4";function n(l){var d,m,b,I;for(m=1,b=arguments.length;m<b;m++){I=arguments[m];for(d in I)l[d]=I[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,I,E,U;return U=function(){b=!1,I&&(E.apply(m,I),I=!1)},E=function(){b?I=arguments:(l.apply(m,arguments),setTimeout(U,d),b=!0)},E}function g(l,d,m){var b=d[1],I=d[0],E=b-I;return l===b&&m?l:((l-I)%E+E)%E+I}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 w(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 I in l)b.push(encodeURIComponent(m?I.toUpperCase():I)+"="+encodeURIComponent(l[I]));return(!d||d.indexOf("?")===-1?"?":"&")+b.join("&")}var D=/\{ *([\w_ -]+) *\}/g;function P(l,d){return l.replace(D,function(m,b){var I=d[b];if(I===void 0)throw new Error("No value provided for variable "+m);return typeof I=="function"&&(I=I(d)),I})}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 me(l){var d=+new Date,m=Math.max(0,16-(d-X));return X=d+m,window.setTimeout(l,m)}var Le=window.requestAnimationFrame||Y("RequestAnimationFrame")||me,je=window.cancelAnimationFrame||Y("CancelAnimationFrame")||Y("CancelRequestAnimationFrame")||function(l){window.clearTimeout(l)};function ve(l,d,m){if(m&&Le===me)l.call(d);else return Le.call(window,r(l,d))}function st(l){l&&je.call(window,l)}var Ot={__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:w,getParamString:S,template:P,isArray:N,indexOf:V,emptyImageUrl:F,requestFn:Le,cancelFn:je,requestAnimFrame:ve,cancelAnimFrame:st};function yt(){}yt.extend=function(l){var d=function(){w(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 I in this)Object.prototype.hasOwnProperty.call(this,I)&&I!=="prototype"&&I!=="__super__"&&(d[I]=this[I]);return l.statics&&n(d,l.statics),l.includes&&(ai(l.includes),n.apply(null,[b].concat(l.includes))),n(b,l),delete b.statics,delete b.includes,b.options&&(b.options=m.options?s(m.options):{},n(b.options,l.options)),b._initHooks=[],b.callInitHooks=function(){if(!this._initHooksCalled){m.callInitHooks&&m.callInitHooks.call(this),this._initHooksCalled=!0;for(var E=0,U=b._initHooks.length;E<U;E++)b._initHooks[E].call(this)}},d},yt.include=function(l){var d=this.prototype.options;return n(this.prototype,l),l.options&&(this.prototype.options=d,this.mergeOptions(l.options)),this},yt.mergeOptions=function(l){return n(this.prototype.options,l),this},yt.addInitHook=function(l){var d=Array.prototype.slice.call(arguments,1),m=typeof l=="function"?l:function(){this[l].apply(this,d)};return this.prototype._initHooks=this.prototype._initHooks||[],this.prototype._initHooks.push(m),this};function ai(l){if(!(typeof L>"u"||!L||!L.Mixin)){l=N(l)?l:[l];for(var d=0;d<l.length;d++)l[d]===L.Mixin.Events&&console.warn("Deprecated include of L.Mixin.Events: this property will be removed in future releases, please inherit from L.Evented instead.",new Error().stack)}}var jt={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 I=0,E=l.length;I<E;I++)this._on(l[I],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 I=arguments.length===1,E=0,U=l.length;E<U;E++)I?this._off(l[E]):this._off(l[E],d,m)}return this},_on:function(l,d,m,b){if(typeof d!="function"){console.warn("wrong listener type: "+typeof d);return}if(this._listens(l,d,m)===!1){m===this&&(m=void 0);var I={fn:d,ctx:m};b&&(I.once=!0),this._events=this._events||{},this._events[l]=this._events[l]||[],this._events[l].push(I)}},_off:function(l,d,m){var b,I,E;if(this._events&&(b=this._events[l],!!b)){if(arguments.length===1){if(this._firingCount)for(I=0,E=b.length;I<E;I++)b[I].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 ie=b[U];this._firingCount&&(ie.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 I=this._events[l];if(I){this._firingCount=this._firingCount+1||1;for(var E=0,U=I.length;E<U;E++){var ie=I[E],de=ie.fn;ie.once&&this.off(l,de,ie.ctx),de.call(ie.ctx||this,b)}this._firingCount--}}return m&&this._propagateEvent(b),this},listens:function(l,d,m,b){typeof l!="string"&&console.warn('"string" type argument expected');var I=d;typeof d!="function"&&(b=!!d,I=void 0,m=void 0);var E=this._events&&this._events[l];if(E&&E.length&&this._listens(l,I,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 I=0,E=b.length;I<E;I++)if(b[I].fn===d&&b[I].ctx===m)return I;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 I=0,E=l.length;I<E;I++)this._on(l[I],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)}};jt.addEventListener=jt.on,jt.removeEventListener=jt.clearAllEventListeners=jt.off,jt.addOneTimeEventListener=jt.once,jt.fireEvent=jt.fire,jt.hasEventListeners=jt.listens;var Qt=yt.extend(jt);function Ne(l,d,m){this.x=m?Math.round(l):l,this.y=m?Math.round(d):d}var Ge=Math.trunc||function(l){return l>0?Math.floor(l):Math.ceil(l)};Ne.prototype={clone:function(){return new Ne(this.x,this.y)},add:function(l){return this.clone()._add(Re(l))},_add:function(l){return this.x+=l.x,this.y+=l.y,this},subtract:function(l){return this.clone()._subtract(Re(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 Ne(this.x*l.x,this.y*l.y)},unscaleBy:function(l){return new Ne(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=Ge(this.x),this.y=Ge(this.y),this},distanceTo:function(l){l=Re(l);var d=l.x-this.x,m=l.y-this.y;return Math.sqrt(d*d+m*m)},equals:function(l){return l=Re(l),l.x===this.x&&l.y===this.y},contains:function(l){return l=Re(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 Re(l,d,m){return l instanceof Ne?l:N(l)?new Ne(l[0],l[1]):l==null?l:typeof l=="object"&&"x"in l&&"y"in l?new Ne(l.x,l.y):new Ne(l,d,m)}function ot(l,d){if(l)for(var m=d?[l,d]:l,b=0,I=m.length;b<I;b++)this.extend(m[b])}ot.prototype={extend:function(l){var d,m;if(!l)return this;if(l instanceof Ne||typeof l[0]=="number"||"x"in l)d=m=Re(l);else if(l=At(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 Re((this.min.x+this.max.x)/2,(this.min.y+this.max.y)/2,l)},getBottomLeft:function(){return Re(this.min.x,this.max.y)},getTopRight:function(){return Re(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 Ne?l=Re(l):l=At(l),l instanceof ot?(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=At(l);var d=this.min,m=this.max,b=l.min,I=l.max,E=I.x>=d.x&&b.x<=m.x,U=I.y>=d.y&&b.y<=m.y;return E&&U},overlaps:function(l){l=At(l);var d=this.min,m=this.max,b=l.min,I=l.max,E=I.x>d.x&&b.x<m.x,U=I.y>d.y&&b.y<m.y;return E&&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,I=Math.abs(d.y-m.y)*l;return At(Re(d.x-b,d.y-I),Re(m.x+b,m.y+I))},equals:function(l){return l?(l=At(l),this.min.equals(l.getTopLeft())&&this.max.equals(l.getBottomRight())):!1}};function At(l,d){return!l||l instanceof ot?l:new ot(l,d)}function ni(l,d){if(l)for(var m=d?[l,d]:l,b=0,I=m.length;b<I;b++)this.extend(m[b])}ni.prototype={extend:function(l){var d=this._southWest,m=this._northEast,b,I;if(l instanceof zt)b=l,I=l;else if(l instanceof ni){if(b=l._southWest,I=l._northEast,!b||!I)return this}else return l?this.extend(vt(l)||Xt(l)):this;return!d&&!m?(this._southWest=new zt(b.lat,b.lng),this._northEast=new zt(I.lat,I.lng)):(d.lat=Math.min(b.lat,d.lat),d.lng=Math.min(b.lng,d.lng),m.lat=Math.max(I.lat,m.lat),m.lng=Math.max(I.lng,m.lng)),this},pad:function(l){var d=this._southWest,m=this._northEast,b=Math.abs(d.lat-m.lat)*l,I=Math.abs(d.lng-m.lng)*l;return new ni(new zt(d.lat-b,d.lng-I),new zt(m.lat+b,m.lng+I))},getCenter:function(){return new zt((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 zt(this.getNorth(),this.getWest())},getSouthEast:function(){return new zt(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 zt||"lat"in l?l=vt(l):l=Xt(l);var d=this._southWest,m=this._northEast,b,I;return l instanceof ni?(b=l.getSouthWest(),I=l.getNorthEast()):b=I=l,b.lat>=d.lat&&I.lat<=m.lat&&b.lng>=d.lng&&I.lng<=m.lng},intersects:function(l){l=Xt(l);var d=this._southWest,m=this._northEast,b=l.getSouthWest(),I=l.getNorthEast(),E=I.lat>=d.lat&&b.lat<=m.lat,U=I.lng>=d.lng&&b.lng<=m.lng;return E&&U},overlaps:function(l){l=Xt(l);var d=this._southWest,m=this._northEast,b=l.getSouthWest(),I=l.getNorthEast(),E=I.lat>d.lat&&b.lat<m.lat,U=I.lng>d.lng&&b.lng<m.lng;return E&&U},toBBoxString:function(){return[this.getWest(),this.getSouth(),this.getEast(),this.getNorth()].join(",")},equals:function(l,d){return l?(l=Xt(l),this._southWest.equals(l.getSouthWest(),d)&&this._northEast.equals(l.getNorthEast(),d)):!1},isValid:function(){return!!(this._southWest&&this._northEast)}};function Xt(l,d){return l instanceof ni?l:new ni(l,d)}function zt(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)}zt.prototype={equals:function(l,d){if(!l)return!1;l=vt(l);var m=Math.max(Math.abs(this.lat-l.lat),Math.abs(this.lng-l.lng));return m<=(d===void 0?1e-9:d)},toString:function(l){return"LatLng("+p(this.lat,l)+", "+p(this.lng,l)+")"},distanceTo:function(l){return vi.distance(this,vt(l))},wrap:function(){return vi.wrapLatLng(this)},toBounds:function(l){var d=180*l/40075017,m=d/Math.cos(Math.PI/180*this.lat);return Xt([this.lat-d,this.lng-m],[this.lat+d,this.lng+m])},clone:function(){return new zt(this.lat,this.lng,this.alt)}};function vt(l,d,m){return l instanceof zt?l:N(l)&&typeof l[0]!="object"?l.length===3?new zt(l[0],l[1],l[2]):l.length===2?new zt(l[0],l[1]):null:l==null?l:typeof l=="object"&&"lat"in l?new zt(l.lat,"lng"in l?l.lng:l.lon,l.alt):d===void 0?null:new zt(l,d,m)}var Li={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),I=this.transformation.transform(d.max,m);return new ot(b,I)},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 zt(m,d,b)},wrapLatLngBounds:function(l){var d=l.getCenter(),m=this.wrapLatLng(d),b=d.lat-m.lat,I=d.lng-m.lng;if(b===0&&I===0)return l;var E=l.getSouthWest(),U=l.getNorthEast(),ie=new zt(E.lat-b,E.lng-I),de=new zt(U.lat-b,U.lng-I);return new ni(ie,de)}},vi=n({},Li,{wrapLng:[-180,180],R:6371e3,distance:function(l,d){var m=Math.PI/180,b=l.lat*m,I=d.lat*m,E=Math.sin((d.lat-l.lat)*m/2),U=Math.sin((d.lng-l.lng)*m/2),ie=E*E+Math.cos(b)*Math.cos(I)*U*U,de=2*Math.atan2(Math.sqrt(ie),Math.sqrt(1-ie));return this.R*de}}),Tn=6378137,Gi={R:Tn,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),I=Math.sin(b*d);return new Ne(this.R*l.lng*d,this.R*Math.log((1+I)/(1-I))/2)},unproject:function(l){var d=180/Math.PI;return new zt((2*Math.atan(Math.exp(l.y/this.R))-Math.PI/2)*d,l.x*d/this.R)},bounds:(function(){var l=Tn*Math.PI;return new ot([-l,-l],[l,l])})()};function Bn(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}Bn.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 Ne((l.x/d-this._b)/this._a,(l.y/d-this._d)/this._c)}};function nn(l,d,m,b){return new Bn(l,d,m,b)}var Ei=n({},vi,{code:"EPSG:3857",projection:Gi,transformation:(function(){var l=.5/(Math.PI*Gi.R);return nn(l,.5,-l,.5)})()}),Mn=n({},Ei,{code:"EPSG:900913"});function sn(l){return document.createElementNS("http://www.w3.org/2000/svg",l)}function Sn(l,d){var m="",b,I,E,U,ie,de;for(b=0,E=l.length;b<E;b++){for(ie=l[b],I=0,U=ie.length;I<U;I++)de=ie[I],m+=(I?"L":"M")+de.x+" "+de.y;m+=d?ue.svg?"z":"x":""}return m||"M0 0"}var Xi=document.documentElement.style,Hi="ActiveXObject"in window,dn=Hi&&!document.addEventListener,Nn="msLaunchUri"in navigator&&!("documentMode"in document),Rn=ft("webkit"),$n=ft("android"),Cn=ft("android 2")||ft("android 3"),pn=parseInt(/WebKit\/([0-9]+)|$/.exec(navigator.userAgent)[1],10),on=$n&&ft("Google")&&pn<537&&!("AudioNode"in window),qe=!!window.opera,Ft=!Nn&&ft("chrome"),li=ft("gecko")&&!Rn&&!qe&&!Hi,Ci=!Ft&&ft("safari"),Ii=ft("phantom"),mn="OTransition"in Xi,xn=navigator.platform.indexOf("Win")===0,qn=Hi&&"transition"in Xi,hn="WebKitCSSMatrix"in window&&"m11"in new window.WebKitCSSMatrix&&!Cn,An="MozPerspective"in Xi,rn=!window.L_DISABLE_3D&&(qn||hn||An)&&!mn&&!Ii,Ln=typeof orientation<"u"||ft("mobile"),Ae=Ln&&Rn,Z=Ln&&hn,Fe=!window.PointerEvent&&window.MSPointerEvent,wt=!!(window.PointerEvent||Fe),Dt="ontouchstart"in window||!!window.TouchEvent,Nt=!window.L_NO_TOUCH&&(Dt||wt),O=Ln&&qe,se=Ln&&li,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})(),Ue=!!(document.createElementNS&&sn("svg").createSVGRect),Ce=!!Ue&&(function(){var l=document.createElement("div");return l.innerHTML="<svg/>",(l.firstChild&&l.firstChild.namespaceURI)==="http://www.w3.org/2000/svg"})(),De=!Ue&&(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}})(),Xe=navigator.platform.indexOf("Mac")===0,Vt=navigator.platform.indexOf("Linux")===0;function ft(l){return navigator.userAgent.toLowerCase().indexOf(l)>=0}var ue={ie:Hi,ielt9:dn,edge:Nn,webkit:Rn,android:$n,android23:Cn,androidStock:on,opera:qe,chrome:Ft,gecko:li,safari:Ci,phantom:Ii,opera12:mn,win:xn,ie3d:qn,webkit3d:hn,gecko3d:An,any3d:rn,mobile:Ln,mobileWebkit:Ae,mobileWebkit3d:Z,msPointer:Fe,pointer:wt,touch:Nt,touchNative:Dt,mobileOpera:O,mobileGecko:se,retina:be,passiveEvents:j,canvas:pe,svg:Ue,vml:De,inlineSvg:Ce,mac:Xe,linux:Vt},ht=ue.msPointer?"MSPointerDown":"pointerdown",ii=ue.msPointer?"MSPointerMove":"pointermove",Kt=ue.msPointer?"MSPointerUp":"pointerup",si=ue.msPointer?"MSPointerCancel":"pointercancel",ui={touchstart:ht,touchmove:ii,touchend:Kt,touchcancel:si},Q={touchstart:Oi,touchmove:Rt,touchend:Rt,touchcancel:Rt},ge={},We=!1;function it(l,d,m){return d==="touchstart"&&Ut(),Q[d]?(m=Q[d].bind(this,m),l.addEventListener(ui[d],m,!1),m):(console.warn("wrong event specified:",d),f)}function xt(l,d,m){if(!ui[d]){console.warn("wrong event specified:",d);return}l.removeEventListener(ui[d],m,!1)}function Ye(l){ge[l.pointerId]=l}function pt(l){ge[l.pointerId]&&(ge[l.pointerId]=l)}function ei(l){delete ge[l.pointerId]}function Ut(){We||(document.addEventListener(ht,Ye,!0),document.addEventListener(ii,pt,!0),document.addEventListener(Kt,ei,!0),document.addEventListener(si,ei,!0),We=!0)}function Rt(l,d){if(d.pointerType!==(d.MSPOINTER_TYPE_MOUSE||"mouse")){d.touches=[];for(var m in ge)d.touches.push(ge[m]);d.changedTouches=[d],l(d)}}function Oi(l,d){d.MSPOINTER_TYPE_TOUCH&&d.pointerType===d.MSPOINTER_TYPE_TOUCH&&Yi(d),Rt(l,d)}function an(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 Wi=200;function ti(l,d){l.addEventListener("dblclick",d);var m=0,b;function I(E){if(E.detail!==1){b=E.detail;return}if(!(E.pointerType==="mouse"||E.sourceCapabilities&&!E.sourceCapabilities.firesTouchEvents)){var U=Oo(E);if(!(U.some(function(de){return de instanceof HTMLLabelElement&&de.attributes.for})&&!U.some(function(de){return de instanceof HTMLInputElement||de instanceof HTMLSelectElement}))){var ie=Date.now();ie-m<=Wi?(b++,b===2&&d(an(E))):b=1,m=ie}}}return l.addEventListener("click",I),{dblclick:d,simDblclick:I}}function ji(l,d){l.removeEventListener("dblclick",d.dblclick),l.removeEventListener("click",d.simDblclick)}var A=at(["transform","webkitTransform","OTransform","MozTransform","msTransform"]),K=at(["webkitTransition","transition","OTransition","MozTransition","msTransition"]),Ee=K==="webkitTransition"||K==="OTransition"?K+"End":"transitionend";function Pe(l){return typeof l=="string"?document.getElementById(l):l}function Be(l,d){var m=l.style[d]||l.currentStyle&&l.currentStyle[d];if((!m||m==="auto")&&document.defaultView){var b=document.defaultView.getComputedStyle(l,null);m=b?b[d]:null}return m==="auto"?null:m}function Me(l,d,m){var b=document.createElement(l);return b.className=d||"",m&&m.appendChild(b),b}function re(l){var d=l.parentNode;d&&d.removeChild(l)}function Je(l){for(;l.firstChild;)l.removeChild(l.firstChild)}function Oe(l){var d=l.parentNode;d&&d.lastChild!==l&&d.appendChild(l)}function xe(l){var d=l.parentNode;d&&d.firstChild!==l&&d.insertBefore(l,d.firstChild)}function St(l,d){if(l.classList!==void 0)return l.classList.contains(d);var m=ke(l);return m.length>0&&new RegExp("(^|\\s)"+d+"(\\s|$)").test(m)}function Te(l,d){if(l.classList!==void 0)for(var m=_(d),b=0,I=m.length;b<I;b++)l.classList.add(m[b]);else if(!St(l,d)){var E=ke(l);J(l,(E?E+" ":"")+d)}}function H(l,d){l.classList!==void 0?l.classList.remove(d):J(l,v((" "+ke(l)+" ").replace(" "+d+" "," ")))}function J(l,d){l.className.baseVal===void 0?l.className=d:l.className.baseVal=d}function ke(l){return l.correspondingElement&&(l=l.correspondingElement),l.className.baseVal===void 0?l.className:l.className.baseVal}function Ke(l,d){"opacity"in l.style?l.style.opacity=d:"filter"in l.style&&nt(l,d)}function nt(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 at(l){for(var d=document.documentElement.style,m=0;m<l.length;m++)if(l[m]in d)return l[m];return!1}function ut(l,d,m){var b=d||new Ne(0,0);l.style[A]=(ue.ie3d?"translate("+b.x+"px,"+b.y+"px)":"translate3d("+b.x+"px,"+b.y+"px,0)")+(m?" scale("+m+")":"")}function ye(l,d){l._leaflet_pos=d,ue.any3d?ut(l,d):(l.style.left=d.x+"px",l.style.top=d.y+"px")}function Et(l){return l._leaflet_pos||new Ne(0,0)}var dt,he,Ct;if("onselectstart"in document)dt=function(){et(window,"selectstart",Yi)},he=function(){Jt(window,"selectstart",Yi)};else{var Ze=at(["userSelect","WebkitUserSelect","OUserSelect","MozUserSelect","msUserSelect"]);dt=function(){if(Ze){var l=document.documentElement.style;Ct=l[Ze],l[Ze]="none"}},he=function(){Ze&&(document.documentElement.style[Ze]=Ct,Ct=void 0)}}function Ie(){et(window,"dragstart",Yi)}function le(){Jt(window,"dragstart",Yi)}var _e,Qe;function Bt(l){for(;l.tabIndex===-1;)l=l.parentNode;l.style&&(fe(),_e=l,Qe=l.style.outlineStyle,l.style.outlineStyle="none",et(window,"keydown",fe))}function fe(){_e&&(_e.style.outlineStyle=Qe,_e=void 0,Qe=void 0,Jt(window,"keydown",fe))}function $e(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 Pt={__proto__:null,TRANSFORM:A,TRANSITION:K,TRANSITION_END:Ee,get:Pe,getStyle:Be,create:Me,remove:re,empty:Je,toFront:Oe,toBack:xe,hasClass:St,addClass:Te,removeClass:H,setClass:J,getClass:ke,setOpacity:Ke,testProp:at,setTransform:ut,setPosition:ye,getPosition:Et,get disableTextSelection(){return dt},get enableTextSelection(){return he},disableImageDrag:Ie,enableImageDrag:le,preventOutline:Bt,restoreOutline:fe,getSizedParentNode:$e,getScale:gt};function et(l,d,m,b){if(d&&typeof d=="object")for(var I in d)oi(l,I,d[I],m);else{d=_(d);for(var E=0,U=d.length;E<U;E++)oi(l,d[E],m,b)}return this}var ci="_leaflet_events";function Jt(l,d,m,b){if(arguments.length===1)Gn(l),delete l[ci];else if(d&&typeof d=="object")for(var I in d)Gt(l,I,d[I],m);else if(d=_(d),arguments.length===2)Gn(l,function(ie){return V(d,ie)!==-1});else for(var E=0,U=d.length;E<U;E++)Gt(l,d[E],m,b);return this}function Gn(l,d){for(var m in l[ci]){var b=m.split(/\d/)[0];(!d||d(b))&&Gt(l,b,null,null,m)}}var $i={mouseenter:"mouseover",mouseleave:"mouseout",wheel:!("onwheel"in window)&&"mousewheel"};function oi(l,d,m,b){var I=d+c(m)+(b?"_"+c(b):"");if(l[ci]&&l[ci][I])return this;var E=function(ie){return m.call(b||l,ie||window.event)},U=E;!ue.touchNative&&ue.pointer&&d.indexOf("touch")===0?E=it(l,d,E):ue.touch&&d==="dblclick"?E=ti(l,E):"addEventListener"in l?d==="touchstart"||d==="touchmove"||d==="wheel"||d==="mousewheel"?l.addEventListener($i[d]||d,E,ue.passiveEvents?{passive:!1}:!1):d==="mouseenter"||d==="mouseleave"?(E=function(ie){ie=ie||window.event,Qr(l,ie)&&U(ie)},l.addEventListener($i[d],E,!1)):l.addEventListener(d,U,!1):l.attachEvent("on"+d,E),l[ci]=l[ci]||{},l[ci][I]=E}function Gt(l,d,m,b,I){I=I||d+c(m)+(b?"_"+c(b):"");var E=l[ci]&&l[ci][I];if(!E)return this;!ue.touchNative&&ue.pointer&&d.indexOf("touch")===0?xt(l,d,E):ue.touch&&d==="dblclick"?ji(l,E):"removeEventListener"in l?l.removeEventListener($i[d]||d,E,!1):l.detachEvent("on"+d,E),l[ci][I]=null}function _n(l){return l.stopPropagation?l.stopPropagation():l.originalEvent?l.originalEvent._stopped=!0:l.cancelBubble=!0,this}function ri(l){return oi(l,"wheel",_n),this}function On(l){return et(l,"mousedown touchstart dblclick contextmenu",_n),l._leaflet_disable_click=!0,this}function Yi(l){return l.preventDefault?l.preventDefault():l.returnValue=!1,this}function Ps(l){return Yi(l),_n(l),this}function Oo(l){if(l.composedPath)return l.composedPath();for(var d=[],m=l.target;m;)d.push(m),m=m.parentNode;return d}function Lr(l,d){if(!d)return new Ne(l.clientX,l.clientY);var m=gt(d),b=m.boundingClientRect;return new Ne((l.clientX-b.left)/m.x-d.clientLeft,(l.clientY-b.top)/m.y-d.clientTop)}var Aa=ue.linux&&ue.chrome?window.devicePixelRatio:ue.mac?window.devicePixelRatio*3:window.devicePixelRatio>0?2*window.devicePixelRatio:1;function kr(l){return ue.edge?l.wheelDeltaY/2:l.deltaY&&l.deltaMode===0?-l.deltaY/Aa: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 Qr(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 Cl={__proto__:null,on:et,off:Jt,stopPropagation:_n,disableScrollPropagation:ri,disableClickPropagation:On,preventDefault:Yi,stop:Ps,getPropagationPath:Oo,getMousePosition:Lr,getWheelDelta:kr,isExternalTarget:Qr,addListener:et,removeListener:Jt},Oa=Qt.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=Et(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(),ye(this._el,m),this.fire("step")},_complete:function(){st(this._animId),this._inProgress=!1,this.fire("end")},_easeOut:function(l){return 1-Math.pow(1-l,this._easeOutPower)}}),Ai=Qt.extend({options:{crs:Ei,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=w(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(vt(d.center),d.zoom,{reset:!0}),this.callInitHooks(),this._zoomAnimated=K&&ue.any3d&&!ue.mobileOpera&&this.options.zoomAnimation,this._zoomAnimated&&(this._createAnimProxy(),et(this._proxy,Ee,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(vt(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||(ue.any3d?this.options.zoomDelta:1),this.setZoom(this._zoom+l,d)},zoomOut:function(l,d){return l=l||(ue.any3d?this.options.zoomDelta:1),this.setZoom(this._zoom-l,d)},setZoomAround:function(l,d,m){var b=this.getZoomScale(d),I=this.getSize().divideBy(2),E=l instanceof Ne?l:this.latLngToContainerPoint(l),U=E.subtract(I).multiplyBy(1-1/b),ie=this.containerPointToLatLng(I.add(U));return this.setView(ie,d,{zoom:m})},_getBoundsCenterZoom:function(l,d){d=d||{},l=l.getBounds?l.getBounds():Xt(l);var m=Re(d.paddingTopLeft||d.padding||[0,0]),b=Re(d.paddingBottomRight||d.padding||[0,0]),I=this.getBoundsZoom(l,!1,m.add(b));if(I=typeof d.maxZoom=="number"?Math.min(d.maxZoom,I):I,I===1/0)return{center:l.getCenter(),zoom:I};var E=b.subtract(m).divideBy(2),U=this.project(l.getSouthWest(),I),ie=this.project(l.getNorthEast(),I),de=this.unproject(U.add(ie).divideBy(2).add(E),I);return{center:de,zoom:I}},fitBounds:function(l,d){if(l=Xt(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=Re(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 Oa,this._panAnim.on({step:this._onPanTransitionStep,end:this._onPanTransitionEnd},this)),d.noMoveStart||this.fire("movestart"),d.animate!==!1){Te(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||!ue.any3d)return this.setView(l,d,m);this._stop();var b=this.project(this.getCenter()),I=this.project(l),E=this.getSize(),U=this._zoom;l=vt(l),d=d===void 0?U:d;var ie=Math.max(E.x,E.y),de=ie*this.getZoomScale(U,d),ze=I.distanceTo(b)||1,Ht=1.42,wi=Ht*Ht;function Zi(Ss){var Em=Ss?-1:1,iA=Ss?de:ie,nA=de*de-ie*ie+Em*wi*wi*ze*ze,sA=2*iA*wi*ze,Zy=nA/sA,OL=Math.sqrt(Zy*Zy+1)-Zy,oA=OL<1e-9?-18:Math.log(OL);return oA}function lo(Ss){return(Math.exp(Ss)-Math.exp(-Ss))/2}function Ns(Ss){return(Math.exp(Ss)+Math.exp(-Ss))/2}function Qo(Ss){return lo(Ss)/Ns(Ss)}var wo=Zi(0);function Hh(Ss){return ie*(Ns(wo)/Ns(wo+Ht*Ss))}function JR(Ss){return ie*(Ns(wo)*Qo(wo+Ht*Ss)-lo(wo))/wi}function QR(Ss){return 1-Math.pow(1-Ss,1.5)}var eA=Date.now(),RL=(Zi(1)-wo)/Ht,tA=m.duration?1e3*m.duration:1e3*RL*.8;function AL(){var Ss=(Date.now()-eA)/tA,Em=QR(Ss)*RL;Ss<=1?(this._flyToFrame=ve(AL,this),this._move(this.unproject(b.add(I.subtract(b).multiplyBy(JR(Em)/ze)),U),this.getScaleZoom(ie/Hh(Em),U),{flyTo:!0})):this._move(l,d)._moveEnd(!0)}return this._moveStart(!0,m.noMoveStart),AL.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=Xt(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,Xt(l));return m.equals(b)||this.panTo(b,d),this._enforcingBounds=!1,this},panInside:function(l,d){d=d||{};var m=Re(d.paddingTopLeft||d.padding||[0,0]),b=Re(d.paddingBottomRight||d.padding||[0,0]),I=this.project(this.getCenter()),E=this.project(l),U=this.getPixelBounds(),ie=At([U.min.add(m),U.max.subtract(b)]),de=ie.getSize();if(!ie.contains(E)){this._enforcingBounds=!0;var ze=E.subtract(ie.getCenter()),Ht=ie.extend(E).getSize().subtract(de);I.x+=ze.x<0?-Ht.x:Ht.x,I.y+=ze.y<0?-Ht.y:Ht.y,this.panTo(this.unproject(I),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(),I=m.divideBy(2).round(),E=b.subtract(I);return!E.x&&!E.y?this:(l.animate&&l.pan?this.panBy(E):(l.pan&&this._rawPanBy(E),this.fire("move"),l.debounceMoveend?(clearTimeout(this._sizeTimer),this._sizeTimer=setTimeout(r(this.fire,this,"moveend"),200)):this.fire("moveend")),this.fire("resize",{oldSize:d,newSize:m}))},stop:function(){return this.setZoom(this._limitZoom(this._zoom)),this.options.zoomSnap||this.fire("viewreset"),this._stop()},locate:function(l){if(l=this._locateOptions=n({timeout:1e4,watch:!1},l),!("geolocation"in navigator))return this._handleGeolocationError({code:0,message:"Geolocation not supported."}),this;var d=r(this._handleGeolocationResponse,this),m=r(this._handleGeolocationError,this);return l.watch?this._locationWatchId=navigator.geolocation.watchPosition(d,m,l):navigator.geolocation.getCurrentPosition(d,m,l),this},stopLocate:function(){return navigator.geolocation&&navigator.geolocation.clearWatch&&navigator.geolocation.clearWatch(this._locationWatchId),this._locateOptions&&(this._locateOptions.setView=!1),this},_handleGeolocationError:function(l){if(this._container._leaflet_id){var d=l.code,m=l.message||(d===1?"permission denied":d===2?"position unavailable":"timeout");this._locateOptions.setView&&!this._loaded&&this.fitWorld(),this.fire("locationerror",{code:d,message:"Geolocation error: "+m+"."})}},_handleGeolocationResponse:function(l){if(this._container._leaflet_id){var d=l.coords.latitude,m=l.coords.longitude,b=new zt(d,m),I=b.toBounds(l.coords.accuracy*2),E=this._locateOptions;if(E.setView){var U=this.getBoundsZoom(I);this.setView(b,E.maxZoom?Math.min(U,E.maxZoom):U)}var ie={latlng:b,bounds:I,timestamp:l.timestamp};for(var de in l.coords)typeof l.coords[de]=="number"&&(ie[de]=l.coords[de]);this.fire("locationfound",ie)}},addHandler:function(l,d){if(!d)return this;var m=this[l]=new d(this);return this._handlers.push(m),this.options[l]&&m.enable(),this},remove:function(){if(this._initEvents(!0),this.options.maxBounds&&this.off("moveend",this._panInsideMaxBounds),this._containerId!==this._container._leaflet_id)throw new Error("Map container is being reused by another instance");try{delete this._container._leaflet_id,delete this._containerId}catch{this._container._leaflet_id=void 0,this._containerId=void 0}this._locationWatchId!==void 0&&this.stopLocate(),this._stop(),re(this._mapPane),this._clearControlPos&&this._clearControlPos(),this._resizeRequest&&(st(this._resizeRequest),this._resizeRequest=null),this._clearHandlers(),this._loaded&&this.fire("unload");var l;for(l in this._layers)this._layers[l].remove();for(l in this._panes)re(this._panes[l]);return this._layers=[],this._panes=[],delete this._mapPane,delete this._renderer,this},createPane:function(l,d){var m="leaflet-pane"+(l?" leaflet-"+l.replace("Pane","")+"-pane":""),b=Me("div",m,d||this._mapPane);return l&&(this._panes[l]=b),b},getCenter:function(){return this._checkIfLoaded(),this._lastCenter&&!this._moved()?this._lastCenter.clone():this.layerPointToLatLng(this._getCenterLayerPoint())},getZoom:function(){return this._zoom},getBounds:function(){var l=this.getPixelBounds(),d=this.unproject(l.getBottomLeft()),m=this.unproject(l.getTopRight());return new ni(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=Xt(l),m=Re(m||[0,0]);var b=this.getZoom()||0,I=this.getMinZoom(),E=this.getMaxZoom(),U=l.getNorthWest(),ie=l.getSouthEast(),de=this.getSize().subtract(m),ze=At(this.project(ie,b),this.project(U,b)).getSize(),Ht=ue.any3d?this.options.zoomSnap:1,wi=de.x/ze.x,Zi=de.y/ze.y,lo=d?Math.max(wi,Zi):Math.min(wi,Zi);return b=this.getScaleZoom(lo,b),Ht&&(b=Math.round(b/(Ht/100))*(Ht/100),b=d?Math.ceil(b/Ht)*Ht:Math.floor(b/Ht)*Ht),Math.max(I,Math.min(E,b))},getSize:function(){return(!this._size||this._sizeChanged)&&(this._size=new Ne(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 ot(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(vt(l),d)},unproject:function(l,d){return d=d===void 0?this._zoom:d,this.options.crs.pointToLatLng(Re(l),d)},layerPointToLatLng:function(l){var d=Re(l).add(this.getPixelOrigin());return this.unproject(d)},latLngToLayerPoint:function(l){var d=this.project(vt(l))._round();return d._subtract(this.getPixelOrigin())},wrapLatLng:function(l){return this.options.crs.wrapLatLng(vt(l))},wrapLatLngBounds:function(l){return this.options.crs.wrapLatLngBounds(Xt(l))},distance:function(l,d){return this.options.crs.distance(vt(l),vt(d))},containerPointToLayerPoint:function(l){return Re(l).subtract(this._getMapPanePos())},layerPointToContainerPoint:function(l){return Re(l).add(this._getMapPanePos())},containerPointToLatLng:function(l){var d=this.containerPointToLayerPoint(Re(l));return this.layerPointToLatLng(d)},latLngToContainerPoint:function(l){return this.layerPointToContainerPoint(this.latLngToLayerPoint(vt(l)))},mouseEventToContainerPoint:function(l){return Lr(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=Pe(l);if(d){if(d._leaflet_id)throw new Error("Map container is already initialized.")}else throw new Error("Map container not found.");et(d,"scroll",this._onScroll,this),this._containerId=c(d)},_initLayout:function(){var l=this._container;this._fadeAnimated=this.options.fadeAnimation&&ue.any3d,Te(l,"leaflet-container"+(ue.touch?" leaflet-touch":"")+(ue.retina?" leaflet-retina":"")+(ue.ielt9?" leaflet-oldie":"")+(ue.safari?" leaflet-safari":"")+(this._fadeAnimated?" leaflet-fade-anim":""));var d=Be(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),ye(this._mapPane,new Ne(0,0)),this.createPane("tilePane"),this.createPane("overlayPane"),this.createPane("shadowPane"),this.createPane("markerPane"),this.createPane("tooltipPane"),this.createPane("popupPane"),this.options.markerZoomAnimation||(Te(l.markerPane,"leaflet-zoom-hide"),Te(l.shadowPane,"leaflet-zoom-hide"))},_resetView:function(l,d,m){ye(this._mapPane,new Ne(0,0));var b=!this._loaded;this._loaded=!0,d=this._limitZoom(d),this.fire("viewprereset");var I=this._zoom!==d;this._moveStart(I,m)._move(l,d)._moveEnd(I),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 I=this._zoom!==d;return this._zoom=d,this._lastCenter=l,this._pixelOrigin=this._getNewPixelOrigin(l),b?m&&m.pinch&&this.fire("zoom",m):((I||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 st(this._flyToFrame),this._panAnim&&this._panAnim.stop(),this},_rawPanBy:function(l){ye(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:et;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),ue.any3d&&this.options.transform3DLimit&&(l?this.off:this.on).call(this,"moveend",this._onMoveEnd)},_onResize:function(){st(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,I=d==="mouseout"||d==="mouseover",E=l.target||l.srcElement,U=!1;E;){if(b=this._targets[c(E)],b&&(d==="click"||d==="preclick")&&this._draggableMoved(b)){U=!0;break}if(b&&b.listens(d,!0)&&(I&&!Qr(E,l)||(m.push(b),I))||E===this._container)break;E=E.parentNode}return!m.length&&!U&&!I&&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"&&Bt(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 I=this._findEventTargets(l,d);if(m){for(var E=[],U=0;U<m.length;U++)m[U].listens(d,!0)&&E.push(m[U]);I=E.concat(I)}if(I.length){d==="contextmenu"&&Yi(l);var ie=I[0],de={originalEvent:l};if(l.type!=="keypress"&&l.type!=="keydown"&&l.type!=="keyup"){var ze=ie.getLatLng&&(!ie._radius||ie._radius<=10);de.containerPoint=ze?this.latLngToContainerPoint(ie.getLatLng()):this.mouseEventToContainerPoint(l),de.layerPoint=this.containerPointToLayerPoint(de.containerPoint),de.latlng=ze?ie.getLatLng():this.layerPointToLatLng(de.layerPoint)}for(U=0;U<I.length;U++)if(I[U].fire(d,de,!0),de.originalEvent._stopped||I[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 Et(this._mapPane)||new Ne(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 At([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),I=this.getSize().divideBy(2),E=new ot(b.subtract(I),b.add(I)),U=this._getBoundsOffset(E,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 ot(m.min.add(l),m.max.add(l));return l.add(this._getBoundsOffset(b,d))},_getBoundsOffset:function(l,d,m){var b=At(this.project(d.getNorthEast(),m),this.project(d.getSouthWest(),m)),I=b.min.subtract(l.min),E=b.max.subtract(l.max),U=this._rebound(I.x,-E.x),ie=this._rebound(I.y,-E.y);return new Ne(U,ie)},_rebound:function(l,d){return l+d>0?Math.round(l-d)/2:Math.max(0,Math.ceil(l))-Math.max(0,Math.floor(d))},_limitZoom:function(l){var d=this.getMinZoom(),m=this.getMaxZoom(),b=ue.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=Me("div","leaflet-proxy leaflet-zoom-animated");this._panes.mapPane.appendChild(l),this.on("zoomanim",function(d){var m=A,b=this._proxy.style[m];ut(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(){re(this._proxy),this.off("load moveend",this._animMoveEnd,this),delete this._proxy},_animMoveEnd:function(){var l=this.getCenter(),d=this.getZoom();ut(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),I=this._getCenterOffset(l)._divideBy(1-1/b);return m.animate!==!0&&!this.getSize().contains(I)?!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,Te(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 Xs(l,d){return new Ai(l,d)}var es=yt.extend({options:{position:"topright"},initialize:function(l){w(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 Te(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?(re(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()}}),Ts=function(l){return new es(l)};Ai.include({addControl:function(l){return l.addTo(this),this},removeControl:function(l){return l.remove(),this},_initControlPos:function(){var l=this._controlCorners={},d="leaflet-",m=this._controlContainer=Me("div",d+"control-container",this._container);function b(I,E){var U=d+I+" "+d+E;l[I+E]=Me("div",U,m)}b("top","left"),b("top","right"),b("bottom","left"),b("bottom","right")},_clearControlPos:function(){for(var l in this._controlCorners)re(this._controlCorners[l]);re(this._controlContainer),delete this._controlCorners,delete this._controlContainer}});var Ph=es.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){w(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 es.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(){Te(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?(Te(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=Me("div",l),m=this.options.collapsed;d.setAttribute("aria-haspopup",!0),On(d),ri(d);var b=this._section=Me("section",l+"-list");m&&(this._map.on("click",this.collapse,this),et(d,{mouseenter:this._expandSafely,mouseleave:this.collapse},this));var I=this._layersLink=Me("a",l+"-toggle",d);I.href="#",I.title="Layers",I.setAttribute("role","button"),et(I,{keydown:function(E){E.keyCode===13&&this._expandSafely()},click:function(E){Yi(E),this._expandSafely()}},this),m||this.expand(),this._baseLayersList=Me("div",l+"-base",b),this._separator=Me("div",l+"-separator",b),this._overlaysList=Me("div",l+"-overlays",b),d.appendChild(b)},_getLayer:function(l){for(var d=0;d<this._layers.length;d++)if(this._layers[d]&&c(this._layers[d].layer)===l)return this._layers[d]},_addLayer:function(l,d,m){this._map&&l.on("add remove",this._onLayerChange,this),this._layers.push({layer:l,name:d,overlay:m}),this.options.sortLayers&&this._layers.sort(r(function(b,I){return this.options.sortFunction(b.layer,I.layer,b.name,I.name)},this)),this.options.autoZIndex&&l.setZIndex&&(this._lastZIndex++,l.setZIndex(this._lastZIndex)),this._expandIfNotCollapsed()},_update:function(){if(!this._container)return this;Je(this._baseLayersList),Je(this._overlaysList),this._layerControlInputs=[];var l,d,m,b,I=0;for(m=0;m<this._layers.length;m++)b=this._layers[m],this._addItem(b),d=d||b.overlay,l=l||!b.overlay,I+=b.overlay?0:1;return this.options.hideSingleBase&&(l=l&&I>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),et(b,"click",this._onInputClick,this);var I=document.createElement("span");I.innerHTML=" "+l.name;var E=document.createElement("span");d.appendChild(E),E.appendChild(b),E.appendChild(I);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=[],I=[];this._handlingClick=!0;for(var E=l.length-1;E>=0;E--)d=l[E],m=this._getLayer(d.layerId).layer,d.checked?b.push(m):d.checked||I.push(m);for(E=0;E<I.length;E++)this._map.hasLayer(I[E])&&this._map.removeLayer(I[E]);for(E=0;E<b.length;E++)this._map.hasLayer(b[E])||this._map.addLayer(b[E]);this._handlingClick=!1,this._refocusOnMap()}},_checkDisabledLayers:function(){for(var l=this._layerControlInputs,d,m,b=this._map.getZoom(),I=l.length-1;I>=0;I--)d=l[I],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,et(l,"click",Yi),this.expand();var d=this;setTimeout(function(){Jt(l,"click",Yi),d._preventClick=!1})}}),Th=function(l,d,m){return new Ph(l,d,m)},Ec=es.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=Me("div",d+" leaflet-bar"),b=this.options;return this._zoomInButton=this._createButton(b.zoomInText,b.zoomInTitle,d+"-in",m,this._zoomIn),this._zoomOutButton=this._createButton(b.zoomOutText,b.zoomOutTitle,d+"-out",m,this._zoomOut),this._updateDisabled(),l.on("zoomend zoomlevelschange",this._updateDisabled,this),m},onRemove:function(l){l.off("zoomend zoomlevelschange",this._updateDisabled,this)},disable:function(){return this._disabled=!0,this._updateDisabled(),this},enable:function(){return this._disabled=!1,this._updateDisabled(),this},_zoomIn:function(l){!this._disabled&&this._map._zoom<this._map.getMaxZoom()&&this._map.zoomIn(this._map.options.zoomDelta*(l.shiftKey?3:1))},_zoomOut:function(l){!this._disabled&&this._map._zoom>this._map.getMinZoom()&&this._map.zoomOut(this._map.options.zoomDelta*(l.shiftKey?3:1))},_createButton:function(l,d,m,b,I){var E=Me("a",m,b);return E.innerHTML=l,E.href="#",E.title=d,E.setAttribute("role","button"),E.setAttribute("aria-label",d),On(E),et(E,"click",Ps),et(E,"click",I,this),et(E,"click",this._refocusOnMap,this),E},_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())&&(Te(this._zoomOutButton,d),this._zoomOutButton.setAttribute("aria-disabled","true")),(this._disabled||l._zoom===l.getMaxZoom())&&(Te(this._zoomInButton,d),this._zoomInButton.setAttribute("aria-disabled","true"))}});Ai.mergeOptions({zoomControl:!0}),Ai.addInitHook(function(){this.options.zoomControl&&(this.zoomControl=new Ec,this.addControl(this.zoomControl))});var Xo=function(l){return new Ec(l)},ea=es.extend({options:{position:"bottomleft",maxWidth:100,metric:!0,imperial:!0},onAdd:function(l){var d="leaflet-control-scale",m=Me("div",d),b=this.options;return this._addScales(b,d+"-line",m),l.on(b.updateWhenIdle?"moveend":"move",this._update,this),l.whenReady(this._update,this),m},onRemove:function(l){l.off(this.options.updateWhenIdle?"moveend":"move",this._update,this)},_addScales:function(l,d,m){l.metric&&(this._mScale=Me("div",d,m)),l.imperial&&(this._iScale=Me("div",d,m))},_update:function(){var l=this._map,d=l.getSize().y/2,m=l.distance(l.containerPointToLatLng([0,d]),l.containerPointToLatLng([this.options.maxWidth,d]));this._updateScales(m)},_updateScales:function(l){this.options.metric&&l&&this._updateMetric(l),this.options.imperial&&l&&this._updateImperial(l)},_updateMetric:function(l){var d=this._getRoundNum(l),m=d<1e3?d+" m":d/1e3+" km";this._updateScale(this._mScale,m,d/l)},_updateImperial:function(l){var d=l*3.2808399,m,b,I;d>5280?(m=d/5280,b=this._getRoundNum(m),this._updateScale(this._iScale,b+" mi",b/m)):(I=this._getRoundNum(d),this._updateScale(this._iScale,I+" ft",I/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}}),$y=function(l){return new ea(l)},pm='<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>',Mh=es.extend({options:{position:"bottomright",prefix:'<a href="https://leafletjs.com" title="A JavaScript library for interactive maps">'+(ue.inlineSvg?pm+" ":"")+"Leaflet</a>"},initialize:function(l){w(this,l),this._attributions={}},onAdd:function(l){l.attributionControl=this,this._container=Me("div","leaflet-control-attribution"),On(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> ')}}});Ai.mergeOptions({attributionControl:!0}),Ai.addInitHook(function(){this.options.attributionControl&&new Mh().addTo(this)});var mm=function(l){return new Mh(l)};es.Layers=Ph,es.Zoom=Ec,es.Scale=ea,es.Attribution=Mh,Ts.layers=Th,Ts.zoom=Xo,Ts.scale=$y,Ts.attribution=mm;var Fo=yt.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}});Fo.addTo=function(l,d){return l.addHandler(d,this),this};var qy={Events:jt},Bg=ue.touch?"touchstart mousedown":"mousedown",ta=Qt.extend({options:{clickTolerance:3},initialize:function(l,d,m,b){w(this,b),this._element=l,this._dragStartTarget=d||l,this._preventOutline=m},enable:function(){this._enabled||(et(this._dragStartTarget,Bg,this._onDown,this),this._enabled=!0)},disable:function(){this._enabled&&(ta._dragging===this&&this.finishDrag(!0),Jt(this._dragStartTarget,Bg,this._onDown,this),this._enabled=!1,this._moved=!1)},_onDown:function(l){if(this._enabled&&(this._moved=!1,!St(this._element,"leaflet-zoom-anim"))){if(l.touches&&l.touches.length!==1){ta._dragging===this&&this.finishDrag();return}if(!(ta._dragging||l.shiftKey||l.which!==1&&l.button!==1&&!l.touches)&&(ta._dragging=this,this._preventOutline&&Bt(this._element),Ie(),dt(),!this._moving)){this.fire("down");var d=l.touches?l.touches[0]:l,m=$e(this._element);this._startPoint=new Ne(d.clientX,d.clientY),this._startPos=Et(this._element),this._parentScale=gt(m);var b=l.type==="mousedown";et(document,b?"mousemove":"touchmove",this._onMove,this),et(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 Ne(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,Yi(l),this._moved||(this.fire("dragstart"),this._moved=!0,Te(document.body,"leaflet-dragging"),this._lastTarget=l.target||l.srcElement,window.SVGElementInstance&&this._lastTarget instanceof window.SVGElementInstance&&(this._lastTarget=this._lastTarget.correspondingUseElement),Te(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),ye(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,ta._dragging=!1,d&&this.fire("dragend",{noInertia:l,distance:this._newPos.distanceTo(this._startPos)})}});function _m(l,d,m){var b,I=[1,4,2,8],E,U,ie,de,ze,Ht,wi,Zi;for(E=0,Ht=l.length;E<Ht;E++)l[E]._code=Fa(l[E],d);for(ie=0;ie<4;ie++){for(wi=I[ie],b=[],E=0,Ht=l.length,U=Ht-1;E<Ht;U=E++)de=l[E],ze=l[U],de._code&wi?ze._code&wi||(Zi=Nh(ze,de,wi,d,m),Zi._code=Fa(Zi,d),b.push(Zi)):(ze._code&wi&&(Zi=Nh(ze,de,wi,d,m),Zi._code=Fa(Zi,d),b.push(Zi)),b.push(de));l=b}return l}function vm(l,d){var m,b,I,E,U,ie,de,ze,Ht;if(!l||l.length===0)throw new Error("latlngs not passed");yo(l)||(console.warn("latlngs are not flat! Only the first ring will be used"),l=l[0]);var wi=vt([0,0]),Zi=Xt(l),lo=Zi.getNorthWest().distanceTo(Zi.getSouthWest())*Zi.getNorthEast().distanceTo(Zi.getNorthWest());lo<1700&&(wi=Pc(l));var Ns=l.length,Qo=[];for(m=0;m<Ns;m++){var wo=vt(l[m]);Qo.push(d.project(vt([wo.lat-wi.lat,wo.lng-wi.lng])))}for(ie=de=ze=0,m=0,b=Ns-1;m<Ns;b=m++)I=Qo[m],E=Qo[b],U=I.y*E.x-E.y*I.x,de+=(I.x+E.x)*U,ze+=(I.y+E.y)*U,ie+=U*3;ie===0?Ht=Qo[0]:Ht=[de/ie,ze/ie];var Hh=d.unproject(Re(Ht));return vt([Hh.lat+wi.lat,Hh.lng+wi.lng])}function Pc(l){for(var d=0,m=0,b=0,I=0;I<l.length;I++){var E=vt(l[I]);d+=E.lat,m+=E.lng,b++}return vt([d/b,m/b])}var bm={__proto__:null,clipPolygon:_m,polygonCenter:vm,centroid:Pc};function zg(l,d){if(!d||!l.length)return l.slice();var m=d*d;return l=wm(l,m),l=ym(l,m),l}function Vg(l,d,m){return Math.sqrt(Mc(l,d,m,!0))}function Ky(l,d,m){return Mc(l,d,m)}function ym(l,d){var m=l.length,b=typeof Uint8Array<"u"?Uint8Array:Array,I=new b(m);I[0]=I[m-1]=1,Tc(l,I,d,0,m-1);var E,U=[];for(E=0;E<m;E++)I[E]&&U.push(l[E]);return U}function Tc(l,d,m,b,I){var E=0,U,ie,de;for(ie=b+1;ie<=I-1;ie++)de=Mc(l[ie],l[b],l[I],!0),de>E&&(U=ie,E=de);E>m&&(d[U]=1,Tc(l,d,m,b,U),Tc(l,d,m,U,I))}function wm(l,d){for(var m=[l[0]],b=1,I=0,E=l.length;b<E;b++)Gy(l[b],l[I])>d&&(m.push(l[b]),I=b);return I<E-1&&m.push(l[E-1]),m}var Sm;function Cm(l,d,m,b,I){var E=b?Sm:Fa(l,m),U=Fa(d,m),ie,de,ze;for(Sm=U;;){if(!(E|U))return[l,d];if(E&U)return!1;ie=E||U,de=Nh(l,d,ie,m,I),ze=Fa(de,m),ie===E?(l=de,E=ze):(d=de,U=ze)}}function Nh(l,d,m,b,I){var E=d.x-l.x,U=d.y-l.y,ie=b.min,de=b.max,ze,Ht;return m&8?(ze=l.x+E*(de.y-l.y)/U,Ht=de.y):m&4?(ze=l.x+E*(ie.y-l.y)/U,Ht=ie.y):m&2?(ze=de.x,Ht=l.y+U*(de.x-l.x)/E):m&1&&(ze=ie.x,Ht=l.y+U*(ie.x-l.x)/E),new Ne(ze,Ht,I)}function Fa(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 Gy(l,d){var m=d.x-l.x,b=d.y-l.y;return m*m+b*b}function Mc(l,d,m,b){var I=d.x,E=d.y,U=m.x-I,ie=m.y-E,de=U*U+ie*ie,ze;return de>0&&(ze=((l.x-I)*U+(l.y-E)*ie)/de,ze>1?(I=m.x,E=m.y):ze>0&&(I+=U*ze,E+=ie*ze)),U=l.x-I,ie=l.y-E,b?U*U+ie*ie:new Ne(I,E)}function yo(l){return!N(l[0])||typeof l[0][0]!="object"&&typeof l[0][0]<"u"}function xm(l){return console.warn("Deprecated use of _flat, please use L.LineUtil.isFlat instead."),yo(l)}function W(l,d){var m,b,I,E,U,ie,de,ze;if(!l||l.length===0)throw new Error("latlngs not passed");yo(l)||(console.warn("latlngs are not flat! Only the first ring will be used"),l=l[0]);var Ht=vt([0,0]),wi=Xt(l),Zi=wi.getNorthWest().distanceTo(wi.getSouthWest())*wi.getNorthEast().distanceTo(wi.getNorthWest());Zi<1700&&(Ht=Pc(l));var lo=l.length,Ns=[];for(m=0;m<lo;m++){var Qo=vt(l[m]);Ns.push(d.project(vt([Qo.lat-Ht.lat,Qo.lng-Ht.lng])))}for(m=0,b=0;m<lo-1;m++)b+=Ns[m].distanceTo(Ns[m+1])/2;if(b===0)ze=Ns[0];else for(m=0,E=0;m<lo-1;m++)if(U=Ns[m],ie=Ns[m+1],I=U.distanceTo(ie),E+=I,E>b){de=(E-b)/I,ze=[ie.x-de*(ie.x-U.x),ie.y-de*(ie.y-U.y)];break}var wo=d.unproject(Re(ze));return vt([wo.lat+Ht.lat,wo.lng+Ht.lng])}var oe={__proto__:null,simplify:zg,pointToSegmentDistance:Vg,closestPointOnSegment:Ky,clipSegment:Cm,_getEdgeIntersection:Nh,_getBitCode:Fa,_sqClosestPointOnSegment:Mc,isFlat:yo,_flat:xm,polylineCenter:W},we={project:function(l){return new Ne(l.lng,l.lat)},unproject:function(l){return new zt(l.y,l.x)},bounds:new ot([-180,-90],[180,90])},ce={R:6378137,R_MINOR:6356752314245179e-9,bounds:new ot([-2003750834279e-5,-1549657073972e-5],[2003750834279e-5,1876465623138e-5]),project:function(l){var d=Math.PI/180,m=this.R,b=l.lat*d,I=this.R_MINOR/m,E=Math.sqrt(1-I*I),U=E*Math.sin(b),ie=Math.tan(Math.PI/4-b/2)/Math.pow((1-U)/(1+U),E/2);return b=-m*Math.log(Math.max(ie,1e-10)),new Ne(l.lng*d*m,b)},unproject:function(l){for(var d=180/Math.PI,m=this.R,b=this.R_MINOR/m,I=Math.sqrt(1-b*b),E=Math.exp(-l.y/m),U=Math.PI/2-2*Math.atan(E),ie=0,de=.1,ze;ie<15&&Math.abs(de)>1e-7;ie++)ze=I*Math.sin(U),ze=Math.pow((1-ze)/(1+ze),I/2),de=Math.PI/2-2*Math.atan(E*ze)-U,U+=de;return new zt(U*d,l.x*d/m)}},tt={__proto__:null,LonLat:we,Mercator:ce,SphericalMercator:Gi},Tt=n({},vi,{code:"EPSG:3395",projection:ce,transformation:(function(){var l=.5/(Math.PI*ce.R);return nn(l,.5,-l,.5)})()}),Wt=n({},vi,{code:"EPSG:4326",projection:we,transformation:nn(1/180,1,-1/180,.5)}),Fi=n({},Li,{projection:we,transformation:nn(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});Li.Earth=vi,Li.EPSG3395=Tt,Li.EPSG3857=Ei,Li.EPSG900913=Mn,Li.EPSG4326=Wt,Li.Simple=Fi;var fi=Qt.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})}}});Ai.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 I=this._zoomBoundLayers[b].options;l=I.minZoom===void 0?l:Math.min(l,I.minZoom),d=I.maxZoom===void 0?d:Math.max(d,I.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 xi=fi.extend({initialize:function(l,d){w(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)}}),Pi=function(l,d){return new xi(l,d)},di=xi.extend({addLayer:function(l){return this.hasLayer(l)?this:(l.addEventParent(this),xi.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),xi.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 ni;for(var d in this._layers){var m=this._layers[d];l.extend(m.getBounds?m.getBounds():m.getLatLng())}return l}}),un=function(l,d){return new di(l,d)},qi=yt.extend({options:{popupAnchor:[0,0],tooltipAnchor:[0,0],crossOrigin:!1},initialize:function(l){w(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 I=Re(b),E=Re(d==="shadow"&&m.shadowAnchor||m.iconAnchor||I&&I.divideBy(2,!0));l.className="leaflet-marker-"+d+" "+(m.className||""),E&&(l.style.marginLeft=-E.x+"px",l.style.marginTop=-E.y+"px"),I&&(l.style.width=I.x+"px",l.style.height=I.y+"px")},_createImg:function(l,d){return d=d||document.createElement("img"),d.src=l,d},_getIconUrl:function(l){return ue.retina&&this.options[l+"RetinaUrl"]||this.options[l+"Url"]}});function Zn(l){return new qi(l)}var vs=qi.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 vs.imagePath!="string"&&(vs.imagePath=this._detectIconPath()),(this.options.imagePath||vs.imagePath)+qi.prototype._getIconUrl.call(this,l)},_stripUrl:function(l){var d=function(m,b,I){var E=b.exec(m);return E&&E[I]};return l=d(l,/^url\((['"])?(.+)\1\)$/,2),l&&d(l,/^(.*)marker-icon\.png$/,1)},_detectIconPath:function(){var l=Me("div","leaflet-default-icon-path",document.body),d=Be(l,"background-image")||Be(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):""}}),kn=Fo.extend({initialize:function(l){this._marker=l},addHooks:function(){var l=this._marker._icon;this._draggable||(this._draggable=new ta(l,l,!0)),this._draggable.on({dragstart:this._onDragStart,predrag:this._onPreDrag,drag:this._onDrag,dragend:this._onDragEnd},this).enable(),Te(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,I=this._marker.options.autoPanPadding,E=Et(d._icon),U=m.getPixelBounds(),ie=m.getPixelOrigin(),de=At(U.min._subtract(ie).add(I),U.max._subtract(ie).subtract(I));if(!de.contains(E)){var ze=Re((Math.max(de.max.x,E.x)-de.max.x)/(U.max.x-de.max.x)-(Math.min(de.min.x,E.x)-de.min.x)/(U.min.x-de.min.x),(Math.max(de.max.y,E.y)-de.max.y)/(U.max.y-de.max.y)-(Math.min(de.min.y,E.y)-de.min.y)/(U.min.y-de.min.y)).multiplyBy(b);m.panBy(ze,{animate:!1}),this._draggable._newPos._add(ze),this._draggable._startPos._add(ze),ye(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&&(st(this._panRequest),this._panRequest=ve(this._adjustPan.bind(this,l)))},_onDrag:function(l){var d=this._marker,m=d._shadow,b=Et(d._icon),I=d._map.layerPointToLatLng(b);m&&ye(m,b),d._latlng=I,l.latlng=I,l.oldLatLng=this._oldLatLng,d.fire("move",l).fire("drag",l)},_onDragEnd:function(l){st(this._panRequest),delete this._oldLatLng,this._marker.fire("moveend").fire("dragend",l)}}),Ms=fi.extend({options:{icon:new vs,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){w(this,d),this._latlng=vt(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=vt(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||"")),Te(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&&et(m,"focus",this._panOnFocus,this);var I=l.icon.createShadow(this._shadow),E=!1;I!==this._shadow&&(this._removeShadow(),E=!0),I&&(Te(I,d),I.alt=""),this._shadow=I,l.opacity<1&&this._updateOpacity(),b&&this.getPane().appendChild(this._icon),this._initInteraction(),I&&E&&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),re(this._icon),this.removeInteractiveTarget(this._icon),this._icon=null},_removeShadow:function(){this._shadow&&re(this._shadow),this._shadow=null},_setPos:function(l){this._icon&&ye(this._icon,l),this._shadow&&ye(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&&(Te(this._icon,"leaflet-interactive"),this.addInteractiveTarget(this._icon),kn)){var l=this.options.draggable;this.dragging&&(l=this.dragging.enabled(),this.dragging.disable()),this.dragging=new kn(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&&Ke(this._icon,l),this._shadow&&Ke(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?Re(d.iconSize):Re(0,0),b=d.iconAnchor?Re(d.iconAnchor):Re(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 Yo(l,d){return new Ms(l,d)}var cs=fi.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 w(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)}}),oo=cs.extend({options:{fill:!0,radius:10},initialize:function(l,d){w(this,d),this._latlng=vt(l),this._radius=this.options.radius},setLatLng:function(l){var d=this._latlng;return this._latlng=vt(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 cs.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 ot(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 Jo(l,d){return new oo(l,d)}var ro=oo.extend({initialize:function(l,d,m){if(typeof d=="number"&&(d=n({},m,{radius:d})),w(this,d),this._latlng=vt(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 ni(this._map.layerPointToLatLng(this._point.subtract(l)),this._map.layerPointToLatLng(this._point.add(l)))},setStyle:cs.prototype.setStyle,_project:function(){var l=this._latlng.lng,d=this._latlng.lat,m=this._map,b=m.options.crs;if(b.distance===vi.distance){var I=Math.PI/180,E=this._mRadius/vi.R/I,U=m.project([d+E,l]),ie=m.project([d-E,l]),de=U.add(ie).divideBy(2),ze=m.unproject(de).lat,Ht=Math.acos((Math.cos(E*I)-Math.sin(d*I)*Math.sin(ze*I))/(Math.cos(d*I)*Math.cos(ze*I)))/I;(isNaN(Ht)||Ht===0)&&(Ht=E/Math.cos(Math.PI/180*d)),this._point=de.subtract(m.getPixelOrigin()),this._radius=isNaN(Ht)?0:de.x-m.project([ze,l-Ht]).x,this._radiusY=de.y-U.y}else{var wi=b.unproject(b.project(this._latlng).subtract([this._mRadius,0]));this._point=m.latLngToLayerPoint(this._latlng),this._radius=this._point.x-m.latLngToLayerPoint(wi).x}this._updateBounds()}});function ao(l,d,m){return new ro(l,d,m)}var gs=cs.extend({options:{smoothFactor:1,noClip:!1},initialize:function(l,d){w(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=Mc,I,E,U=0,ie=this._parts.length;U<ie;U++)for(var de=this._parts[U],ze=1,Ht=de.length;ze<Ht;ze++){I=de[ze-1],E=de[ze];var wi=b(l,I,E,!0);wi<d&&(d=wi,m=b(l,I,E))}return m&&(m.distance=Math.sqrt(d)),m},getCenter:function(){if(!this._map)throw new Error("Must add layer to map before using getCenter()");return W(this._defaultShape(),this._map.options.crs)},getBounds:function(){return this._bounds},addLatLng:function(l,d){return d=d||this._defaultShape(),l=vt(l),d.push(l),this._bounds.extend(l),this.redraw()},_setLatLngs:function(l){this._bounds=new ni,this._latlngs=this._convertLatLngs(l)},_defaultShape:function(){return yo(this._latlngs)?this._latlngs:this._latlngs[0]},_convertLatLngs:function(l){for(var d=[],m=yo(l),b=0,I=l.length;b<I;b++)m?(d[b]=vt(l[b]),this._bounds.extend(d[b])):d[b]=this._convertLatLngs(l[b]);return d},_project:function(){var l=new ot;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 Ne(l,l);this._rawPxBounds&&(this._pxBounds=new ot([this._rawPxBounds.min.subtract(d),this._rawPxBounds.max.add(d)]))},_projectLatlngs:function(l,d,m){var b=l[0]instanceof zt,I=l.length,E,U;if(b){for(U=[],E=0;E<I;E++)U[E]=this._map.latLngToLayerPoint(l[E]),m.extend(U[E]);d.push(U)}else for(E=0;E<I;E++)this._projectLatlngs(l[E],d,m)},_clipPoints:function(){var l=this._renderer._bounds;if(this._parts=[],!(!this._pxBounds||!this._pxBounds.intersects(l))){if(this.options.noClip){this._parts=this._rings;return}var d=this._parts,m,b,I,E,U,ie,de;for(m=0,I=0,E=this._rings.length;m<E;m++)for(de=this._rings[m],b=0,U=de.length;b<U-1;b++)ie=Cm(de[b],de[b+1],l,b,!0),ie&&(d[I]=d[I]||[],d[I].push(ie[0]),(ie[1]!==de[b+1]||b===U-2)&&(d[I].push(ie[1]),I++))}},_simplifyPoints:function(){for(var l=this._parts,d=this.options.smoothFactor,m=0,b=l.length;m<b;m++)l[m]=zg(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,I,E,U,ie,de=this._clickTolerance();if(!this._pxBounds||!this._pxBounds.contains(l))return!1;for(m=0,E=this._parts.length;m<E;m++)for(ie=this._parts[m],b=0,U=ie.length,I=U-1;b<U;I=b++)if(!(!d&&b===0)&&Vg(l,ie[I],ie[b])<=de)return!0;return!1}});function xl(l,d){return new gs(l,d)}gs._flat=xm;var Ho=gs.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 vm(this._defaultShape(),this._map.options.crs)},_convertLatLngs:function(l){var d=gs.prototype._convertLatLngs.call(this,l),m=d.length;return m>=2&&d[0]instanceof zt&&d[0].equals(d[m-1])&&d.pop(),d},_setLatLngs:function(l){gs.prototype._setLatLngs.call(this,l),yo(this._latlngs)&&(this._latlngs=[this._latlngs])},_defaultShape:function(){return yo(this._latlngs[0])?this._latlngs[0]:this._latlngs[0][0]},_clipPoints:function(){var l=this._renderer._bounds,d=this.options.weight,m=new Ne(d,d);if(l=new ot(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,I=this._rings.length,E;b<I;b++)E=_m(this._rings[b],l,!0),E.length&&this._parts.push(E)}},_updatePath:function(){this._renderer._updatePoly(this,!0)},_containsPoint:function(l){var d=!1,m,b,I,E,U,ie,de,ze;if(!this._pxBounds||!this._pxBounds.contains(l))return!1;for(E=0,de=this._parts.length;E<de;E++)for(m=this._parts[E],U=0,ze=m.length,ie=ze-1;U<ze;ie=U++)b=m[U],I=m[ie],b.y>l.y!=I.y>l.y&&l.x<(I.x-b.x)*(l.y-b.y)/(I.y-b.y)+b.x&&(d=!d);return d||gs.prototype._containsPoint.call(this,l,!0)}});function jg(l,d){return new Ho(l,d)}var Kn=di.extend({initialize:function(l,d){w(this,d),this._layers={},l&&this.addData(l)},addData:function(l){var d=N(l)?l:l.features,m,b,I;if(d){for(m=0,b=d.length;m<b;m++)I=d[m],(I.geometries||I.geometry||I.features||I.coordinates)&&this.addData(I);return this}var E=this.options;if(E.filter&&!E.filter(l))return this;var U=Ir(l,E);return U?(U.feature=Ls(l),U.defaultOptions=U.options,this.resetStyle(U),E.onEachFeature&&E.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 Ir(l,d){var m=l.type==="Feature"?l.geometry:l,b=m?m.coordinates:null,I=[],E=d&&d.pointToLayer,U=d&&d.coordsToLatLng||Nc,ie,de,ze,Ht;if(!b&&!m)return null;switch(m.type){case"Point":return ie=U(b),Ll(E,l,ie,d);case"MultiPoint":for(ze=0,Ht=b.length;ze<Ht;ze++)ie=U(b[ze]),I.push(Ll(E,l,ie,d));return new di(I);case"LineString":case"MultiLineString":return de=Rh(b,m.type==="LineString"?0:1,U),new gs(de,d);case"Polygon":case"MultiPolygon":return de=Rh(b,m.type==="Polygon"?1:2,U),new Ho(de,d);case"GeometryCollection":for(ze=0,Ht=m.geometries.length;ze<Ht;ze++){var wi=Ir({geometry:m.geometries[ze],type:"Feature",properties:l.properties},d);wi&&I.push(wi)}return new di(I);case"FeatureCollection":for(ze=0,Ht=m.features.length;ze<Ht;ze++){var Zi=Ir(m.features[ze],d);Zi&&I.push(Zi)}return new di(I);default:throw new Error("Invalid GeoJSON object.")}}function Ll(l,d,m,b){return l?l(d,m):new Ms(m,b&&b.markersInheritOptions&&b)}function Nc(l){return new zt(l[1],l[0],l[2])}function Rh(l,d,m){for(var b=[],I=0,E=l.length,U;I<E;I++)U=d?Rh(l[I],d-1,m):(m||Nc)(l[I]),b.push(U);return b}function Ug(l,d){return l=vt(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 Ah(l,d,m,b){for(var I=[],E=0,U=l.length;E<U;E++)I.push(d?Ah(l[E],yo(l[E])?0:d-1,m,b):Ug(l[E],b));return!d&&m&&I.length>0&&I.push(I[0].slice()),I}function ln(l,d){return l.feature?n({},l.feature,{geometry:d}):Ls(d)}function Ls(l){return l.type==="Feature"||l.type==="FeatureCollection"?l:{type:"Feature",properties:{},geometry:l}}var kl={toGeoJSON:function(l){return ln(this,{type:"Point",coordinates:Ug(this.getLatLng(),l)})}};Ms.include(kl),ro.include(kl),oo.include(kl),gs.include({toGeoJSON:function(l){var d=!yo(this._latlngs),m=Ah(this._latlngs,d?1:0,!1,l);return ln(this,{type:(d?"Multi":"")+"LineString",coordinates:m})}}),Ho.include({toGeoJSON:function(l){var d=!yo(this._latlngs),m=d&&!yo(this._latlngs[0]),b=Ah(this._latlngs,m?2:d?1:0,!0,l);return d||(b=[b]),ln(this,{type:(m?"Multi":"")+"Polygon",coordinates:b})}}),xi.include({toMultiPoint:function(l){var d=[];return this.eachLayer(function(m){d.push(m.toGeoJSON(l).geometry.coordinates)}),ln(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(I){if(I.toGeoJSON){var E=I.toGeoJSON(l);if(m)b.push(E.geometry);else{var U=Ls(E);U.type==="FeatureCollection"?b.push.apply(b,U.features):b.push(U)}}}),m?ln(this,{geometries:b,type:"GeometryCollection"}):{type:"FeatureCollection",features:b}}});function Oh(l,d){return new Kn(l,d)}var WR=Oh,Lm=fi.extend({options:{opacity:1,alt:"",interactive:!1,crossOrigin:!1,errorOverlayUrl:"",zIndex:1,className:""},initialize:function(l,d,m){this._url=l,this._bounds=Xt(d),w(this,m)},onAdd:function(){this._image||(this._initImage(),this.options.opacity<1&&this._updateOpacity()),this.options.interactive&&(Te(this._image,"leaflet-interactive"),this.addInteractiveTarget(this._image)),this.getPane().appendChild(this._image),this._reset()},onRemove:function(){re(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&&Oe(this._image),this},bringToBack:function(){return this._map&&xe(this._image),this},setUrl:function(l){return this._url=l,this._image&&(this._image.src=l),this},setBounds:function(l){return this._bounds=Xt(l),this._map&&this._reset(),this},getEvents:function(){var l={zoom:this._reset,viewreset:this._reset};return this._zoomAnimated&&(l.zoomanim=this._animateZoom),l},setZIndex:function(l){return this.options.zIndex=l,this._updateZIndex(),this},getBounds:function(){return this._bounds},getElement:function(){return this._image},_initImage:function(){var l=this._url.tagName==="IMG",d=this._image=l?this._url:Me("img");if(Te(d,"leaflet-image-layer"),this._zoomAnimated&&Te(d,"leaflet-zoom-animated"),this.options.className&&Te(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;ut(this._image,m,d)},_reset:function(){var l=this._image,d=new ot(this._map.latLngToLayerPoint(this._bounds.getNorthWest()),this._map.latLngToLayerPoint(this._bounds.getSouthEast())),m=d.getSize();ye(l,d.min),l.style.width=m.x+"px",l.style.height=m.y+"px"},_updateOpacity:function(){Ke(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 Lm(l,d,m)},vL=Lm.extend({options:{autoplay:!0,loop:!0,keepAspectRatio:!0,muted:!1,playsInline:!0},_initImage:function(){var l=this._url.tagName==="VIDEO",d=this._image=l?this._url:Me("video");if(Te(d,"leaflet-image-layer"),this._zoomAnimated&&Te(d,"leaflet-zoom-animated"),this.options.className&&Te(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=[],I=0;I<m.length;I++)b.push(m[I].src);this._url=m.length>0?b:[d.src];return}N(this._url)||(this._url=[this._url]),!this.options.keepAspectRatio&&Object.prototype.hasOwnProperty.call(d.style,"objectFit")&&(d.style.objectFit="fill"),d.autoplay=!!this.options.autoplay,d.loop=!!this.options.loop,d.muted=!!this.options.muted,d.playsInline=!!this.options.playsInline;for(var E=0;E<this._url.length;E++){var U=Me("source");U.src=this._url[E],d.appendChild(U)}}});function zR(l,d,m){return new vL(l,d,m)}var bL=Lm.extend({_initImage:function(){var l=this._image=this._url;Te(l,"leaflet-image-layer"),this._zoomAnimated&&Te(l,"leaflet-zoom-animated"),this.options.className&&Te(l,this.options.className),l.onselectstart=f,l.onmousemove=f}});function VR(l,d,m){return new bL(l,d,m)}var ia=fi.extend({options:{interactive:!1,offset:[0,0],className:"",pane:void 0,content:""},initialize:function(l,d){l&&(l instanceof zt||N(l))?(this._latlng=vt(l),w(this,d)):(w(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&&Ke(this._container,0),clearTimeout(this._removeTimeout),this.getPane().appendChild(this._container),this.update(),l._fadeAnimated&&Ke(this._container,1),this.bringToFront(),this.options.interactive&&(Te(this._container,"leaflet-interactive"),this.addInteractiveTarget(this._container))},onRemove:function(l){l._fadeAnimated?(Ke(this._container,0),this._removeTimeout=setTimeout(r(re,void 0,this._container),200)):re(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=vt(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&&Oe(this._container),this},bringToBack:function(){return this._map&&xe(this._container),this},_prepareOpen:function(l){var d=this._source;if(!d._map)return!1;if(d instanceof di){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=Re(this.options.offset),m=this._getAnchor();this._zoomAnimated?ye(this._container,l.add(m)):d=d.add(l).add(m);var b=this._containerBottom=-d.y,I=this._containerLeft=-Math.round(this._containerWidth/2)+d.x;this._container.style.bottom=b+"px",this._container.style.left=I+"px"}},_getAnchor:function(){return[0,0]}});Ai.include({_initOverlay:function(l,d,m,b){var I=d;return I instanceof l||(I=new l(b).setContent(d)),m&&I.setLatLng(m),I}}),fi.include({_initOverlay:function(l,d,m,b){var I=m;return I instanceof l?(w(I,b),I._source=this):(I=d&&!b?d:new l(b,this),I.setContent(m)),I}});var km=ia.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,ia.prototype.openOn.call(this,l)},onAdd:function(l){ia.prototype.onAdd.call(this,l),l.fire("popupopen",{popup:this}),this._source&&(this._source.fire("popupopen",{popup:this},!0),this._source instanceof cs||this._source.on("preclick",_n))},onRemove:function(l){ia.prototype.onRemove.call(this,l),l.fire("popupclose",{popup:this}),this._source&&(this._source.fire("popupclose",{popup:this},!0),this._source instanceof cs||this._source.off("preclick",_n))},getEvents:function(){var l=ia.prototype.getEvents.call(this);return(this.options.closeOnClick!==void 0?this.options.closeOnClick:this._map.options.closePopupOnClick)&&(l.preclick=this.close),this.options.keepInView&&(l.moveend=this._adjustPan),l},_initLayout:function(){var l="leaflet-popup",d=this._container=Me("div",l+" "+(this.options.className||"")+" leaflet-zoom-animated"),m=this._wrapper=Me("div",l+"-content-wrapper",d);if(this._contentNode=Me("div",l+"-content",m),On(d),ri(this._contentNode),et(d,"contextmenu",_n),this._tipContainer=Me("div",l+"-tip-container",d),this._tip=Me("div",l+"-tip",this._tipContainer),this.options.closeButton){var b=this._closeButton=Me("a",l+"-close-button",d);b.setAttribute("role","button"),b.setAttribute("aria-label","Close popup"),b.href="#close",b.innerHTML='<span aria-hidden="true">×</span>',et(b,"click",function(I){Yi(I),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,I=this.options.maxHeight,E="leaflet-popup-scrolled";I&&b>I?(d.height=I+"px",Te(l,E)):H(l,E),this._containerWidth=this._container.offsetWidth},_animateZoom:function(l){var d=this._map._latLngToNewLayerPoint(this._latlng,l.zoom,l.center),m=this._getAnchor();ye(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(Be(this._container,"marginBottom"),10)||0,m=this._container.offsetHeight+d,b=this._containerWidth,I=new Ne(this._containerLeft,-m-this._containerBottom);I._add(Et(this._container));var E=l.layerPointToContainerPoint(I),U=Re(this.options.autoPanPadding),ie=Re(this.options.autoPanPaddingTopLeft||U),de=Re(this.options.autoPanPaddingBottomRight||U),ze=l.getSize(),Ht=0,wi=0;E.x+b+de.x>ze.x&&(Ht=E.x+b-ze.x+de.x),E.x-Ht-ie.x<0&&(Ht=E.x-ie.x),E.y+m+de.y>ze.y&&(wi=E.y+m-ze.y+de.y),E.y-wi-ie.y<0&&(wi=E.y-ie.y),(Ht||wi)&&(this.options.keepInView&&(this._autopanning=!0),l.fire("autopanstart").panBy([Ht,wi]))}},_getAnchor:function(){return Re(this._source&&this._source._getPopupAnchor?this._source._getPopupAnchor():[0,0])}}),jR=function(l,d){return new km(l,d)};Ai.mergeOptions({closePopupOnClick:!0}),Ai.include({openPopup:function(l,d,m){return this._initOverlay(km,l,d,m).openOn(this),this},closePopup:function(l){return l=arguments.length?l:this._popup,l&&l.close(),this}}),fi.include({bindPopup:function(l,d){return this._popup=this._initOverlay(km,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 di||(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)){Ps(l);var d=l.layer||l.target;if(this._popup._source===d&&!(d instanceof cs)){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 Im=ia.extend({options:{pane:"tooltipPane",offset:[0,0],direction:"auto",permanent:!1,sticky:!1,opacity:.9},onAdd:function(l){ia.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){ia.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=ia.prototype.getEvents.call(this);return this.options.permanent||(l.preclick=this.close),l},_initLayout:function(){var l="leaflet-tooltip",d=l+" "+(this.options.className||"")+" leaflet-zoom-"+(this._zoomAnimated?"animated":"hide");this._contentNode=this._container=Me("div",d),this._container.setAttribute("role","tooltip"),this._container.setAttribute("id","leaflet-tooltip-"+c(this))},_updateLayout:function(){},_adjustPan:function(){},_setPosition:function(l){var d,m,b=this._map,I=this._container,E=b.latLngToContainerPoint(b.getCenter()),U=b.layerPointToContainerPoint(l),ie=this.options.direction,de=I.offsetWidth,ze=I.offsetHeight,Ht=Re(this.options.offset),wi=this._getAnchor();ie==="top"?(d=de/2,m=ze):ie==="bottom"?(d=de/2,m=0):ie==="center"?(d=de/2,m=ze/2):ie==="right"?(d=0,m=ze/2):ie==="left"?(d=de,m=ze/2):U.x<E.x?(ie="right",d=0,m=ze/2):(ie="left",d=de+(Ht.x+wi.x)*2,m=ze/2),l=l.subtract(Re(d,m,!0)).add(Ht).add(wi),H(I,"leaflet-tooltip-right"),H(I,"leaflet-tooltip-left"),H(I,"leaflet-tooltip-top"),H(I,"leaflet-tooltip-bottom"),Te(I,"leaflet-tooltip-"+ie),ye(I,l)},_updatePosition:function(){var l=this._map.latLngToLayerPoint(this._latlng);this._setPosition(l)},setOpacity:function(l){this.options.opacity=l,this._container&&Ke(this._container,l)},_animateZoom:function(l){var d=this._map._latLngToNewLayerPoint(this._latlng,l.zoom,l.center);this._setPosition(d)},_getAnchor:function(){return Re(this._source&&this._source._getTooltipAnchor&&!this.options.sticky?this._source._getTooltipAnchor():[0,0])}}),UR=function(l,d){return new Im(l,d)};Ai.include({openTooltip:function(l,d,m){return this._initOverlay(Im,l,d,m).openOn(this),this},closeTooltip:function(l){return l.close(),this}}),fi.include({bindTooltip:function(l,d){return this._tooltip&&this.isTooltipOpen()&&this.unbindTooltip(),this._tooltip=this._initOverlay(Im,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 di||(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&&(et(d,"focus",function(){this._tooltip._source=l,this.openTooltip()},this),et(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 yL=qi.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?(Je(d),d.appendChild(m.html)):d.innerHTML=m.html!==!1?m.html:"",m.bgPos){var b=Re(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 yL(l)}qi.Default=vs;var $g=fi.extend({options:{tileSize:256,opacity:1,updateWhenIdle:ue.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){w(this,l)},onAdd:function(){this._initContainer(),this._levels={},this._tiles={},this._resetView()},beforeAdd:function(l){l._addZoomLimit(this)},onRemove:function(l){this._removeAllTiles(),re(this._container),l._removeZoomLimit(this),this._container=null,this._tileZoom=void 0},bringToFront:function(){return this._map&&(Oe(this._container),this._setAutoZIndex(Math.max)),this},bringToBack:function(){return this._map&&(xe(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 Ne?l:new Ne(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,I=d.length,E;b<I;b++)E=d[b].style.zIndex,d[b]!==this._container&&E&&(m=l(m,+E));isFinite(m)&&(this.options.zIndex=m+l(-1,1),this._updateZIndex())},_updateOpacity:function(){if(this._map&&!ue.ielt9){Ke(this._container,this.options.opacity);var l=+new Date,d=!1,m=!1;for(var b in this._tiles){var I=this._tiles[b];if(!(!I.current||!I.loaded)){var E=Math.min(1,(l-I.loaded)/200);Ke(I.el,E),E<1?d=!0:(I.active?m=!0:this._onOpaqueTile(I),I.active=!0)}}m&&!this._noPrune&&this._pruneTiles(),d&&(st(this._fadeFrame),this._fadeFrame=ve(this._updateOpacity,this))}},_onOpaqueTile:f,_initContainer:function(){this._container||(this._container=Me("div","leaflet-layer "+(this.options.className||"")),this._updateZIndex(),this.options.opacity<1&&this._updateOpacity(),this.getPane().appendChild(this._container))},_updateLevels:function(){var l=this._tileZoom,d=this.options.maxZoom;if(l!==void 0){for(var m in this._levels)m=Number(m),this._levels[m].el.children.length||m===l?(this._levels[m].el.style.zIndex=d-Math.abs(l-m),this._onUpdateLevel(m)):(re(this._levels[m].el),this._removeTilesAtZoom(m),this._onRemoveLevel(m),delete this._levels[m]);var b=this._levels[l],I=this._map;return b||(b=this._levels[l]={},b.el=Me("div","leaflet-tile-container leaflet-zoom-animated",this._container),b.el.style.zIndex=d,b.origin=I.project(I.unproject(I.getPixelOrigin()),l).round(),b.zoom=l,this._setZoomTransform(b,I.getCenter(),I.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)re(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 I=Math.floor(l/2),E=Math.floor(d/2),U=m-1,ie=new Ne(+I,+E);ie.z=+U;var de=this._tileCoordsToKey(ie),ze=this._tiles[de];return ze&&ze.active?(ze.retain=!0,!0):(ze&&ze.loaded&&(ze.retain=!0),U>b?this._retainParent(I,E,U,b):!1)},_retainChildren:function(l,d,m,b){for(var I=2*l;I<2*l+2;I++)for(var E=2*d;E<2*d+2;E++){var U=new Ne(I,E);U.z=m+1;var ie=this._tileCoordsToKey(U),de=this._tiles[ie];if(de&&de.active){de.retain=!0;continue}else de&&de.loaded&&(de.retain=!0);m+1<b&&this._retainChildren(I,E,m+1,b)}},_resetView:function(l){var d=l&&(l.pinch||l.flyTo);this._setView(this._map.getCenter(),this._map.getZoom(),d,d)},_animateZoom:function(l){this._setView(l.center,l.zoom,!0,l.noUpdate)},_clampZoom:function(l){var d=this.options;return d.minNativeZoom!==void 0&&l<d.minNativeZoom?d.minNativeZoom:d.maxNativeZoom!==void 0&&d.maxNativeZoom<l?d.maxNativeZoom:l},_setView:function(l,d,m,b){var I=Math.round(d);this.options.maxZoom!==void 0&&I>this.options.maxZoom||this.options.minZoom!==void 0&&I<this.options.minZoom?I=void 0:I=this._clampZoom(I);var E=this.options.updateWhenZooming&&I!==this._tileZoom;(!b||E)&&(this._tileZoom=I,this._abortLoading&&this._abortLoading(),this._updateLevels(),this._resetGrid(),I!==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),I=l.origin.multiplyBy(b).subtract(this._map._getNewPixelOrigin(d,m)).round();ue.any3d?ut(l.el,I,b):ye(l.el,I)},_resetGrid:function(){var l=this._map,d=l.options.crs,m=this._tileSize=this.getTileSize(),b=this._tileZoom,I=this._map.getPixelWorldBounds(this._tileZoom);I&&(this._globalTileRange=this._pxBoundsToTileRange(I)),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),I=d.project(l,this._tileZoom).floor(),E=d.getSize().divideBy(b*2);return new ot(I.subtract(E),I.add(E))},_update:function(l){var d=this._map;if(d){var m=this._clampZoom(d.getZoom());if(l===void 0&&(l=d.getCenter()),this._tileZoom!==void 0){var b=this._getTiledPixelBounds(l),I=this._pxBoundsToTileRange(b),E=I.getCenter(),U=[],ie=this.options.keepBuffer,de=new ot(I.getBottomLeft().subtract([ie,-ie]),I.getTopRight().add([ie,-ie]));if(!(isFinite(I.min.x)&&isFinite(I.min.y)&&isFinite(I.max.x)&&isFinite(I.max.y)))throw new Error("Attempted to load an infinite number of tiles");for(var ze in this._tiles){var Ht=this._tiles[ze].coords;(Ht.z!==this._tileZoom||!de.contains(new Ne(Ht.x,Ht.y)))&&(this._tiles[ze].current=!1)}if(Math.abs(m-this._tileZoom)>1){this._setView(l,m);return}for(var wi=I.min.y;wi<=I.max.y;wi++)for(var Zi=I.min.x;Zi<=I.max.x;Zi++){var lo=new Ne(Zi,wi);if(lo.z=this._tileZoom,!!this._isValidTile(lo)){var Ns=this._tiles[this._tileCoordsToKey(lo)];Ns?Ns.current=!0:U.push(lo)}}if(U.sort(function(wo,Hh){return wo.distanceTo(E)-Hh.distanceTo(E)}),U.length!==0){this._loading||(this._loading=!0,this.fire("loading"));var Qo=document.createDocumentFragment();for(Zi=0;Zi<U.length;Zi++)this._addTile(U[Zi],Qo);this._level.el.appendChild(Qo)}}}},_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 Xt(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),I=b.add(m),E=d.unproject(b,l.z),U=d.unproject(I,l.z);return[E,U]},_tileCoordsToBounds:function(l){var d=this._tileCoordsToNwSe(l),m=new ni(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 Ne(+d[0],+d[1]);return m.z=+d[2],m},_removeTile:function(l){var d=this._tiles[l];d&&(re(d.el),delete this._tiles[l],this.fire("tileunload",{tile:d.el,coords:this._keyToTileCoords(l)}))},_initTile:function(l){Te(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,ue.ielt9&&this.options.opacity<1&&Ke(l,this.options.opacity)},_addTile:function(l,d){var m=this._getTilePos(l),b=this._tileCoordsToKey(l),I=this.createTile(this._wrapCoords(l),r(this._tileReady,this,l));this._initTile(I),this.createTile.length<2&&ve(r(this._tileReady,this,l,null,I)),ye(I,m),this._tiles[b]={el:I,coords:l,current:!0},d.appendChild(I),this.fire("tileloadstart",{tile:I,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?(Ke(m.el,0),st(this._fadeFrame),this._fadeFrame=ve(this._updateOpacity,this)):(m.active=!0,this._pruneTiles()),d||(Te(m.el,"leaflet-tile-loaded"),this.fire("tileload",{tile:m.el,coords:l})),this._noTilesToLoad()&&(this._loading=!1,this.fire("load"),ue.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 Ne(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 ot(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 $g(l)}var Fh=$g.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=w(this,d),d.detectRetina&&ue.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 et(m,"load",r(this._tileOnLoad,this,d,m)),et(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:ue.retina?"@2x":"",s:this._getSubdomain(l),x:l.x,y:l.y,z:this._getZoomForUrl()};if(this._map&&!this._map.options.crs.infinite){var m=this._globalTileRange.max.y-l.y;this.options.tms&&(d.y=m),d["-y"]=m}return P(this._url,n(d,this.options))},_tileOnLoad:function(l,d){ue.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;re(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),$g.prototype._removeTile.call(this,l)},_tileReady:function(l,d,m){if(!(!this._map||m&&m.getAttribute("src")===F))return $g.prototype._tileReady.call(this,l,d,m)}});function wL(l,d){return new Fh(l,d)}var SL=Fh.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=w(this,d);var I=d.detectRetina&&ue.retina?2:1,E=this.getTileSize();m.width=E.x*I,m.height=E.y*I,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,Fh.prototype.onAdd.call(this,l)},getTileUrl:function(l){var d=this._tileCoordsToNwSe(l),m=this._crs,b=At(m.project(d[0]),m.project(d[1])),I=b.min,E=b.max,U=(this._wmsVersion>=1.3&&this._crs===Wt?[I.y,I.x,E.y,E.x]:[I.x,I.y,E.x,E.y]).join(","),ie=Fh.prototype.getTileUrl.call(this,l);return ie+S(this.wmsParams,ie,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 SL(l,d)}Fh.WMS=SL,wL.wms=KR;var Ha=fi.extend({options:{padding:.1},initialize:function(l){w(this,l),c(this),this._layers=this._layers||{}},onAdd:function(){this._container||(this._initContainer(),Te(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),I=this._map.project(this._center,d),E=b.multiplyBy(-m).add(I).subtract(this._map._getNewPixelOrigin(l,d));ue.any3d?ut(this._container,E,m):ye(this._container,E)},_reset:function(){this._update(),this._updateTransform(this._center,this._zoom);for(var l in this._layers)this._layers[l]._reset()},_onZoomEnd:function(){for(var l in this._layers)this._layers[l]._project()},_updatePaths:function(){for(var l in this._layers)this._layers[l]._update()},_update:function(){var l=this.options.padding,d=this._map.getSize(),m=this._map.containerPointToLayerPoint(d.multiplyBy(-l)).round();this._bounds=new ot(m,m.add(d.multiplyBy(1+l*2)).round()),this._center=this._map.getCenter(),this._zoom=this._map.getZoom()}}),CL=Ha.extend({options:{tolerance:0},getEvents:function(){var l=Ha.prototype.getEvents.call(this);return l.viewprereset=this._onViewPreReset,l},_onViewPreReset:function(){this._postponeUpdatePaths=!0},onAdd:function(){Ha.prototype.onAdd.call(this),this._draw()},_initContainer:function(){var l=this._container=document.createElement("canvas");et(l,"mousemove",this._onMouseMove,this),et(l,"click dblclick mousedown mouseup contextmenu",this._onClick,this),et(l,"mouseout",this._handleMouseOut,this),l._leaflet_disable_events=!0,this._ctx=l.getContext("2d")},_destroyContainer:function(){st(this._redrawRequest),delete this._ctx,re(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)){Ha.prototype._update.call(this);var l=this._bounds,d=this._container,m=l.getSize(),b=ue.retina?2:1;ye(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",ue.retina&&this._ctx.scale(2,2),this._ctx.translate(-l.min.x,-l.min.y),this.fire("update")}},_reset:function(){Ha.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,I;for(I=0;I<d.length;I++){if(b=Number(d[I]),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 ot,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,I,E,U=l._parts,ie=U.length,de=this._ctx;if(ie){for(de.beginPath(),m=0;m<ie;m++){for(b=0,I=U[m].length;b<I;b++)E=U[m][b],de[b?"lineTo":"moveTo"](E.x,E.y);d&&de.closePath()}this._fillStroke(de,l)}}},_updateCircle:function(l){if(!(!this._drawing||l._empty())){var d=l._point,m=this._ctx,b=Math.max(Math.round(l._radius),1),I=(Math.max(Math.round(l._radiusY),1)||b)/b;I!==1&&(m.save(),m.scale(1,I)),m.beginPath(),m.arc(d.x,d.y/I,b,0,Math.PI*2,!1),I!==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,I=this._drawFirst;I;I=I.next)m=I.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,I=this._drawFirst;I;I=I.next)m=I.layer,m.options.interactive&&m._containsPoint(d)&&(b=m);b!==this._hoveredLayer&&(this._handleMouseOut(l),b&&(Te(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 xL(l){return ue.canvas?new CL(l):null}var qg=(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=Me("div","leaflet-vml-container")},_update:function(){this._map._animatingZoom||(Ha.prototype._update.call(this),this.fire("update"))},_initPath:function(l){var d=l._container=qg("shape");Te(d,"leaflet-vml-shape "+(this.options.className||"")),d.coordsize="1 1",l._path=qg("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;re(d),l.removeInteractiveTarget(d),delete this._layers[c(l)]},_updateStyle:function(l){var d=l._stroke,m=l._fill,b=l.options,I=l._container;I.stroked=!!b.stroke,I.filled=!!b.fill,b.stroke?(d||(d=l._stroke=qg("stroke")),I.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&&(I.removeChild(d),l._stroke=null),b.fill?(m||(m=l._fill=qg("fill")),I.appendChild(m),m.color=b.fillColor||b.color,m.opacity=b.fillOpacity):m&&(I.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){Oe(l._container)},_bringToBack:function(l){xe(l._container)}},Dm=ue.vml?qg:sn,Kg=Ha.extend({_initContainer:function(){this._container=Dm("svg"),this._container.setAttribute("pointer-events","none"),this._rootGroup=Dm("g"),this._container.appendChild(this._rootGroup)},_destroyContainer:function(){re(this._container),Jt(this._container),delete this._container,delete this._rootGroup,delete this._svgSize},_update:function(){if(!(this._map._animatingZoom&&this._bounds)){Ha.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)),ye(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=Dm("path");l.options.className&&Te(d,l.options.className),l.options.interactive&&Te(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){re(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,Sn(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,I="a"+m+","+b+" 0 1,0 ",E=l._empty()?"M0 0":"M"+(d.x-m)+","+d.y+I+m*2+",0 "+I+-m*2+",0 ";this._setPath(l,E)},_setPath:function(l,d){l._path.setAttribute("d",d)},_bringToFront:function(l){Oe(l._path)},_bringToBack:function(l){xe(l._path)}});ue.vml&&Kg.include(GR);function LL(l){return ue.svg||ue.vml?new Kg(l):null}Ai.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&&xL(l)||LL(l)}});var kL=Ho.extend({initialize:function(l,d){Ho.prototype.initialize.call(this,this._boundsToLatLngs(l),d)},setBounds:function(l){return this.setLatLngs(this._boundsToLatLngs(l))},_boundsToLatLngs:function(l){return l=Xt(l),[l.getSouthWest(),l.getNorthWest(),l.getNorthEast(),l.getSouthEast()]}});function ZR(l,d){return new kL(l,d)}Kg.create=Dm,Kg.pointsToPath=Sn,Kn.geometryToLayer=Ir,Kn.coordsToLatLng=Nc,Kn.coordsToLatLngs=Rh,Kn.latLngToCoords=Ug,Kn.latLngsToCoords=Ah,Kn.getFeature=ln,Kn.asFeature=Ls,Ai.mergeOptions({boxZoom:!0});var IL=Fo.extend({initialize:function(l){this._map=l,this._container=l._container,this._pane=l._panes.overlayPane,this._resetStateTimeout=0,l.on("unload",this._destroy,this)},addHooks:function(){et(this._container,"mousedown",this._onMouseDown,this)},removeHooks:function(){Jt(this._container,"mousedown",this._onMouseDown,this)},moved:function(){return this._moved},_destroy:function(){re(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(),dt(),Ie(),this._startPoint=this._map.mouseEventToContainerPoint(l),et(document,{contextmenu:Ps,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseMove:function(l){this._moved||(this._moved=!0,this._box=Me("div","leaflet-zoom-box",this._container),Te(this._container,"leaflet-crosshair"),this._map.fire("boxzoomstart")),this._point=this._map.mouseEventToContainerPoint(l);var d=new ot(this._point,this._startPoint),m=d.getSize();ye(this._box,d.min),this._box.style.width=m.x+"px",this._box.style.height=m.y+"px"},_finish:function(){this._moved&&(re(this._box),H(this._container,"leaflet-crosshair")),he(),le(),Jt(document,{contextmenu:Ps,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 ni(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())}});Ai.addInitHook("addHandler","boxZoom",IL),Ai.mergeOptions({doubleClickZoom:!0});var DL=Fo.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,I=l.originalEvent.shiftKey?m-b:m+b;d.options.doubleClickZoom==="center"?d.setZoom(I):d.setZoomAround(l.containerPoint,I)}});Ai.addInitHook("addHandler","doubleClickZoom",DL),Ai.mergeOptions({dragging:!0,inertia:!0,inertiaDeceleration:3400,inertiaMaxSpeed:1/0,easeLinearity:.2,worldCopyJump:!1,maxBoundsViscosity:0});var EL=Fo.extend({addHooks:function(){if(!this._draggable){var l=this._map;this._draggable=new ta(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))}Te(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=Xt(this._map.options.maxBounds);this._offsetLimit=At(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,I=(b-d+m)%l+d-m,E=(b+d+m)%l-d-m,U=Math.abs(I+m)<Math.abs(E+m)?I:E;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 I=this._lastPos.subtract(this._positions[0]),E=(this._lastTime-this._times[0])/1e3,U=m.easeLinearity,ie=I.multiplyBy(U/E),de=ie.distanceTo([0,0]),ze=Math.min(m.inertiaMaxSpeed,de),Ht=ie.multiplyBy(ze/de),wi=ze/(m.inertiaDeceleration*U),Zi=Ht.multiplyBy(-wi/2).round();!Zi.x&&!Zi.y?d.fire("moveend"):(Zi=d._limitOffset(Zi,d.options.maxBounds),ve(function(){d.panBy(Zi,{duration:wi,easeLinearity:U,noMoveStart:!0,animate:!0})}))}}});Ai.addInitHook("addHandler","dragging",EL),Ai.mergeOptions({keyboard:!0,keyboardPanDelta:80});var PL=Fo.extend({keyCodes:{left:[37],right:[39],down:[40],up:[38],zoomIn:[187,107,61,171],zoomOut:[189,109,54,173]},initialize:function(l){this._map=l,this._setPanDelta(l.options.keyboardPanDelta),this._setZoomDelta(l.options.zoomDelta)},addHooks:function(){var l=this._map._container;l.tabIndex<=0&&(l.tabIndex="0"),et(l,{focus:this._onFocus,blur:this._onBlur,mousedown:this._onMouseDown},this),this._map.on({focus:this._addHooks,blur:this._removeHooks},this)},removeHooks:function(){this._removeHooks(),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,I;for(b=0,I=m.left.length;b<I;b++)d[m.left[b]]=[-1*l,0];for(b=0,I=m.right.length;b<I;b++)d[m.right[b]]=[l,0];for(b=0,I=m.down.length;b<I;b++)d[m.down[b]]=[0,l];for(b=0,I=m.up.length;b<I;b++)d[m.up[b]]=[0,-1*l]},_setZoomDelta:function(l){var d=this._zoomKeys={},m=this.keyCodes,b,I;for(b=0,I=m.zoomIn.length;b<I;b++)d[m.zoomIn[b]]=l;for(b=0,I=m.zoomOut.length;b<I;b++)d[m.zoomOut[b]]=-l},_addHooks:function(){et(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=Re(b).multiplyBy(3)),m.options.maxBounds&&(b=m._limitOffset(Re(b),m.options.maxBounds)),m.options.worldCopyJump){var I=m.wrapLatLng(m.unproject(m.project(m.getCenter()).add(b)));m.panTo(I)}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;Ps(l)}}});Ai.addInitHook("addHandler","keyboard",PL),Ai.mergeOptions({scrollWheelZoom:!0,wheelDebounceTime:40,wheelPxPerZoomLevel:60});var TL=Fo.extend({addHooks:function(){et(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),Ps(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),I=4*Math.log(2/(1+Math.exp(-Math.abs(b))))/Math.LN2,E=m?Math.ceil(I/m)*m:I,U=l._limitZoom(d+(this._delta>0?E:-E))-d;this._delta=0,this._startTime=null,U&&(l.options.scrollWheelZoom==="center"?l.setZoom(d+U):l.setZoomAround(this._lastMousePos,d+U))}});Ai.addInitHook("addHandler","scrollWheelZoom",TL);var XR=600;Ai.mergeOptions({tapHold:ue.touchNative&&ue.safari&&ue.mobile,tapTolerance:15});var ML=Fo.extend({addHooks:function(){et(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 Ne(d.clientX,d.clientY),this._holdTimeout=setTimeout(r(function(){this._cancel(),this._isTapValid()&&(et(document,"touchend",Yi),et(document,"touchend touchcancel",this._cancelClickPrevent),this._simulateEvent("contextmenu",d))},this),XR),et(document,"touchend touchcancel contextmenu",this._cancel,this),et(document,"touchmove",this._onMove,this)}},_cancelClickPrevent:function l(){Jt(document,"touchend",Yi),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 Ne(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)}});Ai.addInitHook("addHandler","tapHold",ML),Ai.mergeOptions({touchZoom:ue.touch,bounceAtZoomLimits:!0});var NL=Fo.extend({addHooks:function(){Te(this._map._container,"leaflet-touch-zoom"),et(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(),et(document,"touchmove",this._onTouchMove,this),et(document,"touchend touchcancel",this._onTouchEnd,this),Yi(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]),I=m.distanceTo(b)/this._startDist;if(this._zoom=d.getScaleZoom(I,this._startZoom),!d.options.bounceAtZoomLimits&&(this._zoom<d.getMinZoom()&&I<1||this._zoom>d.getMaxZoom()&&I>1)&&(this._zoom=d._limitZoom(this._zoom)),d.options.touchZoom==="center"){if(this._center=this._startLatLng,I===1)return}else{var E=m._add(b)._divideBy(2)._subtract(this._centerPoint);if(I===1&&E.x===0&&E.y===0)return;this._center=d.unproject(d.project(this._pinchStartLatLng,this._zoom).subtract(E),this._zoom)}this._moved||(d._moveStart(!0,!1),this._moved=!0),st(this._animRequest);var U=r(d._move,d,this._center,this._zoom,{pinch:!0,round:!1},void 0);this._animRequest=ve(U,this,!0),Yi(l)}},_onTouchEnd:function(){if(!this._moved||!this._zooming){this._zooming=!1;return}this._zooming=!1,st(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))}});Ai.addInitHook("addHandler","touchZoom",NL),Ai.BoxZoom=IL,Ai.DoubleClickZoom=DL,Ai.Drag=EL,Ai.Keyboard=PL,Ai.ScrollWheelZoom=TL,Ai.TapHold=ML,Ai.TouchZoom=NL,t.Bounds=ot,t.Browser=ue,t.CRS=Li,t.Canvas=CL,t.Circle=ro,t.CircleMarker=oo,t.Class=yt,t.Control=es,t.DivIcon=yL,t.DivOverlay=ia,t.DomEvent=Cl,t.DomUtil=Pt,t.Draggable=ta,t.Evented=Qt,t.FeatureGroup=di,t.GeoJSON=Kn,t.GridLayer=$g,t.Handler=Fo,t.Icon=qi,t.ImageOverlay=Lm,t.LatLng=zt,t.LatLngBounds=ni,t.Layer=fi,t.LayerGroup=xi,t.LineUtil=oe,t.Map=Ai,t.Marker=Ms,t.Mixin=qy,t.Path=cs,t.Point=Ne,t.PolyUtil=bm,t.Polygon=Ho,t.Polyline=gs,t.Popup=km,t.PosAnimation=Oa,t.Projection=tt,t.Rectangle=kL,t.Renderer=Ha,t.SVG=Kg,t.SVGOverlay=bL,t.TileLayer=Fh,t.Tooltip=Im,t.Transformation=Bn,t.Util=Ot,t.VideoOverlay=vL,t.bind=r,t.bounds=At,t.canvas=xL,t.circle=ao,t.circleMarker=Jo,t.control=Ts,t.divIcon=$R,t.extend=n,t.featureGroup=un,t.geoJSON=Oh,t.geoJson=WR,t.gridLayer=qR,t.icon=Zn,t.imageOverlay=BR,t.latLng=vt,t.latLngBounds=Xt,t.layerGroup=Pi,t.map=Xs,t.marker=Yo,t.point=Re,t.polygon=jg,t.polyline=xl,t.popup=jR,t.rectangle=ZR,t.setOptions=w,t.stamp=c,t.svg=LL,t.svgOverlay=VR,t.tileLayer=wL,t.tooltip=UR,t.transformation=nn,t.version=i,t.videoOverlay=zR;var YR=window.L;t.noConflict=function(){return window.L=YR,this},window.L=t}))})(Cf,Cf.exports)),Cf.exports}var SG=wG();const of=yR(SG),CG="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=",xG="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==",LG="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACkAAAApCAQAAAACach9AAACMUlEQVR4Ae3ShY7jQBAE0Aoz/f9/HTMzhg1zrdKUrJbdx+Kd2nD8VNudfsL/Th///dyQN2TH6f3y/BGpC379rV+S+qqetBOxImNQXL8JCAr2V4iMQXHGNJxeCfZXhSRBcQMfvkOWUdtfzlLgAENmZDcmo2TVmt8OSM2eXxBp3DjHSMFutqS7SbmemzBiR+xpKCNUIRkdkkYxhAkyGoBvyQFEJEefwSmmvBfJuJ6aKqKWnAkvGZOaZXTUgFqYULWNSHUckZuR1HIIimUExutRxwzOLROIG4vKmCKQt364mIlhSyzAf1m9lHZHJZrlAOMMztRRiKimp/rpdJDc9Awry5xTZCte7FHtuS8wJgeYGrex28xNTd086Dik7vUMscQOa8y4DoGtCCSkAKlNwpgNtphjrC6MIHUkR6YWxxs6Sc5xqn222mmCRFzIt8lEdKx+ikCtg91qS2WpwVfBelJCiQJwvzixfI9cxZQWgiSJelKnwBElKYtDOb2MFbhmUigbReQBV0Cg4+qMXSxXSyGUn4UbF8l+7qdSGnTC0XLCmahIgUHLhLOhpVCtw4CzYXvLQWQbJNmxoCsOKAxSgBJno75avolkRw8iIAFcsdc02e9iyCd8tHwmeSSoKTowIgvscSGZUOA7PuCN5b2BX9mQM7S0wYhMNU74zgsPBj3HU7wguAfnxxjFQGBE6pwN+GjME9zHY7zGp8wVxMShYX9NXvEWD3HbwJf4giO4CFIQxXScH1/TM+04kkBiAAAAAElFTkSuQmCC",Fn=(o,e=py)=>{var t=kG(),i=x(C(t),2),n=C(i);G(()=>q(n,e())),T(o,t)};var kG=R('<span class="tip svelte-767znw"><span class="tip-icon svelte-767znw">ℹ</span> <span class="tip-box svelte-767znw"> </span></span>'),IG=R("<button> </button>"),DG=R('<span class="err svelte-767znw"> </span>'),EG=R('<span class="ok svelte-767znw"> </span>'),PG=R('<div class="loading svelte-767znw">Loading…</div>'),TG=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>'),MG=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),NG=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>'),RG=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>'),AG=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),OG=R('<div class="field-error svelte-767znw"> </div>'),FG=R('<div class="field-ok svelte-767znw"> </div>'),HG=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>'),WG=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>'),BG=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>'),zG=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>'),VG=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>'),jG=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>'),UG=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>'),$G=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>'),qG=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>'),KG=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>'),GG=R("<option> </option>"),ZG=R('<span class="free-badge svelte-767znw">FREE</span> ',1),XG=R(' — <a target="_blank" rel="noreferrer" class="svelte-767znw">Get API key ↗</a>',1),YG=R("<div><!> <!></div>"),JG=R('<div class="field svelte-767znw"><label class="svelte-767znw">Base URL <!></label> <input type="text" class="svelte-767znw"/></div>'),QG=R('<div class="field svelte-767znw"><label class="svelte-767znw">API key <!></label> <input type="password" placeholder="sk-…" autocomplete="off" class="svelte-767znw"/></div>'),e9=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>'),t9=R('<div class="config-form svelte-767znw"><!> <!> <!> <!> <!> <!> <!> <!> <!> <!> <!></div>'),i9=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 n9(o,e){Ro(e,!0),delete of.Icon.Default.prototype._getIconUrl,of.Icon.Default.mergeOptions({iconUrl:CG,iconRetinaUrl:xG,shadowUrl:LG});let t=B(Si(vG())),i=B("~/.she"),n=B("mqtt"),s=B(""),r=B(""),a=B(""),c=B(""),h=B(""),g=B(""),f=B("logic"),p=B("var"),v=B(!1),_=B(8080),w=B(""),S=B("none"),D=B(""),P=B("X-Remote-User"),N=B(""),V=B(!1),F=B(""),Y=B(""),X=B(""),me=B(!1),Le=B(!1),je=B(!1),ve=B(48.7408),st=B(9.1778),Ot=B(!1),yt=B(void 0),ai=B(!1),jt=B(null),Qt=B("info"),Ne=B(""),Ge=B(""),Re=B(!1),ot=B(!1),At=B("");const ni=[{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 Xt=B("ollama"),zt=B("ollama"),vt=B(""),Li=B(""),vi=B("");const Tn={};let Gi="ollama";function Bn(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 nn(){Tn[Gi]={baseUrl:u(vt),model:u(Li),apiKey:u(vi)};const j=ni.find(Ue=>Ue.id===u(Xt));if(!j)return;k(zt,j.provider,!0);const pe=Tn[u(Xt)];k(vt,(pe==null?void 0:pe.baseUrl)??j.baseUrl,!0),k(Li,(pe==null?void 0:pe.model)??j.defaultModel,!0),k(vi,(pe==null?void 0:pe.apiKey)??"",!0),Gi=u(Xt)}const Ei=rt(()=>ni.find(j=>j.id===u(Xt)));let Mn=B(Si({}));const sn=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"]);zn(()=>{if(!u(yt))return;const j=typeof u(ve)=="number"?u(ve):48.7408,pe=typeof u(st)=="number"?u(st):9.1778,Ue=of.map(u(yt)).setView([j,pe],10);of.tileLayer("https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png",{attribution:'© <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a>'}).addTo(Ue);const Ce=of.marker([j,pe],{draggable:!0}).addTo(Ue);k(jt,Ce,!0);const De=Xe=>{k(ve,+Xe.lat.toFixed(6)),k(st,+Xe.lng.toFixed(6))};return Ce.on("dragend",()=>De(Ce.getLatLng())),Ue.on("click",Xe=>{Ce.setLatLng(Xe.latlng),De(Xe.latlng)}),()=>{k(jt,null),Ue.remove()}}),zn(()=>{!u(jt)||u(ve)===""||u(st)===""||u(jt).setLatLng([Number(u(ve)),Number(u(st))])});let Sn;function Xi(){if(!navigator.geolocation){Sn.show("Geolocation is not supported by this browser.",{alert:!0});return}k(ai,!0),navigator.geolocation.getCurrentPosition(j=>{k(ve,+j.coords.latitude.toFixed(6)),k(st,+j.coords.longitude.toFixed(6)),k(ai,!1)},()=>{k(ai,!1)})}let Hi=B(!0),dn=B(!1),Nn=B(""),Rn=B(""),$n=B(""),Cn=B("appearance");const pn=[{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 on=rt(()=>pn.filter(j=>{const pe=u($n).trim().toLowerCase();return!pe||j.label.toLowerCase().includes(pe)||j.terms.some(Ue=>Ue.includes(pe))}));function qe(j){var pe;k(Cn,j,!0),(pe=document.getElementById("sec-"+j))==null||pe.scrollIntoView({behavior:"smooth",block:"start"})}xr(async()=>{try{const j=await wf();j.dataDir&&k(i,j.dataDir,!0)}catch{}try{const j=await iL();if(typeof j.url=="string"&&j.url)try{const Ce=new URL(j.url);k(n,Ce.protocol.replace(":",""),!0),k(s,Ce.host,!0)}catch{k(s,j.url,!0)}typeof j.mqttUsername=="string"&&k(r,j.mqttUsername,!0),typeof j.mqttPassword=="string"&&k(a,j.mqttPassword,!0),typeof j.mqttCa=="string"&&k(c,j.mqttCa,!0),typeof j.mqttCert=="string"&&k(h,j.mqttCert,!0),typeof j.mqttKey=="string"&&k(g,j.mqttKey,!0),typeof j.name=="string"&&k(f,j.name,!0),typeof j.variablePrefix=="string"&&k(p,j.variablePrefix,!0),typeof j.disableVariables=="boolean"&&k(v,j.disableVariables,!0),typeof j.port=="number"&&k(_,j.port,!0),typeof j.bindAddress=="string"&&k(w,j.bindAddress,!0),typeof j.auth=="string"&&k(S,j.auth,!0),typeof j.proxyHeader=="string"&&k(P,j.proxyHeader,!0),typeof j.proxyLogoutUrl=="string"&&k(N,j.proxyLogoutUrl,!0),typeof j.dir=="string"&&k(X,j.dir,!0),typeof j.disableWatch=="boolean"&&k(me,j.disableWatch,!0),typeof j.gitAutoCommit=="boolean"&&k(Le,j.gitAutoCommit,!0),typeof j.gitAutoPush=="boolean"&&k(je,j.gitAutoPush,!0),typeof j.latitude=="number"&&k(ve,j.latitude,!0),typeof j.longitude=="number"&&k(st,j.longitude,!0),typeof j.verbosity=="string"&&k(Qt,j.verbosity,!0),typeof j.dbPath=="string"&&k(Ne,j.dbPath,!0),typeof j.dbPrefix=="string"&&k(Ge,j.dbPrefix,!0),typeof j.dbPublish=="boolean"&&k(Re,j.dbPublish,!0),typeof j.dbRetain=="boolean"&&k(ot,j.dbRetain,!0);const pe=j.redis;pe!=null&&pe.url&&k(At,pe.url,!0);const Ue=j.ai;Ue!=null&&Ue.provider&&k(zt,Ue.provider,!0),Ue!=null&&Ue.baseUrl&&k(vt,Ue.baseUrl,!0),Ue!=null&&Ue.model&&k(Li,Ue.model,!0),Ue!=null&&Ue.apiKey&&k(vi,Ue.apiKey,!0),k(Xt,Bn(u(zt),u(vt)),!0),Gi=u(Xt),k(Mn,Object.fromEntries(Object.entries(j).filter(([Ce])=>!sn.has(Ce))),!0)}catch(j){k(Rn,j.message,!0)}finally{k(Hi,!1)}});async function Ft(){if(k(Y,""),k(F,""),u(S)==="password"&&!u(D)){k(Y,"A password is required to enable password authentication.");return}k(V,!0);try{await K8(u(S),u(S)==="password"?u(D):void 0,u(S)==="proxy"?u(P):void 0,u(S)==="proxy"?u(N):void 0),k(D,""),k(F,"Authentication settings saved.")}catch(j){k(Y,j.message,!0)}finally{k(V,!1)}}async function li(){k(Rn,""),k(Nn,"");const j={...u(Mn)};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(w)&&(j.bindAddress=u(w)),u(X)&&(j.dir=u(X)),u(me)&&(j.disableWatch=!0),u(Le)&&(j.gitAutoCommit=!0),u(je)&&(j.gitAutoPush=!0),u(ve)!==""&&(j.latitude=Number(u(ve))),u(st)!==""&&(j.longitude=Number(u(st))),j.verbosity=u(Qt),u(Ne)&&(j.dbPath=u(Ne),u(Ge)&&(j.dbPrefix=u(Ge)),u(Re)&&(j.dbPublish=!0,u(ot)&&(j.dbRetain=!0))),u(At)&&(j.redis={url:u(At)}),u(zt)&&(j.ai={provider:u(zt),...u(vt)?{baseUrl:u(vt)}:{},...u(Li)?{model:u(Li)}:{},...u(vi)?{apiKey:u(vi)}:{}}),k(dn,!0);try{const pe=await s7(j);window.dispatchEvent(new CustomEvent("she:config-changed")),k(Nn,pe.restartRequired?"Saved — restart required to apply changes.":"Saved.",!0)}catch(pe){k(Rn,pe.message,!0)}finally{k(dn,!1)}}var Ci=i9(),Ii=bt(Ci);bs(Hg(Ii,{}),j=>Sn=j,()=>Sn);var mn=x(Ii,2),xn=C(mn),qn=C(xn),hn=x(C(qn),2),An=x(qn,2);_i(An,21,()=>pn,j=>j.id,(j,pe)=>{var Ue=Fs(),Ce=bt(Ue);{var De=Vt=>{var ft=IG();let ue;var ht=C(ft);G(()=>{ue=$t(ft,1,"section-link svelte-767znw",null,ue,{active:u(Cn)===u(pe).id}),q(ht,u(pe).label)}),te("click",ft,()=>qe(u(pe).id)),T(Vt,ft)},Xe=rt(()=>u(on).some(Vt=>Vt.id===u(pe).id));$(Ce,Vt=>{u(Xe)&&Vt(De)})}T(j,Ue)});var rn=x(xn,2),Ln=C(rn),Ae=x(C(Ln),2);{var Z=j=>{var pe=DG(),Ue=C(pe);G(()=>q(Ue,u(Rn))),T(j,pe)};$(Ae,j=>{u(Rn)&&j(Z)})}var Fe=x(Ae,2);{var wt=j=>{var pe=EG(),Ue=C(pe);G(()=>q(Ue,u(Nn))),T(j,pe)};$(Fe,j=>{u(Nn)&&j(wt)})}var Dt=x(Fe,2),Nt=C(Dt),O=x(Ln,2);{var se=j=>{var pe=PG();T(j,pe)},be=j=>{var pe=t9(),Ue=C(pe);{var Ce=re=>{var Je=TG(),Oe=x(C(Je),2),xe=x(C(Oe),2),St=C(xe);St.value=St.__value="dark";var Te=x(St);Te.value=Te.__value="light";var H=x(Te);H.value=H.__value="system",te("change",xe,()=>bG(u(t))),_a(xe,()=>u(t),J=>k(t,J)),T(re,Je)},De=rt(()=>u(on).some(re=>re.id==="appearance"));$(Ue,re=>{u(De)&&re(Ce)})}var Xe=x(Ue,2);{var Vt=re=>{var Je=NG(),Oe=x(C(Je),2),xe=C(Oe),St=x(C(xe));Fn(St,()=>"Transport protocol. Use mqtts or wss for TLS encryption.");var Te=x(xe,2),H=C(Te);H.value=H.__value="mqtt";var J=x(H);J.value=J.__value="mqtts";var ke=x(J);ke.value=ke.__value="ws";var Ke=x(ke);Ke.value=Ke.__value="wss";var nt=x(Oe,2),at=C(nt),ut=x(C(at));Fn(ut,()=>"Hostname and optional port of the MQTT broker. Example: 192.168.1.1:1883. Leave empty to run without MQTT.");var ye=x(at,2),Et=x(nt,2),dt=C(Et),he=x(C(dt));Fn(he,()=>"MQTT broker username. Leave empty if the broker does not require authentication.");var Ct=x(dt,2),Ze=x(Et,2),Ie=C(Ze),le=x(C(Ie));Fn(le,()=>"MQTT broker password. Stored in plain text in config.json.");var _e=x(Ie,2),Qe=x(Ze,2);{var Bt=ri=>{var On=MG(),Yi=bt(On),Ps=C(Yi),Oo=x(C(Ps));Fn(Oo,()=>"PEM-encoded CA certificate to verify the broker's TLS certificate. Leave empty to use the system's default CA store.");var Lr=x(Ps,2),Aa=x(Yi,2),kr=C(Aa),Qr=x(C(kr));Fn(Qr,()=>"PEM-encoded client certificate for mutual TLS authentication.");var Cl=x(kr,2),Oa=x(Aa,2),Ai=C(Oa),Xs=x(C(Ai));Fn(Xs,()=>"PEM-encoded private key matching the client certificate.");var es=x(Ai,2);Ni(Lr,()=>u(c),Ts=>k(c,Ts)),Ni(Cl,()=>u(h),Ts=>k(h,Ts)),Ni(es,()=>u(g),Ts=>k(g,Ts)),T(ri,On)};$(Qe,ri=>{(u(n)==="mqtts"||u(n)==="wss")&&ri(Bt)})}var fe=x(Qe,2),$e=C(fe),gt=x(C($e));Fn(gt,()=>'MQTT client ID and topic prefix used for the "connected" status message. Default: she');var Pt=x($e,2),et=x(fe,2),ci=C(et),Jt=x(C(ci));Fn(Jt,()=>"Topic prefix for the variable system (var/set/name → var/status/name). Default: var");var Gn=x(ci,2),$i=x(et,2),oi=x(C($i),2),Gt=C(oi),_n=x(Gt,4);Fn(_n,()=>"When enabled, var/set/… messages are not processed and no var/status/… retained messages are published."),_a(Te,()=>u(n),ri=>k(n,ri)),Ni(ye,()=>u(s),ri=>k(s,ri)),Ni(Ct,()=>u(r),ri=>k(r,ri)),Ni(_e,()=>u(a),ri=>k(a,ri)),Ni(Pt,()=>u(f),ri=>k(f,ri)),Ni(Gn,()=>u(p),ri=>k(p,ri)),As(Gt,()=>u(v),ri=>k(v,ri)),T(re,Je)},ft=rt(()=>u(on).some(re=>re.id==="mqtt"));$(Xe,re=>{u(ft)&&re(Vt)})}var ue=x(Xe,2);{var ht=re=>{var Je=HG(),Oe=x(C(Je),2),xe=C(Oe),St=x(C(xe));Fn(St,()=>"none: no authentication required. password: single-user password login. proxy: trust a header set by nginx/authentik.");var Te=x(xe,2),H=C(Te);H.value=H.__value="none";var J=x(H);J.value=J.__value="password";var ke=x(J);ke.value=ke.__value="proxy";var Ke=x(Oe,2);{var nt=le=>{var _e=RG(),Qe=C(_e),Bt=C(Qe),fe=x(Bt);Fn(fe,()=>"Set a new password. Leave empty to keep the current password (if already set).");var $e=x(Qe,2);G(()=>q(Bt,`${u(D)?"New password":"Password"} `)),Ni($e,()=>u(D),gt=>k(D,gt)),T(le,_e)};$(Ke,le=>{u(S)==="password"&&le(nt)})}var at=x(Ke,2);{var ut=le=>{var _e=AG(),Qe=bt(_e),Bt=C(Qe),fe=x(C(Bt));Fn(fe,()=>"The HTTP header that nginx/authentik sets after successful authentication. Default: X-Remote-User");var $e=x(Bt,2),gt=x(Qe,2),Pt=C(gt),et=x(C(Pt));Fn(et,()=>"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 ci=x(Pt,2);Ni($e,()=>u(P),Jt=>k(P,Jt)),Ni(ci,()=>u(N),Jt=>k(N,Jt)),T(le,_e)};$(at,le=>{u(S)==="proxy"&&le(ut)})}var ye=x(at,2);{var Et=le=>{var _e=OG(),Qe=C(_e);G(()=>q(Qe,u(Y))),T(le,_e)};$(ye,le=>{u(Y)&&le(Et)})}var dt=x(ye,2);{var he=le=>{var _e=FG(),Qe=C(_e);G(()=>q(Qe,u(F))),T(le,_e)};$(dt,le=>{u(F)&&le(he)})}var Ct=x(dt,2),Ze=x(C(Ct),2),Ie=C(Ze);G(()=>{Ze.disabled=u(V)||u(S)==="password"&&!u(D),q(Ie,u(V)?"Saving…":"Apply authentication settings")}),_a(Te,()=>u(S),le=>k(S,le)),te("click",Ze,Ft),T(re,Je)},ii=rt(()=>u(on).some(re=>re.id==="auth"));$(ue,re=>{u(ii)&&re(ht)})}var Kt=x(ue,2);{var si=re=>{var Je=WG(),Oe=x(C(Je),2),xe=C(Oe),St=x(C(xe));Fn(St,()=>"HTTP server port. Use 0 to let the OS pick a free port. Default: 8080");var Te=x(xe,2),H=x(Oe,2),J=C(H),ke=x(C(J));Fn(ke,()=>"Interface she listens on. Use 127.0.0.1 when running behind nginx (recommended with proxy auth). Default: 0.0.0.0");var Ke=x(J,2);Ni(Te,()=>u(_),nt=>k(_,nt)),Ni(Ke,()=>u(w),nt=>k(w,nt)),T(re,Je)},ui=rt(()=>u(on).some(re=>re.id==="webserver"));$(Kt,re=>{u(ui)&&re(si)})}var Q=x(Kt,2);{var ge=re=>{var Je=BG(),Oe=x(C(Je),2),xe=C(Oe),St=x(C(xe));Fn(St,()=>"Directory that is watched for .js script files. Defaults to {dataDir}/scripts");var Te=x(xe,2),H=x(Oe,2),J=x(C(H),2),ke=C(J),Ke=x(ke,4);Fn(Ke,()=>"When enabled the daemon will not watch for file changes and will not hot-reload scripts."),G(()=>Hn(Te,"placeholder",`${u(i)??""}/scripts (default)`)),Ni(Te,()=>u(X),nt=>k(X,nt)),As(ke,()=>u(me),nt=>k(me,nt)),T(re,Je)},We=rt(()=>u(on).some(re=>re.id==="scripts"));$(Q,re=>{u(We)&&re(ge)})}var it=x(Q,2);{var xt=re=>{var Je=zG(),Oe=x(C(Je),2),xe=x(C(Oe),2),St=C(xe),Te=x(St,4);Fn(Te,()=>"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=x(Oe,2),J=x(C(H),2),ke=C(J),Ke=x(ke,4);Fn(Ke,()=>"When enabled, every commit (manual or automatic) is immediately pushed to the remote."),As(St,()=>u(Le),nt=>k(Le,nt)),As(ke,()=>u(je),nt=>k(je,nt)),T(re,Je)},Ye=rt(()=>u(on).some(re=>re.id==="git"));$(it,re=>{u(Ye)&&re(xt)})}var pt=x(it,2);{var ei=re=>{var Je=jG(),Oe=x(C(Je),2),xe=C(Oe),St=x(C(xe));Fn(St,()=>"Geographic latitude used for sunrise/sunset calculations. Default: 48.7408 (Stuttgart)");var Te=x(xe,2),H=x(Oe,2),J=C(H),ke=x(C(J));Fn(ke,()=>"Geographic longitude used for sunrise/sunset calculations. Default: 9.1778 (Stuttgart)");var Ke=x(J,2),nt=x(H,2),at=x(C(nt),2),ut=C(at),ye=C(ut);{var Et=le=>{var _e=Ur("…");T(le,_e)},dt=le=>{var _e=Ur("📍 Use my location");T(le,_e)};$(ye,le=>{u(ai)?le(Et):le(dt,-1)})}var he=x(ut,2),Ct=C(he),Ze=x(nt,2);{var Ie=le=>{var _e=VG(),Qe=x(C(_e),2);bs(Qe,Bt=>k(yt,Bt),()=>u(yt)),T(le,_e)};$(Ze,le=>{u(Ot)&&le(Ie)})}G(()=>{ut.disabled=u(ai),q(Ct,u(Ot)?"Hide map":"Pick on map")}),Ni(Te,()=>u(ve),le=>k(ve,le)),Ni(Ke,()=>u(st),le=>k(st,le)),te("click",ut,Xi),te("click",he,()=>k(Ot,!u(Ot))),T(re,Je)},Ut=rt(()=>u(on).some(re=>re.id==="solar"));$(pt,re=>{u(Ut)&&re(ei)})}var Rt=x(pt,2);{var Oi=re=>{var Je=UG(),Oe=x(C(Je),2),xe=C(Oe),St=x(C(xe));Fn(St,()=>"Minimum log level. debug shows all messages including MQTT traffic details.");var Te=x(xe,2),H=C(Te);H.value=H.__value="debug";var J=x(H);J.value=J.__value="info";var ke=x(J);ke.value=ke.__value="warn";var Ke=x(ke);Ke.value=Ke.__value="error",_a(Te,()=>u(Qt),nt=>k(Qt,nt)),T(re,Je)},an=rt(()=>u(on).some(re=>re.id==="logging"));$(Rt,re=>{u(an)&&re(Oi)})}var Wi=x(Rt,2);{var ti=re=>{var Je=qG(),Oe=x(C(Je),2),xe=C(Oe),St=x(C(xe));Fn(St,()=>"Path to the sheDB data directory. Defaults to {dataDir}/db. Leave empty to disable sheDB.");var Te=x(xe,2),H=x(Oe,2),J=C(H),ke=x(C(J));Fn(ke,()=>"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 Ke=x(J,2),nt=x(H,2),at=x(C(nt),2);let ut;var ye=C(at),Et=x(ye,4);Fn(Et,()=>'When enabled, every document change is published to {dbPrefix}doc/{id}. Individual views can publish independently via their own "mqttpub" setting.');var dt=x(nt,2);{var he=Ct=>{var Ze=$G(),Ie=x(C(Ze),2);let le;var _e=C(Ie),Qe=x(_e,4);Fn(Qe,()=>"When enabled, MQTT messages for document changes are published as retained messages."),G(()=>{le=$t(Ie,1,"check-label svelte-767znw",null,le,{muted:!u(Ne)}),_e.disabled=!u(Ne)}),As(_e,()=>u(ot),Bt=>k(ot,Bt)),T(Ct,Ze)};$(dt,Ct=>{u(Re)&&Ct(he)})}G(()=>{Hn(Te,"placeholder",`defaults to ${u(i)??""}/db`),Ke.disabled=!u(Ne),ut=$t(at,1,"check-label svelte-767znw",null,ut,{muted:!u(Ne)}),ye.disabled=!u(Ne)}),Ni(Te,()=>u(Ne),Ct=>k(Ne,Ct)),Ni(Ke,()=>u(Ge),Ct=>k(Ge,Ct)),As(ye,()=>u(Re),Ct=>k(Re,Ct)),T(re,Je)},ji=rt(()=>u(on).some(re=>re.id==="shedb"));$(Wi,re=>{u(ji)&&re(ti)})}var A=x(Wi,2);{var K=re=>{var Je=KG(),Oe=x(C(Je),2),xe=C(Oe),St=x(C(xe));Fn(St,()=>"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 Te=x(xe,2);Ni(Te,()=>u(At),H=>k(At,H)),T(re,Je)},Ee=rt(()=>u(on).some(re=>re.id==="redis"));$(A,re=>{u(Ee)&&re(K)})}var Pe=x(A,2);{var Be=re=>{var Je=e9(),Oe=x(C(Je),2),xe=C(Oe),St=x(C(xe));Fn(St,()=>"Choose a provider. Free options need a free API key from the provider's website — no credit card required.");var Te=x(xe,2);_i(Te,21,()=>ni,Vn,(he,Ct)=>{var Ze=GG(),Ie=C(Ze),le={};G(()=>{q(Ie,u(Ct).label),le!==(le=u(Ct).id)&&(Ze.value=(Ze.__value=u(Ct).id)??"")}),T(he,Ze)});var H=x(Oe,2);{var J=he=>{var Ct=YG();let Ze;var Ie=C(Ct);{var le=Bt=>{var fe=ZG(),$e=x(bt(fe));G(()=>q($e,` ${u(Ei).freeNote??""}`)),T(Bt,fe)};$(Ie,Bt=>{u(Ei).freeNote&&Bt(le)})}var _e=x(Ie,2);{var Qe=Bt=>{var fe=XG(),$e=x(bt(fe));G(()=>Hn($e,"href",u(Ei).apiKeyUrl)),T(Bt,fe)};$(_e,Bt=>{u(Ei).apiKeyUrl&&Bt(Qe)})}G(()=>Ze=$t(Ct,1,"preset-note svelte-767znw",null,Ze,{free:!!u(Ei).freeNote})),T(he,Ct)};$(H,he=>{var Ct,Ze;((Ct=u(Ei))!=null&&Ct.freeNote||(Ze=u(Ei))!=null&&Ze.apiKeyUrl)&&he(J)})}var ke=x(H,2);{var Ke=he=>{var Ct=JG(),Ze=C(Ct),Ie=x(C(Ze));Fn(Ie,()=>"Base URL of the LLM API. Auto-filled for cloud presets. For Ollama: http://localhost:11434.");var le=x(Ze,2);G(()=>{var _e;return Hn(le,"placeholder",u(Xt)==="ollama"?"http://localhost:11434":u(Xt)==="lmstudio"?"http://localhost:1234":((_e=u(Ei))==null?void 0:_e.baseUrl)??"")}),Ni(le,()=>u(vt),_e=>k(vt,_e)),T(he,Ct)};$(ke,he=>{u(Xt)!=="anthropic"&&he(Ke)})}var nt=x(ke,2),at=C(nt),ut=x(C(at));Fn(ut,()=>"Model identifier. Suggested default is filled in when you choose a preset.");var ye=x(at,2),Et=x(nt,2);{var dt=he=>{var Ct=QG(),Ze=C(Ct),Ie=x(C(Ze));Fn(Ie,()=>"Stored in config.json. Not needed for local providers.");var le=x(Ze,2);Ni(le,()=>u(vi),_e=>k(vi,_e)),T(he,Ct)};$(Et,he=>{u(Xt)!=="ollama"&&u(Xt)!=="lmstudio"&&he(dt)})}G(()=>{var he;return Hn(ye,"placeholder",((he=u(Ei))==null?void 0:he.defaultModel)||"e.g. llama3.2")}),te("change",Te,nn),_a(Te,()=>u(Xt),he=>k(Xt,he)),Ni(ye,()=>u(Li),he=>k(Li,he)),T(re,Je)},Me=rt(()=>u(on).some(re=>re.id==="ai"));$(Pe,re=>{u(Me)&&re(Be)})}T(j,pe)};$(O,j=>{u(Hi)?j(se):j(be,-1)})}G(()=>{Dt.disabled=u(dn),q(Nt,u(dn)?"Saving…":"Save")}),Ni(hn,()=>u($n),j=>k($n,j)),te("click",Dt,li),T(o,Ci),Ao()}Cr(["click","change"]);var s9=R("<option> </option>"),o9=R('<div><span class="ts svelte-18loop9"> </span> <span class="lvl svelte-18loop9"> </span> <span class="msg svelte-18loop9"> </span></div>'),r9=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 a9(o,e){Ro(e,!0);let t=B(Si(C7())),i,n=B(!0),s=B("all"),r=B(""),a=B(!1);const c=["all","debug","info","warn","error"],h={debug:0,info:1,warn:2,error:3};bR(X=>{k(t,[...u(t).slice(-1999),X],!0)}),xr(()=>{i&&(i.scrollTop=i.scrollHeight)}),zn(()=>{u(t).length,u(n)&&i&&(i.scrollTop=i.scrollHeight)});function g(){k(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=r9(),_=C(v),w=x(C(_),2);_i(w,21,()=>c,Vn,(X,me)=>{var Le=s9(),je=C(Le),ve={};G(()=>{q(je,u(me)),ve!==(ve=u(me))&&(Le.value=(Le.__value=u(me))??"")}),T(X,Le)});var S=x(w,2),D=x(S,2),P=C(D),N=x(D,2),V=C(N),F=x(N,2),Y=x(_,2);_i(Y,21,()=>u(t).filter(f),X=>X.ts+X.msg,(X,me)=>{var Le=o9(),je=C(Le),ve=C(je),st=x(je,2),Ot=C(st),yt=x(st,2),ai=C(yt);G((jt,Qt)=>{$t(Le,1,`line ${u(me).level??""}`,"svelte-18loop9"),q(ve,jt),q(Ot,Qt),q(ai,u(me).msg)},[()=>p(u(me).ts),()=>u(me).level.toUpperCase()]),T(X,Le)}),bs(Y,X=>i=X,()=>i),_a(w,()=>u(s),X=>k(s,X)),Ni(S,()=>u(r),X=>k(r,X)),As(P,()=>u(a),X=>k(a,X)),As(V,()=>u(n),X=>k(n,X)),te("click",F,g),T(o,v),Ao()}Cr(["click"]);var l9=R('<span class="chat-model svelte-1twuiul"><!></span>'),c9=R('<button class="clear-btn svelte-1twuiul" title="Clear conversation">✕</button>'),d9=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>'),h9=R('Working on view <code class="svelte-1twuiul"> </code>',1),u9=R('<button class="chip svelte-1twuiul"> </button>'),g9=R('<div class="suggestions svelte-1twuiul"><p class="suggestions-hint svelte-1twuiul"><!></p> <!></div>'),f9=R('<div class="msg-content user-text svelte-1twuiul"> </div>'),BD=R('<div class="tool-event tool-call svelte-1twuiul"><span class="tool-icon svelte-1twuiul">🔧</span><span class="tool-name svelte-1twuiul"> </span></div>'),zD=R('<div class="tool-event tool-result svelte-1twuiul"><span class="tool-icon svelte-1twuiul">✓</span><span class="tool-name svelte-1twuiul"> </span></div>'),VD=R('<div class="tool-events svelte-1twuiul"></div>'),jD=R('<div class="text-block svelte-1twuiul"></div>'),p9=R('<button class="expand-btn svelte-1twuiul"> </button>'),m9=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>'),_9=R('<div class="apply-view-row svelte-1twuiul"><button class="apply-view-btn svelte-1twuiul"> </button></div>'),v9=R('<!> <div class="msg-content svelte-1twuiul"><!> <!></div>',1),b9=R("<div><!></div>"),y9=R('<div class="message assistant svelte-1twuiul"><div class="msg-content svelte-1twuiul"><span class="status-shimmer svelte-1twuiul"> </span></div></div>'),w9=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>'),S9=R('<div class="message assistant streaming svelte-1twuiul"><div class="msg-content svelte-1twuiul"></div></div>'),C9=R('<div class="chat-error svelte-1twuiul"> </div>'),x9=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>'),L9=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>'),k9=R('<button class="stop-btn svelte-1twuiul" title="Stop generation">■</button>'),I9=R('<button class="send-btn svelte-1twuiul">↑</button>'),D9=R('<option class="svelte-1twuiul"> </option>'),E9=R('<select class="model-select svelte-1twuiul"></select>'),P9=R('<span class="model-name svelte-1twuiul"> </span>'),T9=R('<button class="info-btn svelte-1twuiul" title="Model info">ℹ</button>'),M9=R('<div class="model-bar svelte-1twuiul"><span class="model-provider svelte-1twuiul"> </span> <!> <!></div>'),N9=R('<p class="info-status svelte-1twuiul">Loading…</p>'),R9=R('<p class="info-status info-err svelte-1twuiul"> </p>'),A9=R('<dt class="svelte-1twuiul">Ollama version</dt><dd class="svelte-1twuiul"> </dd>',1),O9=R('<dt class="svelte-1twuiul">Family</dt><dd class="svelte-1twuiul"> </dd>',1),F9=R('<dt class="svelte-1twuiul">Parameters</dt><dd class="svelte-1twuiul"> </dd>',1),H9=R('<dt class="svelte-1twuiul">Quantization</dt><dd class="svelte-1twuiul"> </dd>',1),W9=R('<div class="running-model svelte-1twuiul"> </div>'),B9=R('<dt class="svelte-1twuiul">Loaded</dt> <dd class="svelte-1twuiul"></dd>',1),z9=R('<dt class="svelte-1twuiul">Loaded</dt><dd class="dim svelte-1twuiul">Not in memory</dd>',1),V9=R('<dl class="svelte-1twuiul"><!> <!> <!> <!> <!></dl>'),j9=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>'),U9=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 $9(o,e){Ro(e,!0),Xv.registerLanguage("javascript",xR),Wn.use({breaks:!0,gfm:!0});let t=cg(e,"currentView",3,null);const i="she:viewchat:messages";let n=B(Si(JSON.parse(localStorage.getItem(i)??"[]"))),s=B(null),r=B(""),a=B(!1),c=B(""),h=B(null),g=B(Si([])),f=B(Si(localStorage.getItem("she:selectedModel")??""));zn(()=>{localStorage.setItem(i,JSON.stringify(u(n)))});let p=B(Si(new Set)),v=B(!1),_=B(null),w=B(!1),S=B(""),D=null,P=B(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=B(!0),F=B(!0),Y=B(!0),X=B(Si([])),me=B(!0),Le=B(!1),je,ve=B(Si([])),st=B(0),Ot,yt;const ai=rt(()=>({apiref:!1,shedb:u(V),sampleDocs:u(F),tools:u(Y)})),jt=rt(()=>{var A;return((A=u(h))==null?void 0:A.configured)??!1}),Qt=rt(()=>u(st)+new TextEncoder().encode(u(r)).length),Ne=rt(()=>u(me)?t():null);async function Ge(){try{const A=await gR();k(h,A,!0),A.configured&&!u(f)&&k(f,A.model,!0)}catch{}}zn(()=>(window.addEventListener("she:config-changed",Ge),()=>window.removeEventListener("she:config-changed",Ge))),xr(()=>{Ge()}),zn(()=>{u(f)&&localStorage.setItem("she:selectedModel",u(f))}),zn(()=>{var A;(A=u(h))!=null&&A.provider&&fR().then(K=>{k(g,K.models,!0),!u(f)&&K.models.length>0&&k(f,K.models[0],!0)}).catch(()=>{})}),zn(()=>{u(f),k(_,null),k(S,"")}),zn(()=>{const A=u(ai),K=u(Ne),Ee=u(X);u(jt)&&mR({context:A,currentView:K??null,extraFiles:Ee.length>0?Ee:void 0}).then(Pe=>{k(st,new TextEncoder().encode(Pe.prompt).length,!0)}).catch(()=>{})}),zn(()=>{if(!u(a))return;k(P,Math.floor(Math.random()*N.length),!0);const A=setInterval(()=>{k(P,(u(P)+1)%N.length)},1e4);return()=>clearInterval(A)}),zn(()=>{var A;yt&&(u(n).length+(((A=u(s))==null?void 0:A.length)??0),requestAnimationFrame(()=>{yt&&(yt.scrollTop=yt.scrollHeight)}))});function Re(A){const K=[],Ee=/```(\w*)\n([\s\S]*?)```/g;let Pe=0,Be;for(;(Be=Ee.exec(A))!==null;)Be.index>Pe&&K.push({type:"text",text:A.slice(Pe,Be.index)}),K.push({type:"code",lang:Be[1]||"text",text:Be[2].trimEnd()}),Pe=Be.index+Be[0].length;return Pe<A.length&&K.push({type:"text",text:A.slice(Pe)}),K}function ot(A){const K=[],Ee=/```(\w*)\n([\s\S]*?)```/g;let Pe=0,Be;for(;(Be=Ee.exec(A))!==null;)Be.index>Pe&&K.push({type:"text",text:A.slice(Pe,Be.index)}),K.push({type:"code",lang:Be[1]||"text",text:Be[2].trimEnd()}),Pe=Be.index+Be[0].length;const Me=A.slice(Pe),re=Me.match(/```(\w*)\n([\s\S]*)$/);return re?(re.index>0&&K.push({type:"text",text:Me.slice(0,re.index)}),K.push({type:"code",lang:re[1]||"text",text:re[2]})):Me&&K.push({type:"text",text:Me}),K}function At(A){const K={};for(const Ee of A)if(Ee.type==="code"){if(Ee.lang==="filter")K.filter=Ee.text.trim();else if(Gi(Ee.lang)){const Pe=Ee.text.split(`
|
|
218
|
-
`)[0].trim();Pe==="// @view-map"?K.map=Ee.text.split(`
|
|
219
|
-
`).slice(1).join(`
|
|
220
|
-
`).trim():Pe==="// @view-reduce"&&(K.reduce=Ee.text.split(`
|
|
221
|
-
`).slice(1).join(`
|
|
222
|
-
`).trim())}}return K}function ni(A){return A.filter!==void 0||A.map!==void 0||A.reduce!==void 0}function Xt(A){const K=[];return A.filter!==void 0&&K.push("filter"),A.map!==void 0&&K.push("map"),A.reduce!==void 0&&K.push("reduce"),`Apply ${K.join(" + ")}`}const zt=15;function vt(A){return A.split(`
|
|
223
|
-
`).length>zt}function Li(A){const K=new Set(u(p));K.has(A)?K.delete(A):K.add(A),k(p,K,!0)}function vi(A,K){if(Gi(K))try{return Xv.highlight(A,{language:"javascript"}).value}catch{}return A.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">")}function Tn(A){return Wn.parse(A)}function Gi(A){return!A||A==="js"||A==="javascript"}function Bn(A){navigator.clipboard.writeText(A).catch(()=>{})}async function nn(){if(k(v,!0),!(u(_)||u(w))){k(w,!0),k(S,"");try{k(_,await pR(u(f)||u(h).model),!0)}catch(A){k(S,A.message,!0)}k(w,!1)}}function Ei(A){return A>=1e9?`${(A/1e9).toFixed(1)} GB`:A>=1e6?`${(A/1e6).toFixed(0)} MB`:`${A} B`}function Mn(A){const K=A.match(/\.([^.]+)$/);return K?K[1].toUpperCase():"?"}function sn(A){switch(A){case"SH":case"BASH":return"$";case"MD":case"MARKDOWN":return"↓";case"JSON":case"JSONC":return"{}";default:return A}}function Sn(A){k(X,u(X).filter((K,Ee)=>Ee!==A),!0)}function Xi(){je.click()}async function Hi(A){if(!(!A||A.length===0))for(const K of Array.from(A)){const Ee=await K.text();k(X,[...u(X),{name:K.name,content:Ee}],!0)}}function dn(A){const K=A.target;Hi(K.files),K.value=""}function Nn(A){var K;A.preventDefault(),k(Le,!1),Hi(((K=A.dataTransfer)==null?void 0:K.files)??null)}function Rn(A){var K;(K=A.dataTransfer)!=null&&K.types.includes("Files")&&(A.preventDefault(),k(Le,!0))}function $n(){k(Le,!1)}async function Cn(){const A=u(r).trim();if(!(!A||u(a))){k(r,""),k(c,""),k(a,!0),k(n,[...u(n),{role:"user",content:A}],!0),D=new AbortController,k(ve,[],!0);try{await _R({messages:u(n),currentView:u(Ne),context:u(ai),modelOverride:u(f)||void 0,extraFiles:u(X).length>0?u(X):void 0},K=>{k(s,(u(s)??"")+K)},D.signal,K=>{k(ve,[...u(ve),K],!0)}),k(n,[...u(n),{role:"assistant",content:u(s)??"",toolEvents:u(ve).length>0?[...u(ve)]:void 0}],!0),k(ve,[],!0)}catch(K){if(K.name==="AbortError"){const Ee=u(s);Ee!=null&&Ee.trim()&&k(n,[...u(n),{role:"assistant",content:Ee+`
|
|
224
|
-
|
|
225
|
-
*[stopped]*`,toolEvents:u(ve).length>0?[...u(ve)]:void 0}],!0)}else k(c,K.message,!0)}finally{D=null,k(s,null),k(ve,[],!0),k(a,!1)}}}function pn(){D==null||D.abort()}function on(A){A.key==="Enter"&&!A.shiftKey&&(A.preventDefault(),Cn())}function qe(){k(n,[],!0),k(c,"")}const Ft=["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 li(A){k(r,A,!0),Ot==null||Ot.focus()}var Ci=U9(),Ii=bt(Ci),mn=C(Ii),xn=x(C(mn),2);{var qn=A=>{var K=l9(),Ee=C(K);{var Pe=Me=>{var re=Ur();G(()=>q(re,`${u(h).provider??""} · ${(u(f)||u(h).model)??""}`)),T(Me,re)},Be=Me=>{var re=Ur("Not configured");T(Me,re)};$(Ee,Me=>{u(jt)?Me(Pe):Me(Be,-1)})}G(()=>Hn(K,"title",`Provider: ${u(h).provider??""}`)),T(A,K)};$(xn,A=>{u(h)&&A(qn)})}var hn=x(xn,2);{var An=A=>{var K=c9();te("click",K,qe),T(A,K)};$(hn,A=>{u(n).length>0&&A(An)})}var rn=x(mn,2),Ln=C(rn);{var Ae=A=>{var K=d9();T(A,K)},Z=A=>{var K=g9(),Ee=C(K),Pe=C(Ee);{var Be=Je=>{var Oe=h9(),xe=x(bt(Oe)),St=C(xe);G(()=>q(St,t().id)),T(Je,Oe)},Me=Je=>{var Oe=Ur("No view selected. Ask a general sheDB view question.");T(Je,Oe)};$(Pe,Je=>{t()?Je(Be):Je(Me,-1)})}var re=x(Ee,2);_i(re,17,()=>Ft,Vn,(Je,Oe)=>{var xe=u9(),St=C(xe);G(()=>q(St,u(Oe))),te("click",xe,()=>li(u(Oe))),T(Je,xe)}),T(A,K)};$(Ln,A=>{u(jt)?u(n).length===0&&u(s)===null&&A(Z,1):A(Ae)})}var Fe=x(Ln,2);_i(Fe,17,()=>u(n),Vn,(A,K,Ee)=>{var Pe=b9(),Be=C(Pe);{var Me=Je=>{var Oe=f9(),xe=C(Oe);G(()=>q(xe,u(K).content)),T(Je,Oe)},re=Je=>{const Oe=rt(()=>Re(u(K).content)),xe=rt(()=>At(u(Oe)));var St=v9(),Te=bt(St);{var H=ut=>{var ye=VD();_i(ye,21,()=>u(K).toolEvents,Vn,(Et,dt)=>{var he=Fs(),Ct=bt(he);{var Ze=le=>{var _e=BD(),Qe=x(C(_e)),Bt=C(Qe);G(fe=>q(Bt,fe),[()=>u(dt).name.replace(/_/g," ")]),T(le,_e)},Ie=le=>{var _e=zD(),Qe=x(C(_e)),Bt=C(Qe);G(fe=>q(Bt,fe),[()=>u(dt).name.replace(/_/g," ")]),T(le,_e)};$(Ct,le=>{u(dt).type==="tool_call"?le(Ze):le(Ie,-1)})}T(Et,he)}),T(ut,ye)};$(Te,ut=>{var ye;(ye=u(K).toolEvents)!=null&&ye.length&&ut(H)})}var J=x(Te,2),ke=C(J);_i(ke,17,()=>u(Oe),Vn,(ut,ye,Et)=>{var dt=Fs(),he=bt(dt);{var Ct=Ie=>{var le=jD();Ul(le,()=>Tn(u(ye).text),!0),T(Ie,le)},Ze=Ie=>{const le=rt(()=>`${Ee}:${Et}`),_e=rt(()=>vt(u(ye).text)),Qe=rt(()=>u(p).has(u(le))),Bt=rt(()=>u(ye).lang==="filter");var fe=m9(),$e=C(fe),gt=C($e),Pt=C(gt),et=x(gt,2),ci=C(et),Jt=x($e,2);let Gn;var $i=C(Jt),oi=C($i);Ul(oi,()=>vi(u(ye).text,u(ye).lang??""),!0);var Gt=x($i,2);{var _n=ri=>{var On=p9(),Yi=C(On);G(()=>q(Yi,u(Qe)?"▲ collapse":"▼ expand")),te("click",On,()=>Li(u(le))),T(ri,On)};$(Gt,ri=>{u(_e)&&ri(_n)})}G(()=>{q(Pt,u(Bt)?"filter":u(ye).lang),Gn=$t(Jt,1,"code-body svelte-1twuiul",null,Gn,{collapsed:u(_e)&&!u(Qe)})}),te("click",ci,()=>Bn(u(ye).text)),T(Ie,fe)};$(he,Ie=>{u(ye).type==="text"?Ie(Ct):Ie(Ze,-1)})}T(ut,dt)});var Ke=x(ke,2);{var nt=ut=>{var ye=_9(),Et=C(ye),dt=C(Et);G(he=>q(dt,he),[()=>Xt(u(xe))]),te("click",Et,()=>e.onApplyView(u(xe))),T(ut,ye)},at=rt(()=>ni(u(xe))&&e.onApplyView);$(Ke,ut=>{u(at)&&ut(nt)})}T(Je,St)};$(Be,Je=>{u(K).role==="user"?Je(Me):Je(re,-1)})}G(()=>$t(Pe,1,`message ${u(K).role??""}`,"svelte-1twuiul")),T(A,Pe)});var wt=x(Fe,2);{var Dt=A=>{var K=VD();_i(K,21,()=>u(ve),Vn,(Ee,Pe)=>{var Be=Fs(),Me=bt(Be);{var re=Oe=>{var xe=BD(),St=x(C(xe)),Te=C(St);G(H=>q(Te,H),[()=>u(Pe).name.replace(/_/g," ")]),T(Oe,xe)},Je=Oe=>{var xe=zD(),St=x(C(xe)),Te=C(St);G(H=>q(Te,H),[()=>u(Pe).name.replace(/_/g," ")]),T(Oe,xe)};$(Me,Oe=>{u(Pe).type==="tool_call"?Oe(re):Oe(Je,-1)})}T(Ee,Be)}),T(A,K)};$(wt,A=>{u(ve).length>0&&A(Dt)})}var Nt=x(wt,2);{var O=A=>{var K=y9(),Ee=C(K),Pe=C(Ee),Be=C(Pe);G(()=>q(Be,N[u(P)])),T(A,K)};$(Nt,A=>{u(a)&&u(s)===null&&u(ve).length===0&&A(O)})}var se=x(Nt,2);{var be=A=>{var K=S9(),Ee=C(K);_i(Ee,21,()=>ot(u(s)),Vn,(Pe,Be)=>{var Me=Fs(),re=bt(Me);{var Je=xe=>{var St=jD();Ul(St,()=>Tn(u(Be).text),!0),T(xe,St)},Oe=xe=>{var St=w9(),Te=C(St),H=C(Te),J=C(H),ke=x(Te,2),Ke=C(ke);Ul(Ke,()=>vi(u(Be).text,u(Be).lang??""),!0),G(()=>q(J,u(Be).lang)),T(xe,St)};$(re,xe=>{u(Be).type==="text"?xe(Je):xe(Oe,-1)})}T(Pe,Me)}),T(A,K)};$(se,A=>{u(s)!==null&&A(be)})}bs(rn,A=>yt=A,()=>yt);var j=x(rn,2);{var pe=A=>{var K=C9(),Ee=C(K);G(()=>q(Ee,u(c))),T(A,K)};$(j,A=>{u(c)&&A(pe)})}var Ue=x(j,2),Ce=C(Ue),De=C(Ce),Xe=x(Ce,2),Vt=C(Xe),ft=x(Xe,2),ue=C(ft),ht=x(ft,2),ii=C(ht),Kt=x(Ue,2),si=C(Kt);{var ui=A=>{var K=x9();let Ee;var Pe=x(C(K),2),Be=C(Pe),Me=x(Pe,2),re=C(Me);G(()=>{Ee=$t(K,1,"file-chip svelte-1twuiul",null,Ee,{inactive:!u(me)}),q(Be,t().id),Hn(Me,"title",u(me)?"Remove from context":"Re-add to context"),q(re,u(me)?"×":"+")}),te("click",Me,()=>k(me,!u(me))),T(A,K)};$(si,A=>{t()&&A(ui)})}var Q=x(si,2);_i(Q,17,()=>u(X),Vn,(A,K,Ee)=>{const Pe=rt(()=>Mn(u(K).name));var Be=L9(),Me=C(Be),re=C(Me),Je=x(Me,2),Oe=C(Je),xe=x(Je,2);G((St,Te)=>{$t(Me,1,`badge badge-${St??""}`,"svelte-1twuiul"),q(re,Te),q(Oe,u(K).name)},[()=>u(Pe).toLowerCase(),()=>sn(u(Pe))]),te("click",xe,()=>Sn(Ee)),T(A,Be)});var ge=x(Q,2),We=x(ge,2);bs(We,A=>je=A,()=>je);var it=x(Kt,2);let xt;var Ye=C(it);let pt;var ei=C(Ye);bs(ei,A=>Ot=A,()=>Ot);var Ut=x(Ye,2);{var Rt=A=>{var K=k9();te("click",K,pn),T(A,K)},Oi=A=>{var K=I9();G(Ee=>K.disabled=Ee,[()=>!u(r).trim()||!u(jt)]),te("click",K,Cn),T(A,K)};$(Ut,A=>{u(a)?A(Rt):A(Oi,-1)})}var an=x(it,2);{var Wi=A=>{var K=M9(),Ee=C(K),Pe=C(Ee),Be=x(Ee,2);{var Me=xe=>{var St=E9();_i(St,21,()=>u(g),Vn,(Te,H)=>{var J=D9(),ke=C(J),Ke={};G(()=>{q(ke,u(H)),Ke!==(Ke=u(H))&&(J.value=(J.__value=u(H))??"")}),T(Te,J)}),G(()=>St.disabled=u(a)),_a(St,()=>u(f),Te=>k(f,Te)),T(xe,St)},re=xe=>{var St=P9(),Te=C(St);G(()=>q(Te,u(f)||u(h).model)),T(xe,St)};$(Be,xe=>{u(g).length>0?xe(Me):xe(re,-1)})}var Je=x(Be,2);{var Oe=xe=>{var St=T9();te("click",St,nn),T(xe,St)};$(Je,xe=>{u(h).provider==="ollama"&&xe(Oe)})}G(()=>q(Pe,u(h).provider)),T(A,K)};$(an,A=>{u(jt)&&u(h)&&A(Wi)})}var ti=x(Ii,2);{var ji=A=>{var K=j9(),Ee=C(K),Pe=C(Ee),Be=C(Pe),Me=C(Be),re=x(Be,2),Je=x(Pe,2),Oe=C(Je);{var xe=H=>{var J=N9();T(H,J)},St=H=>{var J=R9(),ke=C(J);G(()=>q(ke,u(S))),T(H,J)},Te=H=>{var J=V9(),ke=C(J);{var Ke=Ie=>{var le=A9(),_e=x(bt(le)),Qe=C(_e);G(()=>q(Qe,u(_).version)),T(Ie,le)};$(ke,Ie=>{u(_).version&&Ie(Ke)})}var nt=x(ke,2);{var at=Ie=>{var le=O9(),_e=x(bt(le)),Qe=C(_e);G(()=>q(Qe,u(_).details.family)),T(Ie,le)};$(nt,Ie=>{var le;(le=u(_).details)!=null&&le.family&&Ie(at)})}var ut=x(nt,2);{var ye=Ie=>{var le=F9(),_e=x(bt(le)),Qe=C(_e);G(()=>q(Qe,u(_).details.parameter_size)),T(Ie,le)};$(ut,Ie=>{var le;(le=u(_).details)!=null&&le.parameter_size&&Ie(ye)})}var Et=x(ut,2);{var dt=Ie=>{var le=H9(),_e=x(bt(le)),Qe=C(_e);G(()=>q(Qe,u(_).details.quantization_level)),T(Ie,le)};$(Et,Ie=>{var le;(le=u(_).details)!=null&&le.quantization_level&&Ie(dt)})}var he=x(Et,2);{var Ct=Ie=>{var le=B9(),_e=x(bt(le),2);_i(_e,21,()=>u(_).running,Vn,(Qe,Bt)=>{var fe=W9(),$e=C(fe);G(gt=>q($e,`${u(Bt).name??""} · ${gt??""} VRAM`),[()=>Ei(u(Bt).size_vram)]),T(Qe,fe)}),T(Ie,le)},Ze=Ie=>{var le=z9();T(Ie,le)};$(he,Ie=>{u(_).running&&u(_).running.length>0?Ie(Ct):u(_).running!==null&&Ie(Ze,1)})}T(H,J)};$(Oe,H=>{u(w)?H(xe):u(S)?H(St,1):u(_)&&H(Te,2)})}G(()=>{var H;return q(Me,`Ollama · ${(u(f)||((H=u(h))==null?void 0:H.model))??""}`)}),te("click",K,()=>k(v,!1)),te("click",Ee,H=>H.stopPropagation()),te("click",re,()=>k(v,!1)),T(A,K)};$(ti,A=>{u(v)&&A(ji)})}G(A=>{q(ii,A),xt=$t(it,1,"input-row svelte-1twuiul",null,xt,{"drag-over":u(Le)}),pt=$t(Ye,1,"textarea-wrap svelte-1twuiul",null,pt,{loading:u(a)}),Hn(ei,"placeholder",u(jt)?"Ask anything… (Enter to send, Shift+Enter for newline, drag & drop files to add context)":"AI not configured"),ei.disabled=u(a)||!u(jt)},[()=>Ei(u(Qt))]),As(De,()=>u(V),A=>k(V,A)),As(Vt,()=>u(F),A=>k(F,A)),As(ue,()=>u(Y),A=>k(Y,A)),te("click",ge,Xi),te("change",We,dn),os("dragover",it,Rn),os("dragleave",it,$n),os("drop",it,Nn),te("keydown",ei,on),Ni(ei,()=>u(r),A=>k(r,A)),T(o,Ci),Ao()}Cr(["click","change","keydown"]);var q9=R('<div class="me svelte-1pxdb1"></div>');function Zw(o,e){Ro(e,!0);let t=cg(e,"value",15,""),i=cg(e,"language",3,"javascript"),n,s,r=!1;xr(()=>{const c=i()==="json"?{formatOnPaste:!0,autoIndent:"full"}:{};s=tr.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())})}),yy(()=>s==null?void 0:s.dispose()),zn(()=>{!s||s.getValue()===t()||(r=!0,s.setValue(t()),r=!1)});var a=q9();bs(a,c=>n=c,()=>n),T(o,a),Ao()}var K9=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),G9=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>'),UD=R('<div class="form-error svelte-rrt0o"> </div>'),Z9=R('<div class="new-item-form svelte-rrt0o"><input placeholder="device/lamp1" class="svelte-rrt0o"/> <button class="svelte-rrt0o">Create</button></div> <!>',1),$D=R("<li> </li>"),qD=R('<div class="error-bar svelte-rrt0o"> </div>'),KD=R('<div class="loading svelte-rrt0o">Loading…</div>'),X9=R('<div class="monaco-doc-wrap svelte-rrt0o"><!></div>'),Y9=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),J9=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>'),Q9=R('<div class="new-item-form svelte-rrt0o"><input placeholder="myView" class="svelte-rrt0o"/> <button class="svelte-rrt0o">Create</button></div> <!>',1),eZ=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>'),tZ=R('<span class="badge-error svelte-rrt0o">error</span>'),iZ=R('<span class="badge-ok svelte-rrt0o"> </span>'),nZ=R('<pre class="result-error svelte-rrt0o"> </pre>'),sZ=R('<pre class="result-json svelte-rrt0o"> </pre>'),oZ=R('<div class="view-result svelte-rrt0o"><div class="result-header svelte-rrt0o">Result <!></div> <!></div>'),rZ=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>'),aZ=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),lZ=R('<div class="chat-resize-handle svelte-rrt0o" role="separator"></div> <div class="chat-pane svelte-rrt0o"><!></div>',1),cZ=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>'),dZ=R('<div class="db-root svelte-rrt0o" role="presentation"><div class="panel-tabs svelte-rrt0o"><button>Documents</button> <button>Views</button> <!></div> <!></div>');function hZ(o,e){Ro(e,!0);const t=Ae=>{var Z=K9(),Fe=bt(Z);bs(Hg(Fe,{}),wt=>sn=wt,()=>sn),T(Ae,Z)};let i=B(Si([])),n=B(null),s=B("{}"),r=B(!1),a=B(null);const c="she-db-selected-view";let h=B(Si([])),g=B(Si(localStorage.getItem(c))),f=B("#"),p=B("// emit(this.someProperty)"),v=B(""),_=B(""),w=B(!1),S=B(!1),D=B(null),P=B(!1),N=B(null),V=B("she/db/view/");const F="she-db-panel";let Y=B(Si(localStorage.getItem(F)??"docs")),X=B(""),me=B(!1),Le=B(null),je=B(""),ve=B(!1),st=B(null);const Ot="she-db-sidebar-width";let yt=B(Si(parseInt(localStorage.getItem(Ot)??"220",10))),ai=!1,jt=0,Qt=0;const Ne="she-db-chat-width",Ge="she-db-chat-open";let Re=B(localStorage.getItem(Ge)==="true"),ot=B(Si(parseInt(localStorage.getItem(Ne)??"320",10))),At=!1,ni=0,Xt=0;const zt=rt(()=>u(g)?{id:u(g),filter:u(f),map:u(p),reduce:u(v)}:null);function vt(Ae){Ae.filter!==void 0&&k(f,Ae.filter,!0),Ae.map!==void 0&&k(p,Ae.map,!0),Ae.reduce!==void 0&&k(v,Ae.reduce,!0)}zn(()=>{localStorage.setItem(Ge,String(u(Re)))}),zn(()=>{localStorage.setItem(F,u(Y))}),zn(()=>{u(g)?localStorage.setItem(c,u(g)):localStorage.removeItem(c)});function Li(Ae){ai=!0,jt=Ae.clientX,Qt=u(yt),Ae.preventDefault()}function vi(Ae){ai&&k(yt,Math.max(140,Math.min(500,Qt+Ae.clientX-jt)),!0),At&&k(ot,Math.max(240,Math.min(600,Xt-(Ae.clientX-ni))),!0)}function Tn(){ai&&(ai=!1,localStorage.setItem(Ot,String(u(yt)))),At&&(At=!1,localStorage.setItem(Ne,String(u(ot))))}function Gi(Ae){At=!0,ni=Ae.clientX,Xt=u(ot),Ae.preventDefault()}async function Bn(){try{k(i,await cR(),!0)}catch{}}async function nn(){try{k(h,await dR(),!0)}catch{}}async function Ei(Ae){k(n,Ae,!0),k(a,null),k(r,!0);try{const Z=await o7(Ae);k(s,JSON.stringify(Z,null,2),!0)}catch(Z){k(a,Z instanceof Error?Z.message:String(Z),!0)}finally{k(r,!1)}}async function Mn(){if(u(n)){k(a,null);try{const Ae=JSON.parse(u(s));await pD(u(n),Ae)}catch(Ae){k(a,Ae instanceof Error?Ae.message:String(Ae),!0)}}}let sn;async function Sn(){if(u(n)&&await sn.show(`Delete document "${u(n)}"?`,{confirm:"Delete",danger:!0}))try{await r7(u(n)),k(n,null),k(s,"{}")}catch(Ae){k(a,Ae instanceof Error?Ae.message:String(Ae),!0)}}async function Xi(){const Ae=u(X).trim();if(Ae){k(Le,null);try{await pD(Ae,{}),k(me,!1),k(X,""),await Ei(Ae)}catch(Z){k(Le,Z instanceof Error?Z.message:String(Z),!0)}}}async function Hi(Ae){k(g,Ae,!0),k(N,null),k(P,!0),k(D,null);try{const Z=await a7(Ae);k(f,Z.filter??"",!0),k(p,Z.map,!0),k(v,Z.reduce??"",!0),k(_,Z.description??"",!0),k(w,Z.mqttpub??!1,!0),k(S,Z.retain??!1,!0),k(D,await Kw(Ae).catch(()=>null),!0)}catch(Z){k(N,Z instanceof Error?Z.message:String(Z),!0)}finally{k(P,!1)}}async function dn(){if(u(g)){k(N,null);try{const Ae={map:u(p)};u(f).trim()&&(Ae.filter=u(f).trim()),u(v).trim()&&(Ae.reduce=u(v).trim()),u(_).trim()&&(Ae.description=u(_).trim()),u(w)&&(Ae.mqttpub=!0),u(S)&&(Ae.retain=!0),await mD(u(g),Ae)}catch(Ae){k(N,Ae instanceof Error?Ae.message:String(Ae),!0)}}}async function Nn(){if(u(g))try{k(D,await Kw(u(g)),!0)}catch(Ae){k(N,Ae instanceof Error?Ae.message:String(Ae),!0)}}async function Rn(){if(u(g)&&await sn.show(`Delete view "${u(g)}"?`,{confirm:"Delete",danger:!0}))try{await l7(u(g)),k(g,null),k(f,""),k(p,"// emit(this.someProperty)"),k(v,""),k(_,""),k(w,!1),k(S,!1),k(D,null)}catch(Ae){k(N,Ae instanceof Error?Ae.message:String(Ae),!0)}}async function $n(){if(!u(je).trim())return;const Ae=u(je).trim();k(st,null);try{await mD(Ae,{map:"// emit(this.someProperty)"}),k(ve,!1),k(je,""),await nn(),await Hi(Ae)}catch(Z){k(st,Z instanceof Error?Z.message:String(Z),!0)}}let Cn=B(""),pn=B(""),on=rt(()=>[...u(i)].filter(Ae=>!u(Cn)||Ae.toLowerCase().includes(u(Cn).toLowerCase())).sort()),qe=rt(()=>[...u(h)].filter(Ae=>!u(pn)||Ae.toLowerCase().includes(u(pn).toLowerCase())).sort());xr(()=>{Bn(),nn().then(()=>{u(g)&&u(h).includes(u(g))?Hi(u(g)):k(g,null)}),iL().then(Dt=>{const Nt=Dt.dbPrefix||"she/db/",O=Nt.endsWith("/")?Nt:Nt+"/";k(V,O+"view/")}).catch(()=>{});const Ae=Ya("db:ids",Dt=>{k(i,Dt.ids??[],!0)}),Z=Ya("db:viewIds",Dt=>{k(h,Dt.ids??[],!0)}),Fe=Ya("db:change",async Dt=>{const Nt=Dt.id;u(n)===Nt&&(Dt.doc===null?(k(n,null),k(s,"{}")):k(s,JSON.stringify(Dt.doc,null,2),!0))}),wt=Ya("db:viewUpdate",async Dt=>{const Nt=Dt.id;u(g)===Nt&&k(D,await Kw(Nt).catch(()=>null),!0)});return()=>{Ae(),Z(),Fe(),wt()}});var Ft=dZ(),li=C(Ft),Ci=C(li);let Ii;var mn=x(Ci,2);let xn;var qn=x(mn,2);{var hn=Ae=>{var Z=G9();let Fe;G(()=>{Fe=$t(Z,1,"ai-toggle svelte-rrt0o",null,Fe,{"ai-open":u(Re)}),Hn(Z,"title",u(Re)?"Close AI assistant":"Open AI assistant")}),te("click",Z,()=>k(Re,!u(Re))),T(Ae,Z)};$(qn,Ae=>{u(Y)==="views"&&Ae(hn)})}var An=x(li,2);{var rn=Ae=>{var Z=J9(),Fe=C(Z);let wt;var Dt=C(Fe),Nt=C(Dt),O=x(Dt,2);{var se=ft=>{var ue=Z9(),ht=bt(ue),ii=C(ht),Kt=x(ii,2),si=x(ht,2);{var ui=Q=>{var ge=UD(),We=C(ge);G(()=>q(We,u(Le))),T(Q,ge)};$(si,Q=>{u(Le)&&Q(ui)})}te("keydown",ii,Q=>Q.key==="Enter"&&Xi()),Ni(ii,()=>u(X),Q=>k(X,Q)),te("click",Kt,Xi),T(ft,ue)};$(O,ft=>{u(me)&&ft(se)})}var be=x(O,2),j=C(be),pe=x(be,2);_i(pe,20,()=>u(on),ft=>ft,(ft,ue)=>{var ht=$D();let ii;var Kt=C(ht);G(()=>{ii=$t(ht,1,"flat-item svelte-rrt0o",null,ii,{"active-item":u(n)===ue}),q(Kt,ue)}),te("click",ht,()=>Ei(ue)),T(ft,ht)});var Ue=x(Fe,2),Ce=x(Ue,2),De=C(Ce);{var Xe=ft=>{var ue=Y9(),ht=bt(ue),ii=C(ht),Kt=C(ii),si=x(ii,2),ui=x(si,2),Q=x(ht,2);{var ge=Ye=>{var pt=qD(),ei=C(pt);G(()=>q(ei,u(a))),T(Ye,pt)};$(Q,Ye=>{u(a)&&Ye(ge)})}var We=x(Q,2);{var it=Ye=>{var pt=KD();T(Ye,pt)},xt=Ye=>{var pt=X9(),ei=C(pt);Zw(ei,{language:"json",get value(){return u(s)},set value(Ut){k(s,Ut,!0)}}),T(Ye,pt)};$(We,Ye=>{u(r)?Ye(it):Ye(xt,-1)})}G(()=>q(Kt,u(n))),te("click",si,Mn),te("click",ui,Sn),T(ft,ue)},Vt=ft=>{t(ft)};$(De,ft=>{u(n)?ft(Xe):ft(Vt,-1)})}G(()=>wt=Ko(Fe,"",wt,{width:`${u(yt)??""}px`})),te("click",Nt,()=>{k(me,!u(me)),k(Le,null)}),Ni(j,()=>u(Cn),ft=>k(Cn,ft)),te("mousedown",Ue,Li),T(Ae,Z)},Ln=Ae=>{var Z=cZ(),Fe=C(Z);let wt;var Dt=C(Fe),Nt=C(Dt),O=x(Dt,2);{var se=ht=>{var ii=Q9(),Kt=bt(ii),si=C(Kt),ui=x(si,2),Q=x(Kt,2);{var ge=We=>{var it=UD(),xt=C(it);G(()=>q(xt,u(st))),T(We,it)};$(Q,We=>{u(st)&&We(ge)})}te("keydown",si,We=>We.key==="Enter"&&$n()),Ni(si,()=>u(je),We=>k(je,We)),te("click",ui,$n),T(ht,ii)};$(O,ht=>{u(ve)&&ht(se)})}var be=x(O,2),j=C(be),pe=x(be,2);_i(pe,20,()=>u(qe),ht=>ht,(ht,ii)=>{var Kt=$D();let si;var ui=C(Kt);G(()=>{si=$t(Kt,1,"flat-item svelte-rrt0o",null,si,{"active-item":u(g)===ii}),q(ui,ii)}),te("click",Kt,()=>Hi(ii)),T(ht,Kt)});var Ue=x(Fe,2),Ce=x(Ue,2),De=C(Ce);{var Xe=ht=>{var ii=aZ(),Kt=bt(ii),si=C(Kt),ui=C(si),Q=x(si,2),ge=x(Q,2),We=x(ge,2),it=x(Kt,2);{var xt=Ut=>{var Rt=qD(),Oi=C(Rt);G(()=>q(Oi,u(N))),T(Ut,Rt)};$(it,Ut=>{u(N)&&Ut(xt)})}var Ye=x(it,2);{var pt=Ut=>{var Rt=KD();T(Ut,Rt)},ei=Ut=>{var Rt=rZ(),Oi=C(Rt),an=x(C(Oi),2),Wi=C(an),ti=x(Oi,2),ji=x(C(ti),2),A=C(ji),K=x(ti,2),Ee=x(C(K),2),Pe=C(Ee);Zw(Pe,{language:"javascript",get value(){return u(p)},set value(at){k(p,at,!0)}});var Be=x(K,2),Me=x(C(Be),2),re=C(Me);Zw(re,{language:"javascript",get value(){return u(v)},set value(at){k(v,at,!0)}});var Je=x(Be,2),Oe=C(Je),xe=C(Oe),St=x(xe,4),Te=x(C(St)),H=C(Te),J=x(Oe,2);{var ke=at=>{var ut=eZ(),ye=C(ut);As(ye,()=>u(S),Et=>k(S,Et)),T(at,ut)};$(J,at=>{u(w)&&at(ke)})}var Ke=x(Je,2);{var nt=at=>{var ut=oZ(),ye=C(ut),Et=x(C(ye));{var dt=le=>{var _e=tZ();T(le,_e)},he=le=>{var _e=iZ(),Qe=C(_e);G(()=>q(Qe,`${u(D).length??0??""} items · rev ${u(D)._rev??""}`)),T(le,_e)};$(Et,le=>{u(D).error?le(dt):le(he,-1)})}var Ct=x(ye,2);{var Ze=le=>{var _e=nZ(),Qe=C(_e);G(()=>q(Qe,u(D).error)),T(le,_e)},Ie=le=>{var _e=sZ(),Qe=C(_e);G(Bt=>q(Qe,Bt),[()=>JSON.stringify(u(D).result,null,2)]),T(le,_e)};$(Ct,le=>{u(D).error?le(Ze):le(Ie,-1)})}T(at,ut)};$(Ke,at=>{u(D)&&at(nt)})}G(()=>q(H,`${u(V)??""}${u(g)??""} on every update`)),Ni(Wi,()=>u(_),at=>k(_,at)),Ni(A,()=>u(f),at=>k(f,at)),As(xe,()=>u(w),at=>k(w,at)),T(Ut,Rt)};$(Ye,Ut=>{u(P)?Ut(pt):Ut(ei,-1)})}G(()=>q(ui,u(g))),te("click",Q,dn),te("click",ge,Nn),te("click",We,Rn),T(ht,ii)},Vt=ht=>{t(ht)};$(De,ht=>{u(g)?ht(Xe):ht(Vt,-1)})}var ft=x(Ce,2);{var ue=ht=>{var ii=lZ(),Kt=bt(ii),si=x(Kt,2);let ui;var Q=C(si);$9(Q,{get currentView(){return u(zt)},onApplyView:vt}),G(()=>ui=Ko(si,"",ui,{width:`${u(ot)??""}px`})),te("mousedown",Kt,Gi),T(ht,ii)};$(ft,ht=>{u(Re)&&ht(ue)})}G(()=>wt=Ko(Fe,"",wt,{width:`${u(yt)??""}px`})),te("click",Nt,()=>{k(ve,!u(ve)),k(st,null)}),Ni(j,()=>u(pn),ht=>k(pn,ht)),te("mousedown",Ue,Li),T(Ae,Z)};$(An,Ae=>{u(Y)==="docs"?Ae(rn):Ae(Ln,-1)})}G(()=>{Ii=$t(Ci,1,"svelte-rrt0o",null,Ii,{active:u(Y)==="docs"}),xn=$t(mn,1,"svelte-rrt0o",null,xn,{active:u(Y)==="views"})}),te("mousemove",Ft,vi),te("mouseup",Ft,Tn),os("mouseleave",Ft,Tn),te("click",Ci,()=>k(Y,"docs")),te("click",mn,()=>k(Y,"views")),T(o,Ft),Ao()}Cr(["mousemove","mouseup","click","keydown","mousedown"]);var uZ=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),gZ=R('<label class="svelte-1ua3isv">Pairing Code / QR <input type="text" placeholder="MT:..." class="svelte-1ua3isv"/></label>'),GD=R('<p class="err svelte-1ua3isv"> </p>'),fZ=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>'),pZ=R('<span class="device-name svelte-1ua3isv"> </span> <span class="device-nodeid svelte-1ua3isv"> </span>',1),mZ=R('<span class="device-name svelte-1ua3isv"> </span>'),_Z=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>'),vZ=R('<li class="empty svelte-1ua3isv">No paired devices</li>'),bZ=R('<p class="info svelte-1ua3isv">Loading…</p>'),yZ=R('<p class="device-subtitle svelte-1ua3isv"> </p>'),wZ=R('<span class="ep-chip svelte-1ua3isv"> </span>'),SZ=R('<span class="attr-id svelte-1ua3isv"> </span>'),CZ=R('<button class="attr-action-btn svelte-1ua3isv"> </button>'),xZ=R('<div class="attr-actions svelte-1ua3isv"></div>'),LZ=R('<span class="cmd-sep svelte-1ua3isv">,</span>'),kZ=R('<span class="cmd-name svelte-1ua3isv"> </span><span class="cmd-id svelte-1ua3isv"> </span>',1),IZ=R('<span class="cmd-id svelte-1ua3isv"> </span>'),DZ=R("<!> <!>",1),EZ=R('<span class="cmd-list svelte-1ua3isv"></span>'),PZ=R(' <span class="cmd-id svelte-1ua3isv"> </span>',1),TZ=R('<tr class="svelte-1ua3isv"><td class="svelte-1ua3isv"><!></td><td class="svelte-1ua3isv"> </td></tr>'),MZ=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>'),NZ=R('<th class="svelte-1ua3isv"> </th>'),RZ=R('<td class="svelte-1ua3isv"> </td>'),AZ=R('<tr class="svelte-1ua3isv"></tr>'),OZ=R('<table class="attr-arr-table svelte-1ua3isv"><thead class="svelte-1ua3isv"><tr class="svelte-1ua3isv"></tr></thead><tbody class="svelte-1ua3isv"></tbody></table>'),FZ=R('<tr class="svelte-1ua3isv"><td class="attr-obj-key svelte-1ua3isv"> </td><td class="attr-obj-val svelte-1ua3isv"> </td></tr>'),HZ=R('<table class="attr-obj-table svelte-1ua3isv"><tbody class="svelte-1ua3isv"></tbody></table>'),WZ=R('<a class="attr-link svelte-1ua3isv" target="_blank" rel="noopener noreferrer"> </a>'),BZ=R('<span class="attr-val svelte-1ua3isv"> </span>'),zZ=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>'),VZ=R('<tr class="cluster-hdr-row svelte-1ua3isv"><td colspan="3" class="cluster-hdr-cell svelte-1ua3isv"> </td></tr> <!>',1),jZ=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>'),UZ=R('<p class="no-clusters svelte-1ua3isv">No clusters</p>'),$Z=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>'),qZ=R('<div class="detail-hdr svelte-1ua3isv"><h2 class="svelte-1ua3isv"> </h2> <!> <p class="detail-nodeid svelte-1ua3isv"> </p></div> <!>',1),KZ=R('<p class="info svelte-1ua3isv">Select a device to view its endpoints.</p>'),GZ=R('<span class="stream-badge svelte-1ua3isv"> </span>'),ZZ=R('<span class="stream-empty svelte-1ua3isv">Waiting for events…</span>'),Xw=R(' <span class="e-sub svelte-1ua3isv"> </span>',1),XZ=R('<span class="e-badge e-badge-status svelte-1ua3isv">status</span> <span class="e-node svelte-1ua3isv"> <!></span> <span> </span>',1),YZ=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),JZ=R('<div class="er svelte-1ua3isv"><span class="e-ts svelte-1ua3isv"> </span> <!></div>'),QZ=R('<div class="stream-body svelte-1ua3isv"><!></div>'),eX=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 tX(o,e){Ro(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(Z,Fe,wt,Dt,Nt){try{await w7(Z,Fe,wt,Dt,Nt)}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(Z,Fe){const wt=n[Z];return Fe.map(Dt=>{const Nt=typeof Dt=="number"?Dt:Number(Dt);return{id:Nt,name:(wt==null?void 0:wt[Nt])??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(Z){return"0x"+Z.toString(16).toUpperCase().padStart(4,"0")}let g=B(Si([])),f=Si(new Map);function p(Z){if(Z==null)return"—";if(typeof Z=="boolean"||typeof Z=="number")return String(Z);if(typeof Z=="string")return Z.length>50?Z.slice(0,47)+"…":Z;const Fe=JSON.stringify(Z);return Fe.length>60?Fe.slice(0,57)+"…":Fe}function v(Z){return Z==null?"—":typeof Z=="boolean"||typeof Z=="number"?String(Z):typeof Z=="string"?Z:JSON.stringify(Z)}function _(Z){return Z!==null&&typeof Z=="object"&&!Array.isArray(Z)}function w(Z){return Array.isArray(Z)&&Z.length>0&&Z.every(_)}function S(Z,Fe){return!!(Fe==="attributeList"||Array.isArray(Z)&&Z.length===0||_(Z)&&Object.keys(Z).length===0)}function D(Z){return new Date(Z).toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1})}const P=500,N=20,V=32;let F=0,Y=B(Si([])),X=B(!0),me=B(180),Le=rt(()=>{const Z=Math.max(1,Math.floor((u(me)-V)/N)+1);return u(Y).slice(0,Z)});function je(Z){Z.preventDefault();const Fe=Z.clientY,wt=u(me);function Dt(O){k(me,Math.max(60,Math.min(600,wt+Fe-O.clientY)),!0)}function Nt(){document.removeEventListener("mousemove",Dt),document.removeEventListener("mouseup",Nt)}document.addEventListener("mousemove",Dt),document.addEventListener("mouseup",Nt)}let ve=B(null),st=B(!1),Ot=B(null),yt=B(!1),ai=B("passcode"),jt=B(""),Qt=B(""),Ne=B(""),Ge=B(!1),Re=B(null),ot=B("");const At="she:matter:selectedNodeId";async function ni(){try{k(g,await hR(),!0);for(const Z of u(g))T_(Z.nodeId).then(Fe=>{f.set(Z.nodeId,Fe)}).catch(()=>{});if(u(g).length>0&&!u(ve)){const Z=localStorage.getItem(At),Fe=Z&&u(g).find(wt=>wt.nodeId===Z)?Z:u(g)[0].nodeId;Xt(Fe)}}catch{k(g,[],!0)}}async function Xt(Z){k(st,!0),k(Ot,null);try{k(ve,await T_(Z),!0),f.set(Z,u(ve)),localStorage.setItem(At,Z)}catch(Fe){k(Ot,Fe instanceof Error?Fe.message:String(Fe),!0)}finally{k(st,!1)}}let zt;async function vt(Z){var Fe;if(await zt.show(`Unpair device ${Z}?`,{confirm:"Unpair",danger:!0}))try{await y7(Z),((Fe=u(ve))==null?void 0:Fe.nodeId)===Z&&k(ve,null),await ni()}catch(wt){k(Ot,wt instanceof Error?wt.message:String(wt),!0)}}async function Li(){k(Ge,!0),k(Re,null);try{let Z;u(ai)==="passcode"?(Z={passcode:Number(u(jt))},u(Qt)&&(Z={...Z,discriminator:Number(u(Qt))})):Z={pairingCode:u(Ne).trim()},u(ot).trim()&&(Z={...Z,discoveryAddress:u(ot).trim()}),await b7(Z),k(yt,!1),k(jt,""),k(Qt,""),k(Ne,""),k(ot,""),await ni()}catch(Z){k(Re,Z instanceof Error?Z.message:String(Z),!0)}finally{k(Ge,!1)}}xr(()=>{ni()});const vi=Ya("matter:deviceList",Z=>{if(!Array.isArray(Z.devices))return;const Fe=Z.devices;for(const wt of Fe)f.has(wt.nodeId)||T_(wt.nodeId).then(Dt=>{f.set(wt.nodeId,Dt)}).catch(()=>{});k(g,Fe,!0)}),Tn=Ya("matter:deviceStatus",Z=>{if(Z.nodeId===void 0)return;const Fe=String(Z.nodeId),wt=!!Z.online;k(g,u(g).map(Dt=>Dt.nodeId===Fe?{...Dt,online:wt}:Dt),!0),k(Y,[{id:F++,kind:"status",nodeId:Fe,online:wt,ts:Date.now()},...u(Y).slice(0,P-1)],!0)}),Gi=Ya("matter:attr",Z=>{const Fe=String(Z.nodeId),wt=Z.endpointId,Dt=String(Z.clusterName),Nt=String(Z.attrName),O=Z.value;if(u(ve)&&u(ve).nodeId===Fe){const be=u(ve).endpoints.find(pe=>pe.endpointId===wt),j=be==null?void 0:be.clusters.find(pe=>pe.name===Dt);j&&(j.attrs[Nt]=O)}const se=f.get(Fe);if(se){const be=se.endpoints.find(pe=>pe.endpointId===wt),j=be==null?void 0:be.clusters.find(pe=>pe.name===Dt);j&&(j.attrs[Nt]=O)}k(Y,[{id:F++,kind:"attr",nodeId:Fe,endpointId:wt,clusterName:Dt,attrName:Nt,value:O,ts:Z.ts??Date.now()},...u(Y).slice(0,P-1)],!0)});yy(()=>{vi(),Tn(),Gi()});var Bn=eX(),nn=bt(Bn);bs(Hg(nn,{}),Z=>zt=Z,()=>zt);var Ei=x(nn,2),Mn=C(Ei),sn=C(Mn),Sn=C(sn),Xi=x(C(Sn),2),Hi=x(Sn,2);{var dn=Z=>{var Fe=fZ(),wt=C(Fe),Dt=C(wt);let Nt;var O=x(Dt,2);let se;var be=x(wt,2);{var j=ue=>{var ht=uZ(),ii=bt(ht),Kt=x(C(ii)),si=x(ii,2),ui=x(C(si));Ni(Kt,()=>u(jt),Q=>k(jt,Q)),Ni(ui,()=>u(Qt),Q=>k(Qt,Q)),T(ue,ht)},pe=ue=>{var ht=gZ(),ii=x(C(ht));Ni(ii,()=>u(Ne),Kt=>k(Ne,Kt)),T(ue,ht)};$(be,ue=>{u(ai)==="passcode"?ue(j):ue(pe,-1)})}var Ue=x(be,2),Ce=x(C(Ue)),De=x(Ue,2);{var Xe=ue=>{var ht=GD(),ii=C(ht);G(()=>q(ii,u(Re))),T(ue,ht)};$(De,ue=>{u(Re)&&ue(Xe)})}var Vt=x(De,2),ft=C(Vt);G(()=>{Nt=$t(Dt,1,"svelte-1ua3isv",null,Nt,{active:u(ai)==="passcode"}),se=$t(O,1,"svelte-1ua3isv",null,se,{active:u(ai)==="pairingCode"}),Vt.disabled=u(Ge),q(ft,u(Ge)?"Commissioning…":"Commission")}),te("click",Dt,()=>k(ai,"passcode")),te("click",O,()=>k(ai,"pairingCode")),Ni(Ce,()=>u(ot),ue=>k(ot,ue)),te("click",Vt,Li),T(Z,Fe)};$(Hi,Z=>{u(yt)&&Z(dn)})}var Nn=x(Hi,2),Rn=C(Nn);_i(Rn,17,()=>u(g),Z=>Z.nodeId,(Z,Fe)=>{var wt=_Z();let Dt;var Nt=C(wt),O=C(Nt);let se;var be=x(O,2),j=C(be);{var pe=De=>{var Xe=pZ(),Vt=bt(Xe),ft=C(Vt),ue=x(Vt,2),ht=C(ue);G(()=>{q(ft,u(Fe).name),q(ht,`#${u(Fe).nodeId??""}`)}),T(De,Xe)},Ue=De=>{var Xe=mZ(),Vt=C(Xe);G(()=>q(Vt,`Node ${u(Fe).nodeId??""}`)),T(De,Xe)};$(j,De=>{u(Fe).name?De(pe):De(Ue,-1)})}var Ce=x(Nt,2);G(()=>{var De;Dt=$t(wt,1,"svelte-1ua3isv",null,Dt,{selected:((De=u(ve))==null?void 0:De.nodeId)===u(Fe).nodeId}),se=$t(O,1,"status-dot svelte-1ua3isv",null,se,{online:u(Fe).online})}),te("click",Nt,()=>Xt(u(Fe).nodeId)),te("click",Ce,()=>vt(u(Fe).nodeId)),T(Z,wt)});var $n=x(Rn,2);{var Cn=Z=>{var Fe=vZ();T(Z,Fe)};$($n,Z=>{u(g).length===0&&Z(Cn)})}var pn=x(sn,2),on=C(pn);{var qe=Z=>{var Fe=bZ();T(Z,Fe)},Ft=Z=>{var Fe=GD(),wt=C(Fe);G(()=>q(wt,u(Ot))),T(Z,Fe)},li=Z=>{var Fe=qZ(),wt=bt(Fe),Dt=C(wt),Nt=C(Dt),O=x(Dt,2);{var se=Ue=>{var Ce=yZ(),De=C(Ce);G(()=>q(De,u(ve).subtitle)),T(Ue,Ce)};$(O,Ue=>{u(ve).subtitle&&Ue(se)})}var be=x(O,2),j=C(be),pe=x(wt,2);_i(pe,17,()=>u(ve).endpoints,Ue=>Ue.endpointId,(Ue,Ce)=>{var De=$Z(),Xe=C(De),Vt=C(Xe),ft=x(Vt),ue=C(ft),ht=x(ft,2);_i(ht,21,()=>u(Ce).clusters,Vn,(ui,Q)=>{var ge=wZ(),We=C(ge);G(()=>q(We,u(Q).name)),T(ui,ge)});var ii=x(Xe,2);{var Kt=ui=>{var Q=jZ(),ge=x(C(Q));_i(ge,21,()=>u(Ce).clusters,Vn,(We,it)=>{var xt=VZ(),Ye=bt(xt),pt=C(Ye),ei=C(pt),Ut=x(Ye,2);_i(Ut,17,()=>Object.entries(u(it).attrs),Vn,(Rt,Oi)=>{var an=rt(()=>mk(u(Oi),2));let Wi=()=>u(an)[0],ti=()=>u(an)[1];var ji=Fs(),A=bt(ji);{var K=Pe=>{const Be=rt(()=>{var _e;return(_e=t[u(it).name])==null?void 0:_e[Wi()]}),Me=rt(()=>(Wi()==="acceptedCommandList"||Wi()==="generatedCommandList")&&Array.isArray(ti())),re=rt(()=>{var _e;return((_e=c[u(it).name])==null?void 0:_e[Wi()])??a[Wi()]});var Je=zZ(),Oe=C(Je),xe=C(Oe),St=C(xe),Te=x(xe);{var H=_e=>{var Qe=SZ(),Bt=C(Qe);G(fe=>q(Bt,`(${fe??""})`),[()=>h(u(re))]),T(_e,Qe)};$(Te,_e=>{u(re)!==void 0&&_e(H)})}var J=x(Oe),ke=C(J);{var Ke=_e=>{var Qe=xZ();_i(Qe,21,()=>u(Be),Vn,(Bt,fe)=>{var $e=CZ(),gt=C($e);G(()=>q(gt,u(fe).label)),te("click",$e,()=>i(u(ve).nodeId,u(Ce).endpointId,u(it).name,u(fe).command,u(fe).args)),T(Bt,$e)}),T(_e,Qe)};$(ke,_e=>{u(Be)&&_e(Ke)})}var nt=x(J),at=C(nt);{var ut=_e=>{var Qe=EZ();_i(Qe,21,()=>s(u(it).name,ti()),Vn,(Bt,fe,$e)=>{var gt=DZ(),Pt=bt(gt);{var et=$i=>{var oi=LZ();T($i,oi)};$(Pt,$i=>{$e>0&&$i(et)})}var ci=x(Pt,2);{var Jt=$i=>{var oi=kZ(),Gt=bt(oi),_n=C(Gt),ri=x(Gt),On=C(ri);G(()=>{q(_n,u(fe).name),q(On,`(${u(fe).id??""})`)}),T($i,oi)},Gn=$i=>{var oi=IZ(),Gt=C(oi);G(()=>q(Gt,u(fe).id)),T($i,oi)};$(ci,$i=>{u(fe).name?$i(Jt):$i(Gn,-1)})}T(Bt,gt)}),T(_e,Qe)},ye=_e=>{var Qe=MZ(),Bt=x(C(Qe));_i(Bt,21,ti,Vn,(fe,$e)=>{const gt=rt(()=>u($e)),Pt=rt(()=>u(gt).deviceType),et=rt(()=>r[u(Pt)]);var ci=TZ(),Jt=C(ci),Gn=C(Jt);{var $i=ri=>{var On=PZ(),Yi=bt(On),Ps=x(Yi),Oo=C(Ps);G(Lr=>{q(Yi,`${u(et)??""} `),q(Oo,`(${Lr??""})`)},[()=>h(u(Pt))]),T(ri,On)},oi=ri=>{var On=Ur();G(Yi=>q(On,Yi),[()=>h(u(Pt))]),T(ri,On)};$(Gn,ri=>{u(et)?ri($i):ri(oi,-1)})}var Gt=x(Jt),_n=C(Gt);G(ri=>q(_n,ri),[()=>v(u(gt).revision)]),T(fe,ci)}),T(_e,Qe)},Et=rt(()=>Wi()==="deviceTypeList"&&Array.isArray(ti())),dt=_e=>{const Qe=rt(()=>[...new Set(ti().flatMap(Pt=>Object.keys(Pt)))]);var Bt=OZ(),fe=C(Bt),$e=C(fe);_i($e,21,()=>u(Qe),Vn,(Pt,et)=>{var ci=NZ(),Jt=C(ci);G(()=>q(Jt,u(et))),T(Pt,ci)});var gt=x(fe);_i(gt,21,ti,Vn,(Pt,et)=>{var ci=AZ();_i(ci,21,()=>u(Qe),Vn,(Jt,Gn)=>{var $i=RZ(),oi=C($i);G(Gt=>q(oi,Gt),[()=>v(u(et)[u(Gn)])]),T(Jt,$i)}),T(Pt,ci)}),T(_e,Bt)},he=rt(()=>w(ti())),Ct=_e=>{var Qe=HZ(),Bt=C(Qe);_i(Bt,21,()=>Object.entries(ti()),Vn,(fe,$e)=>{var gt=rt(()=>mk(u($e),2));let Pt=()=>u(gt)[0],et=()=>u(gt)[1];var ci=FZ(),Jt=C(ci),Gn=C(Jt),$i=x(Jt),oi=C($i);G(Gt=>{q(Gn,Pt()),q(oi,Gt)},[()=>v(et())]),T(fe,ci)}),T(_e,Qe)},Ze=rt(()=>_(ti())),Ie=_e=>{var Qe=WZ(),Bt=C(Qe);G(()=>{Hn(Qe,"href",ti()),q(Bt,ti())}),T(_e,Qe)},le=_e=>{var Qe=BZ(),Bt=C(Qe);G(fe=>q(Bt,fe),[()=>v(ti())]),T(_e,Qe)};$(at,_e=>{u(Me)?_e(ut):u(Et)?_e(ye,1):u(he)?_e(dt,2):u(Ze)?_e(Ct,3):(Wi()==="productUrl"||Wi()==="productURL")&&typeof ti()=="string"?_e(Ie,4):_e(le,-1)})}G(()=>{Hn(Oe,"title",Wi()),q(St,Wi())}),T(Pe,Je)},Ee=rt(()=>!S(ti(),Wi()));$(A,Pe=>{u(Ee)&&Pe(K)})}T(Rt,ji)}),G(()=>q(ei,u(it).name)),T(We,xt)}),T(ui,Q)},si=ui=>{var Q=UZ();T(ui,Q)};$(ii,ui=>{u(Ce).clusters.length>0?ui(Kt):ui(si,-1)})}G(()=>{q(Vt,`${u(Ce).name??`Endpoint ${u(Ce).endpointId}`??""} `),q(ue,`ep${u(Ce).endpointId??""}`)}),T(Ue,De)}),G(()=>{q(Nt,u(ve).name??`Node ${u(ve).nodeId}`),q(j,`Node ID: ${u(ve).nodeId??""}`)}),T(Z,Fe)},Ci=Z=>{var Fe=KZ();T(Z,Fe)};$(on,Z=>{u(st)?Z(qe):u(Ot)?Z(Ft,1):u(ve)?Z(li,2):Z(Ci,-1)})}var Ii=x(Mn,2),mn=C(Ii),xn=x(mn,2),qn=x(C(xn),2);{var hn=Z=>{var Fe=GZ(),wt=C(Fe);G(()=>q(wt,u(Y).length)),T(Z,Fe)};$(qn,Z=>{!u(X)&&u(Y).length>0&&Z(hn)})}var An=x(qn,2),rn=C(An),Ln=x(xn,2);{var Ae=Z=>{var Fe=QZ(),wt=C(Fe);{var Dt=O=>{var se=ZZ();T(O,se)},Nt=O=>{var se=Fs(),be=bt(se);_i(be,17,()=>u(Le),j=>j.id,(j,pe)=>{const Ue=rt(()=>{var Kt,si;return((Kt=f.get(u(pe).nodeId))==null?void 0:Kt.name)??((si=u(g).find(ui=>ui.nodeId===u(pe).nodeId))==null?void 0:si.name)??null}),Ce=rt(()=>{var Kt,si;return u(pe).endpointId!==void 0?((si=(Kt=f.get(u(pe).nodeId))==null?void 0:Kt.endpoints.find(ui=>ui.endpointId===u(pe).endpointId))==null?void 0:si.name)??null:null}),De=rt(()=>u(pe).attrName??u(pe).clusterName);var Xe=JZ(),Vt=C(Xe),ft=C(Vt),ue=x(Vt,2);{var ht=Kt=>{var si=XZ(),ui=x(bt(si),2),Q=C(ui),ge=x(Q);{var We=pt=>{var ei=Xw(),Ut=x(bt(ei)),Rt=C(Ut);G(()=>q(Rt,`(#${u(pe).nodeId??""})`)),T(pt,ei)};$(ge,pt=>{u(Ue)&&pt(We)})}var it=x(ui,2);let xt;var Ye=C(it);G(()=>{q(Q,u(Ue)??`#${u(pe).nodeId}`),xt=$t(it,1,"e-val svelte-1ua3isv",null,xt,{"e-online":u(pe).online,"e-offline":!u(pe).online}),q(Ye,u(pe).online?"online":"offline")}),T(Kt,si)},ii=Kt=>{var si=YZ(),ui=x(bt(si),2),Q=C(ui),ge=x(Q);{var We=ti=>{var ji=Xw(),A=x(bt(ji)),K=C(A);G(()=>q(K,`(#${u(pe).nodeId??""})`)),T(ti,ji)};$(ge,ti=>{u(Ue)&&ti(We)})}var it=x(ui,2),xt=C(it),Ye=x(xt);{var pt=ti=>{var ji=Xw(),A=x(bt(ji)),K=C(A);G(()=>q(K,`(ep ${u(pe).endpointId??""})`)),T(ti,ji)};$(Ye,ti=>{u(Ce)&&ti(pt)})}var ei=x(it,2),Ut=C(ei),Rt=x(ei,2),Oi=C(Rt),an=x(Rt,2),Wi=C(an);G(ti=>{q(Q,u(Ue)??`#${u(pe).nodeId}`),q(xt,u(Ce)??`ep${u(pe).endpointId}`),q(Ut,u(pe).clusterName),q(Oi,u(De)),q(Wi,ti)},[()=>p(u(pe).value)]),T(Kt,si)};$(ue,Kt=>{u(pe).kind==="status"?Kt(ht):Kt(ii,-1)})}G(Kt=>q(ft,Kt),[()=>D(u(pe).ts)]),T(j,Xe)}),T(O,se)};$(wt,O=>{u(Le).length===0?O(Dt):O(Nt,-1)})}T(Z,Fe)};$(Ln,Z=>{u(X)&&Z(Ae)})}G(()=>{Ko(Ii,u(X)?`height: ${u(me)}px;`:""),q(rn,u(X)?"▾":"▸")}),te("click",Xi,()=>k(yt,!u(yt))),te("mousedown",mn,je),te("click",An,()=>{k(X,!u(X))}),T(o,Bn),Ao()}Cr(["click","mousedown"]);var iX=R("<button>›</button>"),nX=R('<span class="chev-ph svelte-1vejtrc"></span>'),sX=R('<span class="tv svelte-1vejtrc"> </span> <span class="tt svelte-1vejtrc"> </span>',1),oX=R('<div class="tc svelte-1vejtrc"></div>'),rX=R('<div class="tn svelte-1vejtrc"><div><!> <span class="seg svelte-1vejtrc"> </span> <!></div> <!></div>'),aX=R("<option></option>"),lX=R('<span class="pub-ok svelte-1vejtrc">✓</span>'),cX=R('<span class="pub-err svelte-1vejtrc"> </span>'),dX=R('<div class="info svelte-1vejtrc">Loading…</div>'),hX=R('<div class="info err svelte-1vejtrc"> </div>'),uX=R('<div class="info svelte-1vejtrc">No topics match.</div>'),gX=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>'),fX=R('<div class="vs svelte-1vejtrc"><div><div class="vrows-abs svelte-1vejtrc"></div></div></div>'),pX=R('<div class="info svelte-1vejtrc">No topics yet.</div>'),mX=R('<div class="tree-wrap svelte-1vejtrc"><!></div>'),_X=R('<span class="stream-badge"> </span>'),vX=R('<span class="stream-empty svelte-1vejtrc">Waiting for messages…</span>'),bX=R('<span class="s-ret svelte-1vejtrc" title="retained snapshot">⊛</span>'),yX=R('<div><span class="s-ts svelte-1vejtrc"> </span> <!> <span class="s-topic svelte-1vejtrc"> </span> <span class="s-val svelte-1vejtrc"> </span></div>'),wX=R('<div class="stream-body svelte-1vejtrc"><!></div>'),SX=R('<div class="ctx-bd svelte-1vejtrc"></div> <div class="ctx-menu svelte-1vejtrc"><button class="svelte-1vejtrc">Copy topic</button> <button class="svelte-1vejtrc">Clear retained</button></div>',1),CX=R('<label class="modal-check svelte-1vejtrc"><input type="checkbox" class="svelte-1vejtrc"/> <span class="checkmark svelte-1vejtrc"></span> Recursive — also clear all child topics</label>'),xX=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),LX=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 kX(o,e){Ro(e,!0);const t=(Q,ge=py)=>{const We=rt(()=>u(f).has(ge().path)),it=rt(()=>u(a)>=0&&ge().children.size>0),xt=rt(()=>u(a)>=0&&ge().isLeaf&&!n.has(ge().path));var Ye=rX(),pt=C(Ye);let ei;var Ut=C(pt);{var Rt=Pe=>{var Be=iX();let Me;G(()=>{Me=$t(Be,1,"chev svelte-1vejtrc",null,Me,{open:u(We)}),Hn(Be,"aria-label",u(We)?"Collapse":"Expand")}),te("click",Be,()=>p(ge().path)),T(Pe,Be)},Oi=Pe=>{var Be=nX();T(Pe,Be)};$(Ut,Pe=>{u(it)?Pe(Rt):Pe(Oi,-1)})}var an=x(Ut,2),Wi=C(an),ti=x(an,2);{var ji=Pe=>{var Be=sX(),Me=bt(Be),re=C(Me),Je=x(Me,2),Oe=C(Je);G((xe,St,Te)=>{Hn(Me,"title",xe),q(re,St),q(Oe,Te)},[()=>{var xe;return Ei((xe=Sn(ge().path))==null?void 0:xe.val)},()=>{var xe;return Ei((xe=Sn(ge().path))==null?void 0:xe.val)},()=>{var xe;return((xe=Sn(ge().path))==null?void 0:xe.ts)!=null?Mn(Sn(ge().path).ts):""}]),T(Pe,Be)},A=rt(()=>ge().isLeaf&&i.has(ge().path));$(ti,Pe=>{u(A)&&Pe(ji)})}var K=x(pt,2);{var Ee=Pe=>{var Be=oX();_i(Be,21,()=>[...ge().children.values()].sort((Me,re)=>Me.seg.localeCompare(re.seg)),Me=>Me.path,(Me,re)=>{t(Me,()=>u(re))}),T(Pe,Be)};$(K,Pe=>{u(it)&&u(We)&&Pe(Ee)})}G(()=>{ei=$t(pt,1,"tr svelte-1vejtrc",null,ei,{stale:u(xt)}),q(Wi,ge().seg)}),te("click",pt,()=>{k(st,ge().path+"/#")}),te("contextmenu",pt,Pe=>{Pe.preventDefault(),k(ot,{x:Pe.clientX,y:Pe.clientY,topic:ge().path},!0)}),T(Q,Ye)},i=new Map,n=new Set,s=new Set;let r=null,a=B(0);function c(){r===null&&(r=requestAnimationFrame(()=>{r=null;for(const Q of s)g(Q);s.clear(),bk(a)}))}const h=new Map;function g(Q){const ge=Q.split("/");let We=h,it="";for(let xt=0;xt<ge.length;xt++){const Ye=ge[xt];it=xt===0?Ye:`${it}/${Ye}`,We.has(Ye)||We.set(Ye,{seg:Ye,path:it,children:new Map,isLeaf:!1});const pt=We.get(Ye);xt===ge.length-1&&(pt.isLeaf=!0),We=pt.children}}let f=B(Si(new Set));function p(Q){const ge=new Set(u(f));ge.has(Q)?ge.delete(Q):ge.add(Q),k(f,ge,!0)}let v=B("");const _=24,w=5;let S=B(0),D=B(300),P=rt(()=>{if(u(a),!u(v))return[];const Q=u(v).toLowerCase().split(/\s+/).filter(Boolean),ge=[];for(const[We,it]of i){const xt=We.toLowerCase();Q.every(Ye=>xt.includes(Ye))&&ge.push({topic:We,...it})}return ge.sort((We,it)=>We.topic.localeCompare(it.topic))}),N=rt(()=>{const Q=u(P).length,ge=Math.max(0,Math.floor(u(S)/_)-w),We=Math.min(Q,Math.ceil((u(S)+u(D))/_)+w);return{start:ge,end:We,totalH:Q*_,top:ge*_}});const V=1e3,F=200,Y=20,X=36;let me=0,Le=B(Si([])),je=B(Si([])),ve=B(!0),st=B("#"),Ot=B(200);zn(()=>{const Q=u(st).trim(),ge=wl(()=>u(Le)),We=!Q||Q==="#"?ge.slice(0,F):ge.filter(it=>yt(Q,it.topic)).slice(0,F);if(Q&&Q!=="#"){const it=new Set(We.map(Ye=>Ye.topic)),xt=[];for(const[Ye,pt]of i)it.has(Ye)||yt(Q,Ye)&&xt.push({id:-(xt.length+1),topic:Ye,val:pt.val,ts:pt.ts,retained:!0});xt.sort((Ye,pt)=>Ye.topic.localeCompare(pt.topic)),k(je,[...We,...xt],!0)}else k(je,We,!0)});function yt(Q,ge){if(Q==="#")return!0;const We=Q.split("/"),it=ge.split("/");for(let xt=0;xt<We.length;xt++){if(We[xt]==="#")return!0;if(xt>=it.length||We[xt]!=="+"&&We[xt]!==it[xt])return!1}return We.length===it.length}function ai(Q){Q.preventDefault();const ge=Q.clientY,We=u(Ot);function it(Ye){k(Ot,Math.max(60,Math.min(800,We+ge-Ye.clientY)),!0)}function xt(){document.removeEventListener("mousemove",it),document.removeEventListener("mouseup",xt)}document.addEventListener("mousemove",it),document.addEventListener("mouseup",xt)}let jt=rt(()=>{const Q=Math.max(1,Math.floor((u(Ot)-X)/Y)+1);return u(je).slice(0,Q)}),Qt=B(!0),Ne=B(null);async function Ge(){k(Qt,!0),k(Ne,null);try{const Q=await uR();for(const ge of Q)i.set(ge.topic,{val:ge.val,ts:ge.ts}),g(ge.topic)}catch(Q){k(Ne,Q instanceof Error?Q.message:String(Q),!0)}finally{k(Qt,!1),bk(a)}}const Re=Ya("mqtt",Q=>{const{topic:ge,val:We,ts:it}=Q;i.set(ge,{val:We,ts:it}),n.add(ge),s.add(ge),c();const xt={id:me++,topic:ge,val:We,ts:it};k(Le,[xt,...u(Le).slice(0,V-1)],!0);const Ye=u(st).trim();(!Ye||Ye==="#"||yt(Ye,ge))&&k(je,[xt,...u(je).filter(pt=>!(pt.retained&&pt.topic===ge)).slice(0,F-1)],!0)});let ot=B(null),At=B(null);async function ni(Q,ge){const We=[Q];if(ge){const it=Q+"/";for(const xt of i.keys())xt.startsWith(it)&&We.push(xt)}for(const it of We)await vD(it,"",!0,0)}let Xt=rt(()=>(u(a),[...i.keys()].sort())),zt=B(""),vt=B(""),Li=B(!1),vi=B(0),Tn=B(!1),Gi=B(null),Bn=B(!1);async function nn(){if(u(zt)){k(Tn,!0),k(Gi,null),k(Bn,!1);try{await vD(u(zt),u(vt),u(Li),u(vi)),k(Bn,!0),setTimeout(()=>{k(Bn,!1)},2e3)}catch(Q){k(Gi,Q instanceof Error?Q.message:String(Q),!0)}finally{k(Tn,!1)}}}function Ei(Q){return Q==null?"":typeof Q=="object"?JSON.stringify(Q):String(Q)}function Mn(Q){return new Date(Q).toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1})}function sn(Q){return new Date(Q).toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1})}function Sn(Q){return u(a),i.get(Q)}let Xi=rt(()=>(u(a),[...h.values()].sort((Q,ge)=>Q.seg.localeCompare(ge.seg)))),Hi=rt(()=>(u(a),i.size));xr(Ge),yy(()=>{Re(),r!==null&&cancelAnimationFrame(r)});var dn=LX(),Nn=x(C(dn),2),Rn=C(Nn),$n=C(Rn),Cn=x($n,2);_i(Cn,20,()=>u(Xt),Q=>Q,(Q,ge)=>{var We=aX(),it={};G(()=>{it!==(it=ge)&&(We.value=(We.__value=ge)??"")}),T(Q,We)});var pn=x(Cn,2),on=x(pn,2),qe=C(on),Ft=x(on,2),li=C(Ft);li.value=li.__value=0;var Ci=x(li);Ci.value=Ci.__value=1;var Ii=x(Ci);Ii.value=Ii.__value=2;var mn=x(Ft,2),xn=x(mn,2);{var qn=Q=>{var ge=lX();T(Q,ge)};$(xn,Q=>{u(Bn)&&Q(qn)})}var hn=x(xn,2);{var An=Q=>{var ge=cX(),We=C(ge);G(()=>q(We,u(Gi))),T(Q,ge)};$(hn,Q=>{u(Gi)&&Q(An)})}var rn=x(Rn,2),Ln=C(rn),Ae=x(Ln,2),Z=C(Ae);{var Fe=Q=>{var ge=Ur();G(()=>q(ge,`${u(P).length??""} /`)),T(Q,ge)};$(Z,Q=>{u(v)&&Q(Fe)})}var wt=x(Z),Dt=x(rn,2);{var Nt=Q=>{var ge=dX();T(Q,ge)},O=Q=>{var ge=hX(),We=C(ge);G(()=>q(We,u(Ne))),T(Q,ge)},se=Q=>{var ge=Fs(),We=bt(ge);{var it=Ye=>{var pt=uX();T(Ye,pt)},xt=Ye=>{var pt=fX(),ei=C(pt),Ut=C(ei);_i(Ut,21,()=>u(P).slice(u(N).start,u(N).end),Rt=>Rt.topic,(Rt,Oi)=>{var an=gX(),Wi=C(an),ti=C(Wi),ji=x(Wi,2),A=C(ji),K=x(ji,2),Ee=C(K);G((Pe,Be,Me)=>{q(ti,u(Oi).topic),Hn(ji,"title",Pe),q(A,Be),q(Ee,Me)},[()=>Ei(u(Oi).val),()=>Ei(u(Oi).val),()=>Mn(u(Oi).ts)]),T(Rt,an)}),G(()=>{Ko(ei,`height: ${u(N).totalH??""}px; position: relative;`),Ko(Ut,`top: ${u(N).top??""}px;`)}),os("scroll",pt,Rt=>{k(S,Rt.currentTarget.scrollTop,!0)}),CW(pt,"clientHeight",Rt=>k(D,Rt)),T(Ye,pt)};$(We,Ye=>{u(P).length===0?Ye(it):Ye(xt,-1)})}T(Q,ge)},be=Q=>{var ge=mX(),We=C(ge);{var it=Ye=>{var pt=pX();T(Ye,pt)},xt=Ye=>{var pt=Fs(),ei=bt(pt);_i(ei,17,()=>u(Xi),Ut=>Ut.path,(Ut,Rt)=>{t(Ut,()=>u(Rt))}),T(Ye,pt)};$(We,Ye=>{u(Xi).length===0?Ye(it):Ye(xt,-1)})}T(Q,ge)};$(Dt,Q=>{u(Qt)?Q(Nt):u(Ne)?Q(O,1):u(v)?Q(se,2):Q(be,-1)})}var j=x(Nn,2),pe=C(j),Ue=x(pe,2),Ce=C(Ue),De=x(Ce,2);{var Xe=Q=>{var ge=_X(),We=C(ge);G(()=>q(We,u(je).length)),T(Q,ge)};$(De,Q=>{!u(ve)&&u(je).length>0&&Q(Xe)})}var Vt=x(De,2),ft=C(Vt),ue=x(Ue,2);{var ht=Q=>{var ge=wX(),We=C(ge);{var it=Ye=>{var pt=vX();T(Ye,pt)},xt=Ye=>{var pt=Fs(),ei=bt(pt);_i(ei,17,()=>u(jt),Ut=>Ut.id,(Ut,Rt)=>{var Oi=yX();let an;var Wi=C(Oi),ti=C(Wi),ji=x(Wi,2);{var A=Me=>{var re=bX();T(Me,re)};$(ji,Me=>{u(Rt).retained&&Me(A)})}var K=x(ji,2),Ee=C(K),Pe=x(K,2),Be=C(Pe);G((Me,re,Je)=>{an=$t(Oi,1,"sr svelte-1vejtrc",null,an,{retained:u(Rt).retained}),q(ti,Me),q(Ee,u(Rt).topic),Hn(Pe,"title",re),q(Be,Je)},[()=>sn(u(Rt).ts),()=>Ei(u(Rt).val),()=>Ei(u(Rt).val)]),T(Ut,Oi)}),T(Ye,pt)};$(We,Ye=>{u(jt).length===0?Ye(it):Ye(xt,-1)})}T(Q,ge)};$(ue,Q=>{u(ve)&&Q(ht)})}var ii=x(j,2);{var Kt=Q=>{var ge=SX(),We=bt(ge),it=x(We,2);let xt;var Ye=C(it),pt=x(Ye,2);G(()=>xt=Ko(it,"",xt,{left:`${u(ot).x??""}px`,top:`${u(ot).y??""}px`})),te("click",We,()=>k(ot,null)),te("contextmenu",We,ei=>{ei.preventDefault(),k(ot,null)}),te("click",Ye,()=>{navigator.clipboard.writeText(u(ot).topic),k(ot,null)}),te("click",pt,()=>{const ei=u(ot).topic,Ut=ei+"/",Rt=[...i.keys()].some(Oi=>Oi.startsWith(Ut));k(At,{topic:ei,hasChildren:Rt,recursive:!1},!0),k(ot,null)}),T(Q,ge)};$(ii,Q=>{u(ot)&&Q(Kt)})}var si=x(ii,2);{var ui=Q=>{var ge=xX(),We=bt(ge),it=x(We,2),xt=x(C(it),2),Ye=C(xt),pt=x(C(Ye)),ei=C(pt),Ut=x(Ye,2);{var Rt=ti=>{var ji=CX(),A=C(ji);As(A,()=>u(At).recursive,K=>u(At).recursive=K),T(ti,ji)};$(Ut,ti=>{u(At).hasChildren&&ti(Rt)})}var Oi=x(xt,2),an=C(Oi),Wi=x(an,2);G(()=>q(ei,u(At).topic)),te("click",We,()=>k(At,null)),te("click",an,()=>k(At,null)),te("click",Wi,()=>{const{topic:ti,recursive:ji}=u(At);k(At,null),ni(ti,ji)}),T(Q,ge)};$(si,Q=>{u(At)&&Q(ui)})}G(()=>{mn.disabled=u(Tn)||!u(zt),q(wt,` ${u(Hi)??""}`),Ko(j,u(ve)?`height: ${u(Ot)}px;`:""),q(ft,u(ve)?"▾":"▸")}),Ni($n,()=>u(zt),Q=>k(zt,Q)),Ni(pn,()=>u(vt),Q=>k(vt,Q)),As(qe,()=>u(Li),Q=>k(Li,Q)),_a(Ft,()=>u(vi),Q=>k(vi,Q)),te("click",mn,nn),Ni(Ln,()=>u(v),Q=>k(v,Q)),te("mousedown",pe,ai),Ni(Ce,()=>u(st),Q=>k(st,Q)),te("click",Vt,()=>{k(ve,!u(ve))}),T(o,dn),Ao()}Cr(["click","contextmenu","mousedown"]);var IX=R('<div class="restart-banner restart-banner--restarting svelte-twakcj">Restarting daemon…</div>'),DX=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>'),EX=R('<div class="err svelte-twakcj"> </div>'),PX=R('<span class="pane-count pane-count--warn svelte-twakcj"> </span>'),TX=R('<p class="empty svelte-twakcj">No packages installed.</p>'),MX=R('<p class="empty svelte-twakcj">No match.</p>'),NX=R('<span class="dep-latest svelte-twakcj"> </span>'),RX=_T('<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>'),AX=_T('<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>'),OX=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>'),FX=R('<span class="result-author svelte-twakcj"> </span>'),HX=R('<span class="result-date svelte-twakcj"> </span>'),WX=R('<span class="result-desc svelte-twakcj"> </span>'),BX=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>'),zX=R('<div class="results-list svelte-twakcj"></div>'),VX=R('<pre class="npm-output svelte-twakcj"> </pre>'),jX=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>`),UX=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 $X(o,e){Ro(e,!0);let t=B(Si([])),i=B(""),n=B(Si({})),s=B(!1),r=B(""),a=B(Si([])),c=B(!1),h=B(!1),g=B(!1),f=B(""),p=B(""),v=Si({});const _=rt(()=>u(i).trim()?u(t).filter(qe=>qe.name.toLowerCase().includes(u(i).toLowerCase())):u(t)),w=rt(()=>Object.keys(u(n)).length);xr(async()=>{await Promise.all([S(),D()])});async function S(){try{k(t,await c7(),!0),k(f,"")}catch(qe){k(f,qe.message,!0)}}async function D(){try{k(n,await f7(),!0)}catch{}}async function P(){k(s,!0);try{k(n,await p7(),!0)}catch{}finally{k(s,!1)}}async function N(){const qe=u(r).trim();if(!qe){k(a,[],!0);return}k(g,!0),k(f,"");try{k(a,await d7(qe),!0)}catch(Ft){k(f,Ft.message,!0)}finally{k(g,!1)}}function V(qe){if(!qe)return"";try{return new Date(qe).toLocaleDateString(void 0,{year:"numeric",month:"short",day:"numeric"})}catch{return""}}async function F(qe,Ft){v[qe]=!0,k(f,""),k(p,"");try{const li=await h7(qe,Ft);k(p,li.stdout||li.stderr||"Done.",!0),k(c,!0),await S()}catch(li){k(f,li.message,!0)}finally{v[qe]=!1}}async function Y(qe){v[qe]=!0,k(f,""),k(p,"");try{const Ft=await u7(qe);k(p,Ft.stdout||Ft.stderr||"Done.",!0),k(c,!0);const li={...u(n)};delete li[qe],k(n,li,!0),await S()}catch(Ft){k(f,Ft.message,!0)}finally{v[qe]=!1}}async function X(qe){v[qe]=!0,k(f,""),k(p,"");try{const Ft=await g7(qe);k(p,Ft.stdout||Ft.stderr||"Done.",!0),k(c,!0);const li={...u(n)};delete li[qe],k(n,li,!0),await S()}catch(Ft){k(f,Ft.message,!0)}finally{v[qe]=!1}}let me;async function Le(){if(await me.show("Restart the she daemon? The page will reload after a moment.",{confirm:"Restart"})){k(h,!0);try{await lR()}catch{}setTimeout(()=>{window.location.reload()},3e3)}}var je=UX(),ve=bt(je);bs(Hg(ve,{}),qe=>me=qe,()=>me);var st=x(ve,2),Ot=C(st);{var yt=qe=>{var Ft=IX();T(qe,Ft)},ai=qe=>{var Ft=DX(),li=x(C(Ft));te("click",li,Le),T(qe,Ft)};$(Ot,qe=>{u(h)?qe(yt):u(c)&&qe(ai,1)})}var jt=x(Ot,2);{var Qt=qe=>{var Ft=EX(),li=C(Ft);G(()=>q(li,u(f))),T(qe,Ft)};$(jt,qe=>{u(f)&&qe(Qt)})}var Ne=x(jt,2),Ge=C(Ne),Re=C(Ge),ot=x(C(Re),2),At=C(ot),ni=x(ot,2);{var Xt=qe=>{var Ft=PX(),li=C(Ft);G(()=>q(li,`${u(w)??""} outdated`)),T(qe,Ft)};$(ni,qe=>{u(w)>0&&qe(Xt)})}var zt=x(ni,2),vt=C(zt);let Li;var vi=x(Re,2),Tn=C(vi),Gi=x(vi,2),Bn=C(Gi);{var nn=qe=>{var Ft=TX();T(qe,Ft)},Ei=qe=>{var Ft=MX();T(qe,Ft)},Mn=qe=>{var Ft=Fs(),li=bt(Ft);_i(li,17,()=>u(_),Ci=>Ci.name,(Ci,Ii)=>{var mn=OX();let xn;var qn=C(mn),hn=C(qn),An=C(hn),rn=x(hn,2),Ln=C(rn),Ae=x(rn,2);{var Z=j=>{var pe=NX(),Ue=C(pe);G(()=>q(Ue,`→ v${u(n)[u(Ii).name].latest??""}`)),T(j,pe)};$(Ae,j=>{u(n)[u(Ii).name]&&j(Z)})}var Fe=x(qn,2),wt=C(Fe);let Dt;var Nt=C(wt);{var O=j=>{var pe=RX();T(j,pe)},se=j=>{var pe=AX();T(j,pe)};$(Nt,j=>{v[u(Ii).name]?j(O):j(se,-1)})}var be=x(wt,2);G(()=>{xn=$t(mn,1,"dep-row svelte-twakcj",null,xn,{"dep-busy":!!v[u(Ii).name]}),Hn(hn,"href",u(Ii).url??`https://www.npmjs.com/package/${u(Ii).name}`),q(An,u(Ii).name),q(Ln,u(Ii).installedVersion??u(Ii).version),Dt=$t(wt,1,"icon-btn svelte-twakcj",null,Dt,{"icon-btn--update":!!u(n)[u(Ii).name]}),wt.disabled=!!v[u(Ii).name],Hn(wt,"title",u(n)[u(Ii).name]?`Update to v${u(n)[u(Ii).name].latest}`:"Update to latest"),be.disabled=!!v[u(Ii).name]}),te("click",wt,()=>X(u(Ii).name)),te("click",be,()=>Y(u(Ii).name)),T(Ci,mn)}),T(qe,Ft)};$(Bn,qe=>{u(t).length===0?qe(nn):u(_).length===0?qe(Ei,1):qe(Mn,-1)})}var sn=x(Ge,2),Sn=x(C(sn),2),Xi=C(Sn),Hi=x(Xi,2),dn=C(Hi),Nn=x(Sn,2);{var Rn=qe=>{var Ft=zX();_i(Ft,21,()=>u(a),li=>li.name,(li,Ci)=>{var Ii=BX(),mn=C(Ii),xn=C(mn),qn=C(xn),hn=x(xn,2),An=C(hn),rn=x(hn,2);{var Ln=O=>{var se=FX(),be=C(se);G(()=>q(be,u(Ci).author)),T(O,se)};$(rn,O=>{u(Ci).author&&O(Ln)})}var Ae=x(rn,2);{var Z=O=>{var se=HX(),be=C(se);G(j=>{Hn(se,"title",u(Ci).date),q(be,j)},[()=>V(u(Ci).date)]),T(O,se)};$(Ae,O=>{u(Ci).date&&O(Z)})}var Fe=x(Ae,2);{var wt=O=>{var se=WX(),be=C(se);G(()=>q(be,u(Ci).description)),T(O,se)};$(Fe,O=>{u(Ci).description&&O(wt)})}var Dt=x(mn,2),Nt=C(Dt);G(()=>{Hn(xn,"href",u(Ci).url??`https://www.npmjs.com/package/${u(Ci).name}`),q(qn,u(Ci).name),q(An,u(Ci).version),Dt.disabled=!!v[u(Ci).name],q(Nt,v[u(Ci).name]?"Installing…":"Install")}),te("click",Dt,()=>F(u(Ci).name)),T(li,Ii)}),T(qe,Ft)};$(Nn,qe=>{u(a).length>0&&qe(Rn)})}var $n=x(Nn,2);{var Cn=qe=>{var Ft=VX(),li=C(Ft);G(()=>q(li,u(p))),T(qe,Ft)};$($n,qe=>{u(p)&&qe(Cn)})}var pn=x($n,2);{var on=qe=>{var Ft=jX();T(qe,Ft)};$(pn,qe=>{!u(a).length&&!u(p)&&qe(on)})}G(()=>{q(At,u(t).length),zt.disabled=u(s),Li=$t(vt,0,"svelte-twakcj",null,Li,{spinning:u(s)}),Hi.disabled=u(g),q(dn,u(g)?"Searching…":"Search")}),te("click",zt,P),Ni(Tn,()=>u(i),qe=>k(i,qe)),te("keydown",Xi,qe=>qe.key==="Enter"&&N()),Ni(Xi,()=>u(r),qe=>k(r,qe)),te("click",Hi,N),T(o,je),Ao()}Cr(["click","keydown"]);var qX=R('<span class="mqtt-dot svelte-1n46o8q" title="Waiting for retained MQTT state"></span>'),KX=R('<span class="update-dot svelte-1n46o8q" title="Update available"></span>'),GX=R('<dt class="svelte-1n46o8q">Latest</dt><dd style="color: #f90" class="svelte-1n46o8q"> </dd>',1),ZX=R('<dt class="svelte-1n46o8q">Latest</dt><dd class="svelte-1n46o8q">up to date</dd>',1),XX=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" class="svelte-1n46o8q"><polyline points="4 4 4 10 10 10" class="svelte-1n46o8q"></polyline><path d="M4 10A9 9 0 1 0 6.5 5" class="svelte-1n46o8q"></path></svg> </button>'),YX=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" class="svelte-1n46o8q"></polyline><path d="M4 10A9 9 0 1 0 6.5 5" class="svelte-1n46o8q"></path></svg> </button></div></div>'),JX=R('<dt class="svelte-1n46o8q">Uptime</dt><dd class="svelte-1n46o8q"> </dd>',1),QX=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),eY=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),tY=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>'),iY=R('<span class="stats-empty svelte-1n46o8q">Loading…</span>'),nY=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" class="svelte-1n46o8q"><path d="M18.36 6.64a9 9 0 1 1-12.73 0" class="svelte-1n46o8q"></path><line x1="12" y1="2" x2="12" y2="12" class="svelte-1n46o8q"></line></svg> Restart daemon</button></div></div>'),sY=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" class="svelte-1n46o8q"><path d="M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4" class="svelte-1n46o8q"></path><polyline points="16 17 21 12 16 7" class="svelte-1n46o8q"></polyline><line x1="21" y1="12" x2="9" y2="12" class="svelte-1n46o8q"></line></svg></button>'),oY=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" class="svelte-1n46o8q"><polyline points="5,3 1,8 5,13" class="svelte-1n46o8q"></polyline><polyline points="11,3 15,8 11,13" class="svelte-1n46o8q"></polyline></svg> Scripts</button> <button><svg width="14" height="14" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="square" stroke-linejoin="miter" class="svelte-1n46o8q"><rect x="0.75" y="0.75" width="14.5" height="14.5" rx="1" class="svelte-1n46o8q"></rect><path d="M2,11 V5 H5 V11" class="svelte-1n46o8q"></path><path d="M6,12 V5 H9 V8 H6" class="svelte-1n46o8q"></path><path d="M10,11 V5 H15 V11" class="svelte-1n46o8q"></path><line x1="12.5" y1="5" x2="12.5" y2="11" class="svelte-1n46o8q"></line></svg> Packages</button> <button><svg width="14" height="14" viewBox="0 0 16 16" fill="currentColor" stroke="none" style="vertical-align: middle" class="svelte-1n46o8q"><path fill-rule="evenodd" d="M2,0 H14 A2,2 0 0,1 16,2 V14 A2,2 0 0,1 14,16 H0 V2 A2,2 0 0,1 2,0 Z M0,16 L0,12 A4,4 0 0,1 4,16 Z M0,10.5 A5.5,5.5 0 0,1 5.5,16 L9,16 A9,9 0 0,0 0,7 Z M0,5.5 A10.5,10.5 0 0,1 10.5,16 L13.5,16 A13.5,13.5 0 0,0 0,2.5 Z" class="svelte-1n46o8q"></path></svg> MQTT <!></button> <button><svg width="14" height="14" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round" class="svelte-1n46o8q"><path d="M8,2 L8,7" class="svelte-1n46o8q"></path><path d="M6,5 L8,7.5 L10,5" class="svelte-1n46o8q"></path><path d="M2.5,14 L6,10" class="svelte-1n46o8q"></path><path d="M6.2,12.8 L6,10 L3.2,10.2" class="svelte-1n46o8q"></path><path d="M13.5,14 L10,10" class="svelte-1n46o8q"></path><path d="M9.8,12.8 L10,10 L12.8,10.2" class="svelte-1n46o8q"></path></svg> Matter</button> <button><svg width="14" height="14" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="svelte-1n46o8q"><ellipse cx="8" cy="4.5" rx="5" ry="1.8" class="svelte-1n46o8q"></ellipse><path d="M3,4.5 v7 a5,1.8 0,0,0 10,0 v-7" class="svelte-1n46o8q"></path><path d="M3,8 a5,1.8 0,0,0 10,0" class="svelte-1n46o8q"></path></svg> DB</button> <button><svg width="14" height="14" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" class="svelte-1n46o8q"><line x1="2" y1="5" x2="14" y2="5" class="svelte-1n46o8q"></line><line x1="2" y1="8" x2="14" y2="8" class="svelte-1n46o8q"></line><line x1="2" y1="11" x2="9" y2="11" class="svelte-1n46o8q"></line></svg> Logs</button> <div class="nav-spacer svelte-1n46o8q"></div> <div class="nav-right svelte-1n46o8q"><a class="nav-icon svelte-1n46o8q" href="https://github.com/hobbyquaker/she" target="_blank" rel="noopener" title="GitHub"><svg width="16" height="16" viewBox="0 0 16 16" fill="currentColor" class="svelte-1n46o8q"><path d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z" class="svelte-1n46o8q"></path></svg></a> <div class="version-wrap svelte-1n46o8q"><button class="version svelte-1n46o8q"> <!></button> <!></div> <div class="stats-wrap svelte-1n46o8q"><button class="nav-icon svelte-1n46o8q" title="Daemon status"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svelte-1n46o8q"><line x1="18" y1="20" x2="18" y2="10" class="svelte-1n46o8q"></line><line x1="12" y1="20" x2="12" y2="4" class="svelte-1n46o8q"></line><line x1="6" y1="20" x2="6" y2="14" class="svelte-1n46o8q"></line></svg></button> <!></div> <button title="Settings"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svelte-1n46o8q"><path d="M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z" class="svelte-1n46o8q"></path><circle cx="12" cy="12" r="3" class="svelte-1n46o8q"></circle></svg></button> <!></div></nav> <main class="svelte-1n46o8q"><!> <div><!></div> <div><!></div> <div><!></div> <div><!></div> <div><!></div> <div><!></div> <div><!></div></main></div>'),rY=R('<div class="login-error svelte-1n46o8q"> </div>'),aY=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>'),lY=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" class="svelte-1n46o8q"></polyline><path d="M4 10A9 9 0 1 0 6.5 5" class="svelte-1n46o8q"></path></svg> Restarting smart-home-engine…</div></div>'),cY=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" class="svelte-1n46o8q"></polyline><path d="M4 10A9 9 0 1 0 6.5 5" class="svelte-1n46o8q"></path></svg> Updating smart-home-engine…</div></div>'),dY=R("<!> <!> <!> <!>",1);function hY(o,e){Ro(e,!0);const t=["scripts","mqtt","matter","db","logs","config","packages"];function i(){const Ge=location.hash.slice(1);return t.includes(Ge)?Ge:"scripts"}let n=B(Si(i())),s=B(null),r=B(!1),a=B(!1),c=B(!1),h=B(!1),g=B("none"),f=B(""),p=B(!1),v=B(""),_=B(""),w=B(!1),S=B(!1);V8(()=>{k(p,!0)});async function D(){k(_,""),k(w,!0);try{await $8(u(v)),k(v,""),k(p,!1)}catch(Ge){k(_,Ge.message??"Login failed",!0)}finally{k(w,!1)}}async function P(){if(u(g)==="proxy"&&u(f)){window.location.href=u(f);return}await q8(),k(p,!0)}let N=B(null),V=B(!1),F=B(!1);async function Y(){if(!await u(N).show("Restart the she daemon? The page will reload after a moment.",{confirm:"Restart"}))return;k(V,!0);let Ge;try{Ge=(await wf()).startedAt}catch{}try{await lR()}catch{}const Re=Date.now()+6e4;for(;Date.now()<Re;){await new Promise(ot=>setTimeout(ot,250));try{const ot=await wf();if(Ge===void 0||ot.startedAt!==Ge){location.reload();return}}catch{}}location.reload()}async function X(){k(c,!0);try{const Ge=await J8();u(s)&&k(s,{...u(s),latestVersion:Ge.latestVersion??void 0},!0)}catch{}finally{k(c,!1)}}async function me(){var ot,At;if(!await u(N).show(`Update to v${(ot=u(s))==null?void 0:ot.latestVersion}? The daemon will restart after the update completes.`,{confirm:"Update"}))return;k(a,!1),k(h,!0);const Ge=(At=u(s))==null?void 0:At.startedAt;try{await Y8()}catch{}const Re=Date.now()+18e4;for(;Date.now()<Re;){await new Promise(ni=>setTimeout(ni,1e3));try{const ni=await wf();if(Ge===void 0||ni.startedAt!==Ge){location.reload();return}}catch{k(h,!1),k(V,!0)}}location.reload()}function Le(Ge){k(n,Ge,!0),location.hash=Ge}xr(async()=>{location.hash||(location.hash=u(n));const Ge=()=>{k(n,i(),!0)};window.addEventListener("hashchange",Ge);try{const ni=await U8();k(g,ni.mode,!0),k(f,ni.proxyLogoutUrl??"",!0),u(g)==="password"&&(await fetch("/she/scripts")).status===401&&k(p,!0)}catch{}k(S,!0);async function Re(){try{k(s,await wf(),!0)}catch{}}Re();const ot=setInterval(Re,5e3),At=Ya("mqtt:status",ni=>{k(F,ni.ready===!1)});return()=>{window.removeEventListener("hashchange",Ge),clearInterval(ot),At()}});var je=dY();os("click",XP,()=>{u(r)&&k(r,!1),u(a)&&k(a,!1)});var ve=bt(je);{var st=Ge=>{var Re=oY(),ot=C(Re),At=x(C(ot),2);let ni;var Xt=x(At,2);let zt;var vt=x(Xt,2);let Li;var vi=x(C(vt),2);{var Tn=ue=>{var ht=qX();T(ue,ht)};$(vi,ue=>{u(F)&&ue(Tn)})}var Gi=x(vt,2);let Bn;var nn=x(Gi,2);let Ei;var Mn=x(nn,2);let sn;var Sn=x(Mn,4),Xi=x(C(Sn),2),Hi=C(Xi),dn=C(Hi);dn.nodeValue="v0.27.7 ";var Nn=x(dn);{var Rn=ue=>{var ht=KX();T(ue,ht)};$(Nn,ue=>{var ht;(ht=u(s))!=null&&ht.latestVersion&&ue(Rn)})}var $n=x(Hi,2);{var Cn=ue=>{var ht=YX(),ii=C(ht),Kt=x(C(ii));Kt.textContent="v0.27.7";var si=x(Kt,2);{var ui=Ut=>{var Rt=GX(),Oi=x(bt(Rt)),an=C(Oi);G(()=>q(an,`v${u(s).latestVersion??""}`)),T(Ut,Rt)},Q=Ut=>{var Rt=ZX();T(Ut,Rt)};$(si,Ut=>{var Rt;(Rt=u(s))!=null&&Rt.latestVersion?Ut(ui):Ut(Q,-1)})}var ge=x(ii,2),We=C(ge);{var it=Ut=>{var Rt=XX(),Oi=x(C(Rt));G(()=>q(Oi,` Update to v${u(s).latestVersion??""}`)),te("click",Rt,me),T(Ut,Rt)};$(We,Ut=>{var Rt;(Rt=u(s))!=null&&Rt.latestVersion&&Ut(it)})}var xt=x(We,2),Ye=C(xt);let pt;var ei=x(Ye);G(()=>{xt.disabled=u(c),pt=$t(Ye,0,"svelte-1n46o8q",null,pt,{spinning:u(c)}),q(ei,` ${u(c)?"Checking…":"Check for updates"}`)}),te("click",ht,Ut=>Ut.stopPropagation()),te("click",xt,X),T(ue,ht)};$($n,ue=>{u(a)&&ue(Cn)})}var pn=x(Xi,2),on=C(pn),qe=x(on,2);{var Ft=ue=>{var ht=nY(),ii=C(ht);{var Kt=ge=>{var We=tY(),it=C(We);{var xt=re=>{const Je=rt(()=>Math.floor((Date.now()-u(s).startedAt)/1e3)),Oe=rt(()=>Math.floor(u(Je)/86400)),xe=rt(()=>Math.floor(u(Je)%86400/3600)),St=rt(()=>Math.floor(u(Je)%3600/60));var Te=JX(),H=x(bt(Te)),J=C(H);G(()=>q(J,`${u(Oe)>0?u(Oe)+"d ":""}${u(xe)>0||u(Oe)>0?u(xe)+"h ":""}${u(St)??""}m`)),T(re,Te)};$(it,re=>{u(s).startedAt&&re(xt)})}var Ye=x(it,3),pt=C(Ye),ei=x(Ye,3),Ut=C(ei),Rt=x(ei,3),Oi=C(Rt),an=x(Rt,2);{var Wi=re=>{var Je=QX(),Oe=x(bt(Je)),xe=C(Oe),St=x(Oe,3),Te=C(St);G(()=>{q(xe,u(s).matterNodes??0),q(Te,u(s).matterEndpoints??0)}),T(re,Je)};$(an,re=>{u(s).matterEnabled&&re(Wi)})}var ti=x(an,2);{var ji=re=>{var Je=eY(),Oe=x(bt(Je)),xe=C(Oe),St=x(Oe,3),Te=C(St);G(()=>{q(xe,u(s).dbDocs??"—"),q(Te,u(s).dbViews??"—")}),T(re,Je)};$(ti,re=>{u(s).dbEnabled&&re(ji)})}var A=x(ti,3),K=C(A),Ee=x(A,3),Pe=C(Ee),Be=x(Ee,3),Me=C(Be);G(()=>{q(pt,u(s).scripts),q(Ut,u(s).topics),q(Oi,u(s).mqttMsgPerSec??"—"),q(K,u(s).handlers??"—"),q(Pe,u(s).memMb!=null?u(s).memMb+" MB":"—"),q(Me,u(s).cpuPercent!=null?u(s).cpuPercent+" %":"—")}),T(ge,We)},si=ge=>{var We=iY();T(ge,We)};$(ii,ge=>{u(s)?ge(Kt):ge(si,-1)})}var ui=x(ii,2),Q=C(ui);te("click",ht,ge=>ge.stopPropagation()),te("click",Q,()=>{k(r,!1),Y()}),T(ue,ht)};$(qe,ue=>{u(r)&&ue(Ft)})}var li=x(pn,2);let Ci;var Ii=x(li,2);{var mn=ue=>{var ht=sY();te("click",ht,P),T(ue,ht)};$(Ii,ue=>{u(g)==="password"&&ue(mn)})}var xn=x(ot,2),qn=C(xn);bs(Hg(qn,{}),ue=>k(N,ue,!0),()=>u(N));var hn=x(qn,2);let An;var rn=C(hn);{let ue=rt(()=>u(n)==="scripts");_G(rn,{get active(){return u(ue)}})}var Ln=x(hn,2);let Ae;var Z=C(Ln);$X(Z,{});var Fe=x(Ln,2);let wt;var Dt=C(Fe);kX(Dt,{});var Nt=x(Fe,2);let O;var se=C(Nt);tX(se,{});var be=x(Nt,2);let j;var pe=C(be);hZ(pe,{});var Ue=x(be,2);let Ce;var De=C(Ue);n9(De,{});var Xe=x(Ue,2);let Vt;var ft=C(Xe);a9(ft,{}),G(()=>{ni=$t(At,1,"svelte-1n46o8q",null,ni,{active:u(n)==="scripts"}),zt=$t(Xt,1,"svelte-1n46o8q",null,zt,{active:u(n)==="packages"}),Li=$t(vt,1,"svelte-1n46o8q",null,Li,{active:u(n)==="mqtt"}),Bn=$t(Gi,1,"svelte-1n46o8q",null,Bn,{active:u(n)==="matter"}),Ei=$t(nn,1,"svelte-1n46o8q",null,Ei,{active:u(n)==="db"}),sn=$t(Mn,1,"svelte-1n46o8q",null,sn,{active:u(n)==="logs"}),Ci=$t(li,1,"nav-settings svelte-1n46o8q",null,Ci,{active:u(n)==="config"}),An=$t(hn,1,"page-wrap svelte-1n46o8q",null,An,{hidden:u(n)!=="scripts"}),Ae=$t(Ln,1,"page-wrap svelte-1n46o8q",null,Ae,{hidden:u(n)!=="packages"}),wt=$t(Fe,1,"page-wrap svelte-1n46o8q",null,wt,{hidden:u(n)!=="mqtt"}),O=$t(Nt,1,"page-wrap svelte-1n46o8q",null,O,{hidden:u(n)!=="matter"}),j=$t(be,1,"page-wrap svelte-1n46o8q",null,j,{hidden:u(n)!=="db"}),Ce=$t(Ue,1,"page-wrap svelte-1n46o8q",null,Ce,{hidden:u(n)!=="config"}),Vt=$t(Xe,1,"page-wrap svelte-1n46o8q",null,Vt,{hidden:u(n)!=="logs"})}),te("click",At,()=>Le("scripts")),te("click",Xt,()=>Le("packages")),te("click",vt,()=>Le("mqtt")),te("click",Gi,()=>Le("matter")),te("click",nn,()=>Le("db")),te("click",Mn,()=>Le("logs")),te("click",Hi,ue=>{ue.stopPropagation(),k(a,!u(a)),k(r,!1)}),te("click",on,ue=>{ue.stopPropagation(),k(r,!u(r)),k(a,!1)}),te("click",li,()=>Le("config")),T(Ge,Re)};$(ve,Ge=>{u(S)&&!u(p)&&Ge(st)})}var Ot=x(ve,2);{var yt=Ge=>{var Re=aY(),ot=C(Re),At=x(C(ot),4),ni=x(C(At),2),Xt=x(At,2);{var zt=vi=>{var Tn=rY(),Gi=C(Tn);G(()=>q(Gi,u(_))),T(vi,Tn)};$(Xt,vi=>{u(_)&&vi(zt)})}var vt=x(Xt,2),Li=C(vt);G(()=>{ni.disabled=u(w),vt.disabled=u(w)||!u(v),q(Li,u(w)?"Signing in…":"Sign in")}),os("submit",ot,vi=>{vi.preventDefault(),D()}),Ni(ni,()=>u(v),vi=>k(v,vi)),T(Ge,Re)};$(Ot,Ge=>{u(p)&&Ge(yt)})}var ai=x(Ot,2);{var jt=Ge=>{var Re=lY();T(Ge,Re)};$(ai,Ge=>{u(V)&&Ge(jt)})}var Qt=x(ai,2);{var Ne=Ge=>{var Re=cY();T(Ge,Re)};$(Qt,Ge=>{u(h)&&Ge(Ne)})}T(o,je),Ao()}Cr(["click"]);cW(hY,{target:document.getElementById("app")});export{PT as t};
|