smart-home-engine 1.0.10 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,230 +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-D1vQpxKE.js"])))=>i.map(i=>d[i]);
2
- var uA=Object.defineProperty;var KL=o=>{throw TypeError(o)};var gA=(o,e,t)=>e in o?uA(o,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):o[e]=t;var Zi=(o,e,t)=>gA(o,typeof e!="symbol"?e+"":e,t),uw=(o,e,t)=>e.has(o)||KL("Cannot "+t);var te=(o,e,t)=>(uw(o,e,"read from private field"),t?t.call(o):e.get(o)),Hi=(o,e,t)=>e.has(o)?KL("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(o):e.set(o,t),Wi=(o,e,t,i)=>(uw(o,e,"write to private field"),i?i.call(o,t):e.set(o,t),t),Mn=(o,e,t)=>(uw(o,e,"access private method"),t);import{_ as dE,m as hE,l as xt,A as uo,C as ce,I as On,D as Qp,a as os,g as uE,M as ht,b as Jt,E as ra,c as R,r as mn,d as Lr,e as y,f as fA,h as Pn,R as Bi,S as Kt,i as Gs,j as kr,k as Yi,n as wi,o as se,p as we,K as ds,q as yt,s as $e,t as _s,u as z,v as Ai,O as Oa,w as fs,P as Pt,x as gw,y as Jp,z as gE,B as ul,F as aa,G as hS,H as Ts,U as bn,J as ng,L as Tt,N as vl,Q as pA,T as ro,V as uS,W as mA,X as fE,$ as bt,Y as sn,Z as Xi,a0 as Un,a1 as di,a2 as Wo,a3 as sp,a4 as je,a5 as y_,a6 as _A,a7 as vA,a8 as ms,a9 as bA,aa as la,ab as go,ac as Mt,ad as pE,ae as Rn,af as yA,ag as wA,ah as lo,ai as Ag,aj as hs,ak as ly,al as io,am as Oc,an as F0,ao as cy,ap as Ds,aq as sg,ar as Es,as as dy,at as hy,au as SA,av as em,aw as Og,ax as Dl,ay as CA,az as Fg,aA as xA,aB as H0,aC as LA,aD as kA,aE as GL,aF as ss,aG as gl,aH as no,aI as _i,aJ as ll,aK as IA,aL as Ba,aM as Oo,aN as Cs,aO as ca,aP as W0,aQ as vs,aR as ts,aS as K_,aT as mi,aU as mE,aV as DA,aW as B0,aX as uy,aY as z0,aZ as V0,a_ as fd,a$ as EA,b0 as j0,b1 as PA,b2 as U0,b3 as El,b4 as Pl,b5 as og,b6 as op,b7 as xo,b8 as tm,b9 as G_,ba as fw,bb as Cn,bc as $0,bd as im,be as gy,bf as TA,bg as _E,bh as rp,bi as rg,bj as ap,bk as nm,bl as fy,bm as tn,bn as Fc,bo as sm,bp as MA,bq as NA,br as q0,bs as RA,bt as Z_,bu as nr,bv as K0,bw as ag,bx as Tl,by as Hg,bz as Ni,bA as lg,bB as vE,bC as om,bD as AA,bE as pd,bF as gt,bG as ZL,bH as w_,bI as bE,bJ as Er,bK as ta,bL as In,bM as cg,bN as vr,bO as dg,bP as jn,bQ as lp,bR as Th,bS as gS,bT as yE,bU as wE,bV as SE,bW as G0,bX as vo,bY as fn,bZ as rm,b_ as CE,b$ as fl,c0 as py,c1 as OA,c2 as mu,c3 as XL,c4 as am,c5 as xE,c6 as _u,c7 as FA,c8 as hr,c9 as my,ca as HA,cb as fo,cc as da,cd as lm,ce as cp,cf as LE,cg as er,ch as cm,ci as _y,cj as WA,ck as BA,cl as zA,cm as Wg,cn as za,co as xs,cp as VA,cq as Z0,cr as jA,cs as UA,ct as YL,cu as $A,cv as dm,cw as bl,cx as fS,cy as uh,cz as yl,cA as qA,cB as Fa,cC as br,cD as Mo,cE as QL,cF as Xs,cG as hm,cH as Ic,cI as Va,cJ as KA,cK as ha,cL as dp,cM as vy,cN as kE,cO as GA,cP as ZA,cQ as X0,cR as XA,cS as hp,cT as YA,cU as ec,cV as up,cW as JL,cX as QA,cY as JA,cZ as $a,c_ as eO,c$ as Y0,d0 as IE,d1 as DE,d2 as EE,d3 as PE,d4 as tO,d5 as iO,d6 as TE,d7 as ME,d8 as nO,d9 as Q0,da as sO,db as oO,dc as Gn,dd as rO,de as J0,df as aO,dg as vu,dh as ek,di as lO,dj as cO,dk as dO,dl as hO,dm as uO,dn as gO,dp as hg,dq as by,dr as pS,ds as fO,dt as pO,du as tk,dv as mS,dw as mO,dx as ik,dy as pw,dz as _O,dA as NE,dB as vO,dC as RE,dD as _S,dE as bO,dF as yO,dG as wO,dH as AE,dI as OE,dJ as SO,dK as X_,dL as FE,dM as yy,dN as CO,dO as xO,dP as Dc,dQ as e1,dR as LO,dS as nk,dT as sk,dU as kO,dV as bu,dW as HE,dX as IO,dY as DO,dZ as EO,d_ as PO,d$ as WE,e0 as BE,e1 as zE,e2 as VE,e3 as TO,e4 as Ha,e5 as ok,e6 as MO,e7 as um,e8 as NO,e9 as yf,ea as jE,eb as rk,ec as gp,ed as UE,ee as Y_,ef as RO,eg as $E,eh as AO,ei as qE,ej as OO,ek as FO,el as KE,em as GE,en as wl,eo as wy,ep as HO,eq as ZE,er as Fo,es as md,et as XE,eu as WO,ev as BO,ew as YE,ex as QE,ey as zO,ez as JE,eA as eP,eB as fp,eC as VO,eD as jO,eE as UO,eF as $O,eG as cf,eH as ak,eI as qO,eJ as KO,eK as GO,eL as Q_,eM as Fs,eN as ZO,eO as vS,eP as Mh,eQ as XO,eR as al,eS as YO,eT as QO,eU as tP,eV as JO,eW as Hf,eX as e2,eY as t2,eZ as i2,e_ as n2,e$ as lk,f0 as ck,f1 as dk,f2 as Nh,f3 as t1,f4 as iP,f5 as bS,f6 as S_,f7 as nP,f8 as J_,f9 as s2,fa as o2,fb as r2,fc as a2,fd as i1,fe as sP,ff as l2,fg as ev,fh as oP,fi as rP,fj as c2,fk as d2,fl as h2,fm as u2,fn as g2,fo as f2,fp as p2,fq as m2,fr as aP,fs as _2,ft as tv,fu as lP,fv as v2,fw as cP,fx as b2,fy as dP,fz as hP,fA as y2,fB as hk,fC as uP,fD as uk,fE as w2,fF as mw,fG as gk,fH as S2,fI as C2,fJ as x2,fK as Ea,fL as Ec,fM as L2,fN as fk,fO as C_,fP as k2,fQ as cl,fR as Sy,fS as yS,fT as I2,fU as gP,fV as fP,fW as Ys,fX as pk,fY as Vm,fZ as n1,f_ as D2,f$ as E2,g0 as P2,g1 as T2,g2 as M2,g3 as N2,g4 as R2,g5 as A2,g6 as mk,g7 as O2,g8 as F2,g9 as H2,ga as ug,gb as Wf,gc as pP,gd as W2,ge as s1,gf as x_,gg as jm,gh as _w,gi as B2,gj as z2,gk as mP,gl as V2,gm as o1,gn as j2,go as U2,gp as _P,gq as Cy,gr as $2,gs as iv,gt as r1,gu as a1,gv as l1,gw as vP,gx as bP,gy as yP,gz as wP,gA as SP,gB as CP,gC as xP,gD as _k,gE as LP,gF as Gh,gG as q2,gH as K2,gI as G2,gJ as Z2,gK as kP,gL as X2,gM as Y2,gN as vk,gO as wS,gP as ac,gQ as Q2,gR as J2,gS as eF,gT as tF,gU as iF,gV as nF,gW as bk,gX as c1,gY as SS,gZ as sF,g_ as CS,g$ as oF,h0 as rF,h1 as aF,h2 as lF,h3 as d1,h4 as IP,h5 as yk,h6 as wk,h7 as cF,h8 as dF,h9 as hF,ha as Sk,hb as vw,hc as uF,hd as gF,he as fF,hf as bw,hg as DP,hh as EP,hi as PP,hj as TP,hk as Sl,hl as MP,hm as h1,hn as Ck,ho as pF,hp as NP,hq as mF,hr as _F,hs as xy,ht as Ly,hu as Rh,hv as ky,hw as gm,hx as vF,hy as Iy,hz as bF,hA as yF,hB as wF,hC as RP,hD as df,hE as SF,hF as CF,hG as xF,hH as LF,hI as fm,hJ as kF,hK as AP,hL as OP,hM as FP,hN as xS,hO as IF,hP as DF,hQ as EF,hR as PF,hS as TF,hT as LS,hU as MF,hV as NF,hW as RF,hX as AF,hY as OF,hZ as FF,h_ as HF,h$ as WF,i0 as HP,i1 as BF,i2 as zF,i3 as VF,i4 as xk,i5 as jF,i6 as UF,i7 as ed,i8 as ar,i9 as $F,ia as qF}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 WP=!1;var u1=Array.isArray,KF=Array.prototype.indexOf,nv=Array.prototype.includes,Dy=Array.from,GF=Object.defineProperty,Ru=Object.getOwnPropertyDescriptor,ZF=Object.getOwnPropertyDescriptors,XF=Object.prototype,YF=Array.prototype,BP=Object.getPrototypeOf,Lk=Object.isExtensible;const Ey=()=>{};function QF(o){for(var e=0;e<o.length;e++)o[e]()}function zP(){var o,e,t=new Promise((i,n)=>{o=i,e=n});return{promise:t,resolve:o,reject:e}}function JF(o,e,t=!1){return o===void 0?t?e():e:o}function kk(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 eo=2,gg=4,Py=8,VP=1<<24,ia=16,oa=32,Pc=64,kS=128,Cr=512,Hs=1024,js=2048,ja=4096,yo=8192,xr=16384,Bg=32768,IS=1<<25,fg=65536,sv=1<<17,eH=1<<18,zg=1<<19,tH=1<<20,Na=1<<25,gh=65536,ov=1<<21,Au=1<<22,lc=1<<23,_d=Symbol("$state"),iH=Symbol("legacy props"),nH=Symbol(""),L_=Symbol("attributes"),DS=Symbol("class"),ES=Symbol("style"),wf=Symbol("text"),k_=Symbol("form reset"),Ty=new class extends Error{constructor(){super(...arguments);Zi(this,"name","StaleReactionError");Zi(this,"message","The reaction that called `getAbortSignal()` was re-run or destroyed")}};function jP(o){throw new Error("https://svelte.dev/e/lifecycle_outside_component")}function sH(){throw new Error("https://svelte.dev/e/async_derived_orphan")}function oH(o,e,t){throw new Error("https://svelte.dev/e/each_key_duplicate")}function rH(o){throw new Error("https://svelte.dev/e/effect_in_teardown")}function aH(){throw new Error("https://svelte.dev/e/effect_in_unowned_derived")}function lH(o){throw new Error("https://svelte.dev/e/effect_orphan")}function cH(){throw new Error("https://svelte.dev/e/effect_update_depth_exceeded")}function dH(o){throw new Error("https://svelte.dev/e/props_invalid_value")}function hH(){throw new Error("https://svelte.dev/e/state_descriptors_fixed")}function uH(){throw new Error("https://svelte.dev/e/state_prototype_fixed")}function gH(){throw new Error("https://svelte.dev/e/state_unsafe_mutation")}function fH(){throw new Error("https://svelte.dev/e/svelte_boundary_reset_onerror")}const pH=1,mH=2,UP=4,_H=8,vH=16,bH=1,yH=4,wH=8,SH=16,CH=1,xH=2,Os=Symbol("uninitialized"),$P="http://www.w3.org/1999/xhtml",LH="http://www.w3.org/2000/svg",kH="http://www.w3.org/1998/Math/MathML";function IH(){console.warn("https://svelte.dev/e/derived_inert")}function DH(){console.warn("https://svelte.dev/e/select_multiple_invalid_value")}function EH(){console.warn("https://svelte.dev/e/svelte_boundary_reset_noop")}function qP(o){return o===this.v}function PH(o,e){return o!=o?e==e:o!==e||o!==null&&typeof o=="object"||typeof o=="function"}function KP(o){return!PH(o,this.v)}let TH=!1,Js=null;function pg(o){Js=o}function zo(o,e=!1,t){Js={p:Js,i:!1,c:null,e:null,s:o,x:null,r:pn,l:null}}function Vo(o){var e=Js,t=e.e;if(t!==null){e.e=null;for(var i of t)pT(i)}return o!==void 0&&(e.x=o),e.i=!0,Js=e.p,o??{}}function GP(){return!0}let od=[];function ZP(){var o=od;od=[],QF(o)}function cc(o){if(od.length===0&&!zf){var e=od;queueMicrotask(()=>{e===od&&ZP()})}od.push(o)}function MH(){for(;od.length>0;)ZP()}function XP(o){var e=pn;if(e===null)return un.f|=lc,o;if((e.f&Bg)===0&&(e.f&gg)===0)throw o;tc(o,e)}function tc(o,e){for(;e!==null;){if((e.f&kS)!==0){if((e.f&Bg)===0)throw o;try{e.b.error(o);return}catch(t){o=t}}e=e.parent}throw o}const NH=-7169;function ws(o,e){o.f=o.f&NH|e}function g1(o){(o.f&Cr)!==0||o.deps===null?ws(o,Hs):ws(o,ja)}function YP(o){if(o!==null)for(const e of o)(e.f&eo)===0||(e.f&gh)===0||(e.f^=gh,YP(e.deps))}function QP(o,e,t){(o.f&js)!==0?e.add(o):(o.f&ja)!==0&&t.add(o),YP(o.deps),ws(o,Hs)}let Um=!1;function RH(o){var e=Um;try{return Um=!1,[o(),Um]}finally{Um=e}}let yw=null,Zh=null,fi=null,Bf=null,Zs=null,PS=null,zf=!1,ww=!1,yu=null,I_=null;var Ik=0;let AH=1;var Wu,Yl,cd,Bu,zu,Vu,nl,ju,Eo,qp,sl,$r,La,Uu,dd,Zn,TS,Sf,MS,JP,eT,du,OH,Cf;const pb=class pb{constructor(){Hi(this,Zn);Zi(this,"id",AH++);Hi(this,Wu,!1);Zi(this,"linked",!0);Hi(this,Yl,null);Hi(this,cd,null);Zi(this,"async_deriveds",new Map);Zi(this,"current",new Map);Zi(this,"previous",new Map);Hi(this,Bu,new Set);Hi(this,zu,new Set);Hi(this,Vu,0);Hi(this,nl,new Map);Hi(this,ju,null);Hi(this,Eo,[]);Hi(this,qp,[]);Hi(this,sl,new Set);Hi(this,$r,new Set);Hi(this,La,new Map);Hi(this,Uu,new Set);Zi(this,"is_fork",!1);Hi(this,dd,!1);Zh===null?yw=Zh=this:(Wi(Zh,cd,this),Wi(this,Yl,Zh)),Zh=this}skip_effect(e){te(this,La).has(e)||te(this,La).set(e,{d:[],m:[]}),te(this,Uu).delete(e)}unskip_effect(e,t=i=>this.schedule(i)){var i=te(this,La).get(e);if(i){te(this,La).delete(e);for(var n of i.d)ws(n,js),t(n);for(n of i.m)ws(n,ja),t(n)}te(this,Uu).add(e)}capture(e,t,i=!1){e.v!==Os&&!this.previous.has(e)&&this.previous.set(e,e.v),(e.f&lc)===0&&(this.current.set(e,[t,i]),Zs==null||Zs.set(e,t)),this.is_fork||(e.v=t)}activate(){fi=this}deactivate(){fi=null,Zs=null}flush(){try{ww=!0,fi=this,Mn(this,Zn,Sf).call(this)}finally{Ik=0,PS=null,yu=null,I_=null,ww=!1,fi=null,Zs=null,vd.clear()}}discard(){var e;for(const t of te(this,zu))t(this);te(this,zu).clear(),Mn(this,Zn,Cf).call(this),(e=te(this,ju))==null||e.resolve()}register_created_effect(e){te(this,qp).push(e)}increment(e,t){if(Wi(this,Vu,te(this,Vu)+1),e){let i=te(this,nl).get(t)??0;te(this,nl).set(t,i+1)}}decrement(e,t){if(Wi(this,Vu,te(this,Vu)-1),e){let i=te(this,nl).get(t)??0;i===1?te(this,nl).delete(t):te(this,nl).set(t,i-1)}te(this,dd)||(Wi(this,dd,!0),cc(()=>{Wi(this,dd,!1),this.linked&&this.flush()}))}transfer_effects(e,t){for(const i of e)te(this,sl).add(i);for(const i of t)te(this,$r).add(i);e.clear(),t.clear()}oncommit(e){te(this,Bu).add(e)}ondiscard(e){te(this,zu).add(e)}settled(){return(te(this,ju)??Wi(this,ju,zP())).promise}static ensure(){if(fi===null){const e=fi=new pb;!ww&&!zf&&cc(()=>{te(e,Wu)||e.flush()})}return fi}apply(){{Zs=null;return}}schedule(e){var n;if(PS=e,(n=e.b)!=null&&n.is_pending&&(e.f&(gg|Py|VP))!==0&&(e.f&Bg)===0){e.b.defer_effect(e);return}for(var t=e;t.parent!==null;){t=t.parent;var i=t.f;if(yu!==null&&t===pn&&(un===null||(un.f&eo)===0))return;if((i&(Pc|oa))!==0){if((i&Hs)===0)return;t.f^=Hs}}te(this,Eo).push(t)}};Wu=new WeakMap,Yl=new WeakMap,cd=new WeakMap,Bu=new WeakMap,zu=new WeakMap,Vu=new WeakMap,nl=new WeakMap,ju=new WeakMap,Eo=new WeakMap,qp=new WeakMap,sl=new WeakMap,$r=new WeakMap,La=new WeakMap,Uu=new WeakMap,dd=new WeakMap,Zn=new WeakSet,TS=function(){if(this.is_fork)return!0;for(const i of te(this,nl).keys()){for(var e=i,t=!1;e.parent!==null;){if(te(this,La).has(e)){t=!0;break}e=e.parent}if(!t)return!0}return!1},Sf=function(){var c,h,g,f;Wi(this,Wu,!0),Ik++>1e3&&(Mn(this,Zn,Cf).call(this),HH());for(const p of te(this,sl))te(this,$r).delete(p),ws(p,js),this.schedule(p);for(const p of te(this,$r))ws(p,ja),this.schedule(p);const e=te(this,Eo);Wi(this,Eo,[]),this.apply();var t=yu=[],i=[],n=I_=[];for(const p of e)try{Mn(this,Zn,MS).call(this,p,t,i)}catch(v){throw nT(p),Mn(this,Zn,TS).call(this)||this.discard(),v}if(fi=null,n.length>0){var s=pb.ensure();for(const p of n)s.schedule(p)}if(yu=null,I_=null,Mn(this,Zn,TS).call(this)){Mn(this,Zn,du).call(this,i),Mn(this,Zn,du).call(this,t);for(const[p,v]of te(this,La))iT(p,v);n.length>0&&Mn(c=fi,Zn,Sf).call(c);return}const r=Mn(this,Zn,JP).call(this);if(r){Mn(this,Zn,du).call(this,i),Mn(this,Zn,du).call(this,t),Mn(h=r,Zn,eT).call(h,this);return}te(this,sl).clear(),te(this,$r).clear();for(const p of te(this,Bu))p(this);te(this,Bu).clear(),Bf=this,Dk(i),Dk(t),Bf=null,(g=te(this,ju))==null||g.resolve();var a=fi;if(te(this,Vu)===0&&(te(this,Eo).length===0||a!==null)&&Mn(this,Zn,Cf).call(this),te(this,Eo).length>0)if(a!==null){const p=a;te(p,Eo).push(...te(this,Eo).filter(v=>!te(p,Eo).includes(v)))}else a=this;a!==null&&Mn(f=a,Zn,Sf).call(f)},MS=function(e,t,i){e.f^=Hs;for(var n=e.first;n!==null;){var s=n.f,r=(s&(oa|Pc))!==0,a=r&&(s&Hs)!==0,c=a||(s&yo)!==0||te(this,La).has(n);if(!c&&n.fn!==null){r?n.f^=Hs:(s&gg)!==0?t.push(n):mm(n)&&((s&ia)!==0&&te(this,$r).add(n),_g(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}}},JP=function(){for(var e=te(this,Yl);e!==null;){if(!e.is_fork){for(const[t,[,i]]of this.current)if(e.current.has(t)&&!i)return e}e=te(e,Yl)}return null},eT=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(te(e,sl),te(e,$r));const t=n=>{var s=n.reactions;if(s!==null)for(const c of s){var r=c.f;if((r&eo)!==0)t(c);else{var a=c;r&(Au|ia)&&!this.async_deriveds.has(a)&&(te(this,$r).delete(a),ws(a,js),this.schedule(a))}}};for(const n of this.current.keys())t(n);this.oncommit(()=>e.discard()),Mn(i=e,Zn,Cf).call(i),fi=this,Mn(this,Zn,Sf).call(this)},du=function(e){for(var t=0;t<e.length;t+=1)QP(e[t],te(this,sl),te(this,$r))},OH=function(){var g;for(let f=yw;f!==null;f=te(f,cd)){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(te(f,Wu)){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 te(this,Uu))f.unskip_effect(p,v=>{var _;(v.f&(ia|Au))!==0?f.schedule(v):Mn(_=f,Zn,du).call(_,[v])});f.activate();var s=new Set,r=new Map;for(var a of t)tT(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 te(this,qp))(p.f&(xr|yo|sv))===0&&f1(p,c,r)&&((p.f&(Au|ia))!==0?(ws(p,js),f.schedule(p)):te(f,sl).add(p));if(te(f,Eo).length>0&&!te(f,dd)){f.apply();for(var h of te(f,Eo))Mn(g=f,Zn,MS).call(g,h,[],[]);Wi(f,Eo,[])}f.deactivate()}}}},Cf=function(){if(this.linked){var e=te(this,Yl),t=te(this,cd);e===null?yw=t:Wi(e,cd,t),t===null?Zh=e:Wi(t,Yl,e),this.linked=!1}};let fh=pb;function FH(o){var e=zf;zf=!0;try{for(var t;;){if(MH(),fi===null)return t;fi.flush()}}finally{zf=e}}function HH(){try{cH()}catch(o){tc(o,PS)}}let Vr=null;function Dk(o){var e=o.length;if(e!==0){for(var t=0;t<e;){var i=o[t++];if((i.f&(xr|yo))===0&&mm(i)&&(Vr=new Set,_g(i),i.deps===null&&i.first===null&&i.nodes===null&&i.teardown===null&&i.ac===null&&vT(i),(Vr==null?void 0:Vr.size)>0)){vd.clear();for(const n of Vr){if((n.f&(xr|yo))!==0)continue;const s=[n];let r=n.parent;for(;r!==null;)Vr.has(r)&&(Vr.delete(r),s.push(r)),r=r.parent;for(let a=s.length-1;a>=0;a--){const c=s[a];(c.f&(xr|yo))===0&&_g(c)}}Vr.clear()}}Vr=null}}function tT(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&eo)!==0?tT(n,e,t,i):(s&(Au|ia))!==0&&(s&js)===0&&f1(n,e,i)&&(ws(n,js),p1(n))}}function f1(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(nv.call(e,n))return!0;if((n.f&eo)!==0&&f1(n,e,t))return t.set(n,!0),!0}return t.set(o,!1),!1}function p1(o){fi.schedule(o)}function iT(o,e){if(!((o.f&oa)!==0&&(o.f&Hs)!==0)){(o.f&js)!==0?e.d.push(o):(o.f&ja)!==0&&e.m.push(o),ws(o,Hs);for(var t=o.first;t!==null;)iT(t,e),t=t.next}}function nT(o){ws(o,Hs);for(var e=o.first;e!==null;)nT(e),e=e.next}function WH(o){let e=0,t=ph(0),i;return()=>{b1()&&(u(t),Ny(()=>(e===0&&(i=Nl(()=>o(()=>Vf(t)))),e+=1,()=>{cc(()=>{e-=1,e===0&&(i==null||i(),i=void 0,Vf(t))})})))}}var BH=fg|zg;function zH(o,e,t,i){new VH(o,e,t,i)}var gr,O0,fr,hd,Po,pr,mo,Xo,ol,ud,Ql,$u,Kp,Gp,rl,mb,Ss,jH,UH,$H,NS,D_,E_,RS,AS;class VH{constructor(e,t,i,n){Hi(this,Ss);Zi(this,"parent");Zi(this,"is_pending",!1);Zi(this,"transform_error");Hi(this,gr);Hi(this,O0,null);Hi(this,fr);Hi(this,hd);Hi(this,Po);Hi(this,pr,null);Hi(this,mo,null);Hi(this,Xo,null);Hi(this,ol,null);Hi(this,ud,0);Hi(this,Ql,0);Hi(this,$u,!1);Hi(this,Kp,new Set);Hi(this,Gp,new Set);Hi(this,rl,null);Hi(this,mb,WH(()=>(Wi(this,rl,ph(te(this,ud))),()=>{Wi(this,rl,null)})));var s;Wi(this,gr,e),Wi(this,fr,t),Wi(this,hd,r=>{var a=pn;a.b=this,a.f|=kS,i(r)}),this.parent=pn.b,this.transform_error=n??((s=this.parent)==null?void 0:s.transform_error)??(r=>r),Wi(this,Po,S1(()=>{Mn(this,Ss,NS).call(this)},BH))}defer_effect(e){QP(e,te(this,Kp),te(this,Gp))}is_rendered(){return!this.is_pending&&(!this.parent||this.parent.is_rendered())}has_pending_snippet(){return!!te(this,fr).pending}update_pending_count(e,t){Mn(this,Ss,RS).call(this,e,t),Wi(this,ud,te(this,ud)+e),!(!te(this,rl)||te(this,$u))&&(Wi(this,$u,!0),cc(()=>{Wi(this,$u,!1),te(this,rl)&&mg(te(this,rl),te(this,ud))}))}get_effect_pending(){return te(this,mb).call(this),u(te(this,rl))}error(e){if(!te(this,fr).onerror&&!te(this,fr).failed)throw e;fi!=null&&fi.is_fork?(te(this,pr)&&fi.skip_effect(te(this,pr)),te(this,mo)&&fi.skip_effect(te(this,mo)),te(this,Xo)&&fi.skip_effect(te(this,Xo)),fi.oncommit(()=>{Mn(this,Ss,AS).call(this,e)})):Mn(this,Ss,AS).call(this,e)}}gr=new WeakMap,O0=new WeakMap,fr=new WeakMap,hd=new WeakMap,Po=new WeakMap,pr=new WeakMap,mo=new WeakMap,Xo=new WeakMap,ol=new WeakMap,ud=new WeakMap,Ql=new WeakMap,$u=new WeakMap,Kp=new WeakMap,Gp=new WeakMap,rl=new WeakMap,mb=new WeakMap,Ss=new WeakSet,jH=function(){try{Wi(this,pr,mr(()=>te(this,hd).call(this,te(this,gr))))}catch(e){this.error(e)}},UH=function(e){const t=te(this,fr).failed;t&&Wi(this,Xo,mr(()=>{t(te(this,gr),()=>e,()=>()=>{})}))},$H=function(){const e=te(this,fr).pending;e&&(this.is_pending=!0,Wi(this,mo,mr(()=>e(te(this,gr)))),cc(()=>{var t=Wi(this,ol,document.createDocumentFragment()),i=pl();t.append(i),Wi(this,pr,Mn(this,Ss,E_).call(this,()=>mr(()=>te(this,hd).call(this,i)))),te(this,Ql)===0&&(te(this,gr).before(t),Wi(this,ol,null),yd(te(this,mo),()=>{Wi(this,mo,null)}),Mn(this,Ss,D_).call(this,fi))}))},NS=function(){try{if(this.is_pending=this.has_pending_snippet(),Wi(this,Ql,0),Wi(this,ud,0),Wi(this,pr,mr(()=>{te(this,hd).call(this,te(this,gr))})),te(this,Ql)>0){var e=Wi(this,ol,document.createDocumentFragment());x1(te(this,pr),e);const t=te(this,fr).pending;Wi(this,mo,mr(()=>t(te(this,gr))))}else Mn(this,Ss,D_).call(this,fi)}catch(t){this.error(t)}},D_=function(e){this.is_pending=!1,e.transfer_effects(te(this,Kp),te(this,Gp))},E_=function(e){var t=pn,i=un,n=Js;Ua(te(this,Po)),Ir(te(this,Po)),pg(te(this,Po).ctx);try{return fh.ensure(),e()}catch(s){return XP(s),null}finally{Ua(t),Ir(i),pg(n)}},RS=function(e,t){var i;if(!this.has_pending_snippet()){this.parent&&Mn(i=this.parent,Ss,RS).call(i,e,t);return}Wi(this,Ql,te(this,Ql)+e),te(this,Ql)===0&&(Mn(this,Ss,D_).call(this,t),te(this,mo)&&yd(te(this,mo),()=>{Wi(this,mo,null)}),te(this,ol)&&(te(this,gr).before(te(this,ol)),Wi(this,ol,null)))},AS=function(e){te(this,pr)&&(Ho(te(this,pr)),Wi(this,pr,null)),te(this,mo)&&(Ho(te(this,mo)),Wi(this,mo,null)),te(this,Xo)&&(Ho(te(this,Xo)),Wi(this,Xo,null));var t=te(this,fr).onerror;let i=te(this,fr).failed;var n=!1,s=!1;const r=()=>{if(n){EH();return}n=!0,s&&fH(),te(this,Xo)!==null&&yd(te(this,Xo),()=>{Wi(this,Xo,null)}),Mn(this,Ss,E_).call(this,()=>{Mn(this,Ss,NS).call(this)})},a=c=>{try{s=!0,t==null||t(c,r),s=!1}catch(h){tc(h,te(this,Po)&&te(this,Po).parent)}i&&Wi(this,Xo,Mn(this,Ss,E_).call(this,()=>{try{return mr(()=>{var h=pn;h.b=this,h.f|=kS,i(te(this,gr),()=>c,()=>r)})}catch(h){return tc(h,te(this,Po).parent),null}}))};cc(()=>{var c;try{c=this.transform_error(e)}catch(h){tc(h,te(this,Po)&&te(this,Po).parent);return}c!==null&&typeof c=="object"&&typeof c.then=="function"?c.then(a,h=>tc(h,te(this,Po)&&te(this,Po).parent)):a(c)})};function qH(o,e,t,i){const n=pp;var s=o.filter(p=>!p.settled);if(t.length===0&&s.length===0){i(e.map(n));return}var r=pn,a=KH(),c=s.length===1?s[0].promise:s.length>1?Promise.all(s.map(p=>p.promise)):null;function h(p){if((r.f&xr)===0){a();try{i(p)}catch(v){tc(v,r)}rv()}}var g=sT();if(t.length===0){c.then(()=>h(e.map(n))).finally(g);return}function f(){Promise.all(t.map(p=>GH(p))).then(p=>h([...e.map(n),...p])).catch(p=>tc(p,r)).finally(g)}c?c.then(()=>{a(),f(),rv()}):f()}function KH(){var o=pn,e=un,t=Js,i=fi;return function(s=!0){Ua(o),Ir(e),pg(t),s&&(o.f&xr)===0&&(i==null||i.activate(),i==null||i.apply())}}function rv(o=!0){Ua(null),Ir(null),pg(null),o&&(fi==null||fi.deactivate())}function sT(){var o=pn,e=o.b,t=fi,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 pp(o){var e=eo|js;return pn!==null&&(pn.f|=zg),{ctx:Js,deps:null,effects:null,equals:qP,f:e,fn:o,reactions:null,rv:0,v:Os,wv:0,parent:pn,ac:null}}const $m=Symbol("obsolete");function GH(o,e,t){let i=pn;i===null&&sH();var n=void 0,s=ph(Os),r=!un,a=new Set;return rW(()=>{var v,_;var c=pn,h=zP();n=h.promise;try{Promise.resolve(o()).then(h.resolve,w=>{w!==Ty&&h.reject(w)}).finally(rv)}catch(w){h.reject(w),rv()}var g=fi;if(r){if((c.f&Bg)!==0)var f=sT();if((v=i.b)!=null&&v.is_rendered())(_=g.async_deriveds.get(c))==null||_.reject($m);else for(const w of a.values())w.reject($m);a.add(h),g.async_deriveds.set(c,h)}const p=(w,S=void 0)=>{f==null||f(),a.delete(h),S!==$m&&(g.activate(),S?(s.f|=lc,mg(s,S)):((s.f&lc)!==0&&(s.f^=lc),mg(s,w)),g.deactivate())};h.promise.then(p,w=>p(null,w||"unknown"))}),y1(()=>{for(const c of a)c.reject($m)}),new Promise(c=>{function h(g){function f(){g===n?c(s):h(n)}g.then(f,f)}h(n)})}function nt(o){const e=pp(o);return wT(e),e}function m1(o){const e=pp(o);return e.equals=KP,e}function ZH(o){var e=o.effects;if(e!==null){o.effects=null;for(var t=0;t<e.length;t+=1)Ho(e[t])}}function _1(o){var e,t=pn,i=o.parent;if(!Cl&&i!==null&&o.v!==Os&&(i.f&(xr|yo))!==0)return IH(),o.v;Ua(i);try{o.f&=~gh,ZH(o),e=LT(o)}finally{Ua(t)}return e}function oT(o){var e=_1(o);if(!o.equals(e)&&(o.wv=CT(),(!(fi!=null&&fi.is_fork)||o.deps===null)&&(fi!==null?(fi.capture(o,e,!0),Bf==null||Bf.capture(o,e,!0)):o.v=e,o.deps===null))){ws(o,Hs);return}Cl||(Zs!==null?(b1()||fi!=null&&fi.is_fork)&&Zs.set(o,e):g1(o))}function XH(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(Ty),i.fn!==null&&(i.teardown=Ey),i.ac=null,mp(i,0),C1(i))}function rT(o){if(o.effects!==null)for(const e of o.effects)e.teardown&&e.fn!==null&&_g(e)}let av=new Set;const vd=new Map;let aT=!1;function ph(o,e){var t={f:0,v:o,reactions:null,equals:qP,rv:0,wv:0};return t}function W(o,e){const t=ph(o);return wT(t),t}function YH(o,e=!1,t=!0){const i=ph(o);return e||(i.equals=KP),i}function C(o,e,t=!1){un!==null&&(!na||(un.f&sv)!==0)&&GP()&&(un.f&(eo|ia|Au|sv))!==0&&(Wa===null||!Wa.has(o))&&gH();let i=t?li(e):e;return mg(o,i,I_)}function mg(o,e,t=null){if(!o.equals(e)){vd.set(o,Cl?e:o.v);var i=fh.ensure();if(i.capture(o,e),(o.f&eo)!==0){const n=o;(o.f&js)!==0&&_1(n),Zs===null&&g1(n)}o.wv=CT(),lT(o,js,t),pn!==null&&(pn.f&Hs)!==0&&(pn.f&(oa|Pc))===0&&(ur===null?lW([o]):ur.push(o)),!i.is_fork&&av.size>0&&!aT&&QH()}return e}function QH(){aT=!1;for(const o of av){(o.f&Hs)!==0&&ws(o,ja);let e;try{e=mm(o)}catch{e=!0}e&&_g(o)}av.clear()}function Ek(o,e=1){var t=u(o),i=e===1?t++:t--;return C(o,t),i}function Vf(o){C(o,o.v+1)}function lT(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&js)===0;if(c&&ws(r,e),(a&sv)!==0)av.add(r);else if((a&eo)!==0){var h=r;Zs==null||Zs.delete(h),(a&gh)===0&&(a&Cr&&(pn===null||(pn.f&ov)===0)&&(r.f|=gh),lT(h,ja,t))}else if(c){var g=r;(a&ia)!==0&&Vr!==null&&Vr.add(g),t!==null?t.push(g):p1(g)}}}function li(o){if(typeof o!="object"||o===null||_d in o)return o;const e=BP(o);if(e!==XF&&e!==YF)return o;var t=new Map,i=u1(o),n=W(0),s=wd,r=a=>{if(wd===s)return a();var c=un,h=wd;Ir(null),Nk(s);var g=a();return Ir(c),Nk(h),g};return i&&t.set("length",W(o.length)),new Proxy(o,{defineProperty(a,c,h){(!("value"in h)||h.configurable===!1||h.enumerable===!1||h.writable===!1)&&hH();var g=t.get(c);return g===void 0?r(()=>{var f=W(h.value);return t.set(c,f),f}):C(g,h.value,!0),!0},deleteProperty(a,c){var h=t.get(c);if(h===void 0){if(c in a){const g=r(()=>W(Os));t.set(c,g),Vf(n)}}else C(h,Os),Vf(n);return!0},get(a,c,h){var v;if(c===_d)return o;var g=t.get(c),f=c in a;if(g===void 0&&(!f||(v=Ru(a,c))!=null&&v.writable)&&(g=r(()=>{var _=li(f?a[c]:Os),w=W(_);return w}),t.set(c,g)),g!==void 0){var p=u(g);return p===Os?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!==Os)return{enumerable:!0,configurable:!0,value:p,writable:!0}}return h},has(a,c){var p;if(c===_d)return!0;var h=t.get(c),g=h!==void 0&&h.v!==Os||Reflect.has(a,c);if(h!==void 0||pn!==null&&(!g||(p=Ru(a,c))!=null&&p.writable)){h===void 0&&(h=r(()=>{var v=g?li(a[c]):Os,_=W(v);return _}),t.set(c,h));var f=u(h);if(f===Os)return!1}return g},set(a,c,h,g){var A;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?C(_,Os):v in a&&(_=r(()=>W(Os)),t.set(v+"",_))}if(f===void 0)(!p||(A=Ru(a,c))!=null&&A.writable)&&(f=r(()=>W(void 0)),C(f,li(h)),t.set(c,f));else{p=f.v!==Os;var w=r(()=>li(h));C(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&&C(D,P+1)}Vf(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!==Os});for(var[h,g]of t)g.v!==Os&&!(h in a)&&c.push(h);return c},setPrototypeOf(){uH()}})}function Pk(o){try{if(o!==null&&typeof o=="object"&&_d in o)return o[_d]}catch{}return o}function JH(o,e){return Object.is(Pk(o),Pk(e))}var bd,cT,dT,hT,uT;function eW(){if(bd===void 0){bd=window,cT=document,dT=/Firefox/.test(navigator.userAgent);var o=Element.prototype,e=Node.prototype,t=Text.prototype;hT=Ru(e,"firstChild").get,uT=Ru(e,"nextSibling").get,Lk(o)&&(o[DS]=void 0,o[L_]=null,o[ES]=void 0,o.__e=void 0),Lk(t)&&(t[wf]=void 0)}}function pl(o=""){return document.createTextNode(o)}function Ra(o){return hT.call(o)}function pm(o){return uT.call(o)}function k(o,e){return Ra(o)}function _t(o,e=!1){{var t=Ra(o);return t instanceof Comment&&t.data===""?pm(t):t}}function x(o,e=1,t=!1){let i=o;for(;e--;)i=pm(i);return i}function tW(o){o.textContent=""}function gT(){return!1}function fT(o,e,t){return e==null||e===$P?t?document.createElement(o,{is:t}):document.createElement(o):t?document.createElementNS(e,o,{is:t}):document.createElementNS(e,o)}let Tk=!1;function iW(){Tk||(Tk=!0,document.addEventListener("reset",o=>{Promise.resolve().then(()=>{var e;if(!o.defaultPrevented)for(const t of o.target.elements)(e=t[k_])==null||e.call(t)})},{capture:!0}))}function My(o){var e=un,t=pn;Ir(null),Ua(null);try{return o()}finally{Ir(e),Ua(t)}}function v1(o,e,t,i=t){o.addEventListener(e,()=>My(t));const n=o[k_];n?o[k_]=()=>{n(),i(!0)}:o[k_]=()=>i(!0),iW()}function nW(o){pn===null&&(un===null&&lH(),aH()),Cl&&rH()}function sW(o,e){var t=e.last;t===null?e.last=e.first=o:(t.next=o,o.prev=t,e.last=o)}function Ml(o,e){var t=pn;t!==null&&(t.f&yo)!==0&&(o|=yo);var i={ctx:Js,deps:null,nodes:null,f:o|js|Cr,first:null,fn:e,last:null,next:null,parent:t,b:t&&t.b,prev:null,teardown:null,wv:0,ac:null};fi==null||fi.register_created_effect(i);var n=i;if((o&gg)!==0)yu!==null?yu.push(i):fh.ensure().schedule(i);else if(e!==null){try{_g(i)}catch(r){throw Ho(i),r}n.deps===null&&n.teardown===null&&n.nodes===null&&n.first===n.last&&(n.f&zg)===0&&(n=n.first,(o&ia)!==0&&(o&fg)!==0&&n!==null&&(n.f|=fg))}if(n!==null&&(n.parent=t,t!==null&&sW(n,t),un!==null&&(un.f&eo)!==0&&(o&Pc)===0)){var s=un;(s.effects??(s.effects=[])).push(n)}return i}function b1(){return un!==null&&!na}function y1(o){const e=Ml(Py,null);return ws(e,Hs),e.teardown=o,e}function Wn(o){nW();var e=pn.f,t=!un&&(e&oa)!==0&&Js!==null&&!Js.i;if(t){var i=Js;(i.e??(i.e=[])).push(o)}else return pT(o)}function pT(o){return Ml(gg|tH,o)}function oW(o){fh.ensure();const e=Ml(Pc|zg,o);return(t={})=>new Promise(i=>{t.outro?yd(e,()=>{Ho(e),i(void 0)}):(Ho(e),i(void 0))})}function w1(o){return Ml(gg,o)}function rW(o){return Ml(Au|zg,o)}function Ny(o,e=0){return Ml(Py|e,o)}function G(o,e=[],t=[],i=[]){qH(i,e,t,n=>{Ml(Py,()=>o(...n.map(u)))})}function S1(o,e=0){var t=Ml(ia|e,o);return t}function mr(o){return Ml(oa|zg,o)}function mT(o){var e=o.teardown;if(e!==null){const t=Cl,i=un;Mk(!0),Ir(null);try{e.call(null)}finally{Mk(t),Ir(i)}}}function C1(o,e=!1){var t=o.first;for(o.first=o.last=null;t!==null;){const n=t.ac;n!==null&&My(()=>{n.abort(Ty)});var i=t.next;(t.f&Pc)!==0?t.parent=null:Ho(t,e),t=i}}function aW(o){for(var e=o.first;e!==null;){var t=e.next;(e.f&oa)===0&&Ho(e),e=t}}function Ho(o,e=!0){var t=!1;(e||(o.f&eH)!==0)&&o.nodes!==null&&o.nodes.end!==null&&(_T(o.nodes.start,o.nodes.end),t=!0),ws(o,IS),C1(o,e&&!t),mp(o,0);var i=o.nodes&&o.nodes.t;if(i!==null)for(const s of i)s.stop();mT(o),o.f^=IS,o.f|=xr;var n=o.parent;n!==null&&n.first!==null&&vT(o),o.next=o.prev=o.teardown=o.ctx=o.deps=o.fn=o.nodes=o.ac=o.b=null}function _T(o,e){for(;o!==null;){var t=o===e?null:pm(o);o.remove(),o=t}}function vT(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 yd(o,e,t=!0){var i=[];bT(o,i,!0);var n=()=>{t&&Ho(o),e&&e()},s=i.length;if(s>0){var r=()=>--s||n();for(var a of i)a.out(r)}else n()}function bT(o,e,t){if((o.f&yo)===0){o.f^=yo;var i=o.nodes&&o.nodes.t;if(i!==null)for(const a of i)(a.is_global||t)&&e.push(a);for(var n=o.first;n!==null;){var s=n.next;if((n.f&Pc)===0){var r=(n.f&fg)!==0||(n.f&oa)!==0&&(o.f&ia)!==0;bT(n,e,r?t:!1)}n=s}}}function lv(o){yT(o,!0)}function yT(o,e){if((o.f&yo)!==0){o.f^=yo,(o.f&Hs)===0&&(ws(o,js),fh.ensure().schedule(o));for(var t=o.first;t!==null;){var i=t.next,n=(t.f&fg)!==0||(t.f&oa)!==0;yT(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 x1(o,e){if(o.nodes)for(var t=o.nodes.start,i=o.nodes.end;t!==null;){var n=t===i?null:pm(t);e.append(t),t=n}}let P_=!1,Cl=!1;function Mk(o){Cl=o}let un=null,na=!1;function Ir(o){un=o}let pn=null;function Ua(o){pn=o}let Wa=null;function wT(o){un!==null&&(Wa??(Wa=new Set)).add(o)}let To=null,Go=0,ur=null;function lW(o){ur=o}let ST=1,rd=0,wd=rd;function Nk(o){wd=o}function CT(){return++ST}function mm(o){var e=o.f;if((e&js)!==0)return!0;if(e&eo&&(o.f&=~gh),(e&ja)!==0){for(var t=o.deps,i=t.length,n=0;n<i;n++){var s=t[n];if(mm(s)&&oT(s),s.wv>o.wv)return!0}(e&Cr)!==0&&Zs===null&&ws(o,Hs)}return!1}function xT(o,e,t=!0){var i=o.reactions;if(i!==null&&!(Wa!==null&&Wa.has(o)))for(var n=0;n<i.length;n++){var s=i[n];(s.f&eo)!==0?xT(s,e,!1):e===s&&(t?ws(s,js):(s.f&Hs)!==0&&ws(s,ja),p1(s))}}function LT(o){var w;var e=To,t=Go,i=ur,n=un,s=Wa,r=Js,a=na,c=wd,h=o.f;To=null,Go=0,ur=null,un=(h&(oa|Pc))===0?o:null,Wa=null,pg(o.ctx),na=!1,wd=++rd,o.ac!==null&&(My(()=>{o.ac.abort(Ty)}),o.ac=null);try{o.f|=ov;var g=o.fn,f=g();o.f|=Bg;var p=o.deps,v=fi==null?void 0:fi.is_fork;if(To!==null){var _;if(v||mp(o,Go),p!==null&&Go>0)for(p.length=Go+To.length,_=0;_<To.length;_++)p[Go+_]=To[_];else o.deps=p=To;if(b1()&&(o.f&Cr)!==0)for(_=Go;_<p.length;_++)((w=p[_]).reactions??(w.reactions=[])).push(o)}else!v&&p!==null&&Go<p.length&&(mp(o,Go),p.length=Go);if(GP()&&ur!==null&&!na&&p!==null&&(o.f&(eo|ja|js))===0)for(_=0;_<ur.length;_++)xT(ur[_],o);if(n!==null&&n!==o){if(rd++,n.deps!==null)for(let S=0;S<t;S+=1)n.deps[S].rv=rd;if(e!==null)for(const S of e)S.rv=rd;ur!==null&&(i===null?i=ur:i.push(...ur))}return(o.f&lc)!==0&&(o.f^=lc),f}catch(S){return XP(S)}finally{o.f^=ov,To=e,Go=t,ur=i,un=n,Wa=s,pg(r),na=a,wd=c}}function cW(o,e){let t=e.reactions;if(t!==null){var i=KF.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&eo)!==0&&(To===null||!nv.call(To,e))){var s=e;(s.f&Cr)!==0&&(s.f^=Cr,s.f&=~gh),s.v!==Os&&g1(s),XH(s),mp(s,0)}}function mp(o,e){var t=o.deps;if(t!==null)for(var i=e;i<t.length;i++)cW(o,t[i])}function _g(o){var e=o.f;if((e&xr)===0){ws(o,Hs);var t=pn,i=P_;pn=o,P_=!0;try{(e&(ia|VP))!==0?aW(o):C1(o),mT(o);var n=LT(o);o.teardown=typeof n=="function"?n:null,o.wv=ST;var s;WP&&TH&&(o.f&js)!==0&&o.deps}finally{P_=i,pn=t}}}async function T_(){await Promise.resolve(),FH()}function u(o){var e=o.f,t=(e&eo)!==0;if(un!==null&&!na){var i=pn!==null&&(pn.f&xr)!==0;if(!i&&(Wa===null||!Wa.has(o))){var n=un.deps;if((un.f&ov)!==0)o.rv<rd&&(o.rv=rd,To===null&&n!==null&&n[Go]===o?Go++:To===null?To=[o]:To.push(o));else{un.deps??(un.deps=[]),nv.call(un.deps,o)||un.deps.push(o);var s=o.reactions;s===null?o.reactions=[un]:nv.call(s,un)||s.push(un)}}}if(Cl&&vd.has(o))return vd.get(o);if(t){var r=o;if(Cl){var a=r.v;return((r.f&Hs)===0&&r.reactions!==null||IT(r))&&(a=_1(r)),vd.set(r,a),a}var c=(r.f&Cr)===0&&!na&&un!==null&&(P_||(un.f&Cr)!==0),h=(r.f&Bg)===0;mm(r)&&(c&&(r.f|=Cr),oT(r)),c&&!h&&(rT(r),kT(r))}if(Zs!=null&&Zs.has(o))return Zs.get(o);if((o.f&lc)!==0)throw o.v;return o.v}function kT(o){if(o.f|=Cr,o.deps!==null)for(const e of o.deps)(e.reactions??(e.reactions=[])).push(o),(e.f&eo)!==0&&(e.f&Cr)===0&&(rT(e),kT(e))}function IT(o){if(o.v===Os)return!0;if(o.deps===null)return!1;for(const e of o.deps)if(vd.has(e)||(e.f&eo)!==0&&IT(e))return!0;return!1}function Nl(o){var e=na;try{return na=!0,o()}finally{na=e}}const dW=["touchstart","touchmove"];function hW(o){return dW.includes(o)}const ad=Symbol("events"),DT=new Set,OS=new Set;function uW(o,e,t,i={}){function n(s){if(i.capture||FS.call(e,s),!s.cancelBubble)return My(()=>t==null?void 0:t.call(this,s))}return o.startsWith("pointer")||o.startsWith("touch")||o==="wheel"?cc(()=>{e.addEventListener(o,n,i)}):e.addEventListener(o,n,i),n}function cs(o,e,t,i,n){var s={capture:i,passive:n},r=uW(o,e,t,s);(e===document.body||e===window||e===document||e instanceof HTMLMediaElement)&&y1(()=>{e.removeEventListener(o,r,s)})}function Q(o,e,t){(e[ad]??(e[ad]={}))[o]=t}function Pr(o){for(var e=0;e<o.length;e++)DT.add(o[e]);for(var t of OS)t(o)}let Rk=null;function FS(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;Rk=o;var r=0,a=Rk===o&&o[ad];if(a){var c=n.indexOf(a);if(c!==-1&&(e===document||e===window)){o[ad]=e;return}var h=n.indexOf(e);if(h===-1)return;c<=h&&(r=c)}if(s=n[r]||o.target,s!==e){GF(o,"currentTarget",{configurable:!0,get(){return s||t}});var g=un,f=pn;Ir(null),Ua(null);try{for(var p,v=[];s!==null&&s!==e;){try{var _=(S=s[ad])==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[ad]=e,delete o.currentTarget,Ir(g),Ua(f)}}}var lE;const Sw=((lE=globalThis==null?void 0:globalThis.window)==null?void 0:lE.trustedTypes)&&globalThis.window.trustedTypes.createPolicy("svelte-trusted-html",{createHTML:o=>o});function gW(o){return(Sw==null?void 0:Sw.createHTML(o))??o}function ET(o){var e=fT("template");return e.innerHTML=gW(o.replaceAll("<!>","<!---->")),e.content}function mh(o,e){var t=pn;t.nodes===null&&(t.nodes={start:o,end:e,a:null,t:null})}function M(o,e){var t=(e&CH)!==0,i=(e&xH)!==0,n,s=!o.startsWith("<!>");return()=>{n===void 0&&(n=ET(s?o:"<!>"+o),t||(n=Ra(n)));var r=i||dT?document.importNode(n,!0):n.cloneNode(!0);if(t){var a=Ra(r),c=r.lastChild;mh(a,c)}else mh(r,r);return r}}function fW(o,e,t="svg"){var i=!o.startsWith("<!>"),n=`<${t}>${i?o:"<!>"+o}</${t}>`,s;return()=>{if(!s){var r=ET(n),a=Ra(r);s=Ra(a)}var c=s.cloneNode(!0);return mh(c,c),c}}function PT(o,e){return fW(o,e,"svg")}function sa(o=""){{var e=pl(o+"");return mh(e,e),e}}function Us(){var o=document.createDocumentFragment(),e=document.createComment(""),t=pl();return o.append(e,t),mh(e,t),o}function E(o,e){o!==null&&o.before(e)}function q(o,e){var t=e==null?"":typeof e=="object"?`${e}`:e;t!==(o[wf]??(o[wf]=o.nodeValue))&&(o[wf]=t,o.nodeValue=`${t}`)}function pW(o,e){return mW(o,e)}const qm=new Map;function mW(o,{target:e,anchor:t,props:i={},events:n,context:s,intro:r=!0,transformError:a}){eW();var c=void 0,h=oW(()=>{var g=t??e.appendChild(pl());zH(g,{pending:()=>{}},v=>{zo({});var _=Js;s&&(_.c=s),n&&(i.$$events=n),c=o(v,i)||{},Vo()},a);var f=new Set,p=v=>{for(var _=0;_<v.length;_++){var w=v[_];if(!f.has(w)){f.add(w);var S=hW(w);for(const A of[e,document]){var D=qm.get(A);D===void 0&&(D=new Map,qm.set(A,D));var P=D.get(w);P===void 0?(A.addEventListener(w,FS,{passive:S}),D.set(w,1)):D.set(w,P+1)}}}};return p(Dy(DT)),OS.add(p),()=>{var S;for(var v of f)for(const D of[e,document]){var _=qm.get(D),w=_.get(v);--w==0?(D.removeEventListener(v,FS),_.delete(v),_.size===0&&qm.delete(D)):_.set(v,w)}OS.delete(p),g!==t&&((S=g.parentNode)==null||S.removeChild(g))}});return _W.set(c,h),c}let _W=new WeakMap;var qr,ka,Yo,gd,Zp,Xp,_b;class vW{constructor(e,t=!0){Zi(this,"anchor");Hi(this,qr,new Map);Hi(this,ka,new Map);Hi(this,Yo,new Map);Hi(this,gd,new Set);Hi(this,Zp,!0);Hi(this,Xp,e=>{if(te(this,qr).has(e)){var t=te(this,qr).get(e),i=te(this,ka).get(t);if(i)lv(i),te(this,gd).delete(t);else{var n=te(this,Yo).get(t);n&&(lv(n.effect),te(this,ka).set(t,n.effect),te(this,Yo).delete(t),n.fragment.lastChild.remove(),this.anchor.before(n.fragment),i=n.effect)}for(const[s,r]of te(this,qr)){if(te(this,qr).delete(s),s===e)break;const a=te(this,Yo).get(r);a&&(Ho(a.effect),te(this,Yo).delete(r))}for(const[s,r]of te(this,ka)){if(s===t||te(this,gd).has(s))continue;const a=()=>{if(Array.from(te(this,qr).values()).includes(s)){var h=document.createDocumentFragment();x1(r,h),h.append(pl()),te(this,Yo).set(s,{effect:r,fragment:h})}else Ho(r);te(this,gd).delete(s),te(this,ka).delete(s)};te(this,Zp)||!i?(te(this,gd).add(s),yd(r,a,!1)):a()}}});Hi(this,_b,e=>{te(this,qr).delete(e);const t=Array.from(te(this,qr).values());for(const[i,n]of te(this,Yo))t.includes(i)||(Ho(n.effect),te(this,Yo).delete(i))});this.anchor=e,Wi(this,Zp,t)}ensure(e,t){var i=fi,n=gT();if(t&&!te(this,ka).has(e)&&!te(this,Yo).has(e))if(n){var s=document.createDocumentFragment(),r=pl();s.append(r),te(this,Yo).set(e,{effect:mr(()=>t(r)),fragment:s})}else te(this,ka).set(e,mr(()=>t(this.anchor)));if(te(this,qr).set(i,e),n){for(const[a,c]of te(this,ka))a===e?i.unskip_effect(c):i.skip_effect(c);for(const[a,c]of te(this,Yo))a===e?i.unskip_effect(c.effect):i.skip_effect(c.effect);i.oncommit(te(this,Xp)),i.ondiscard(te(this,_b))}else te(this,Xp).call(this,i)}}qr=new WeakMap,ka=new WeakMap,Yo=new WeakMap,gd=new WeakMap,Zp=new WeakMap,Xp=new WeakMap,_b=new WeakMap;function U(o,e,t=!1){var i=new vW(o),n=t?fg:0;function s(r,a){i.ensure(r,a)}S1(()=>{var r=!1;e((a,c=0)=>{r=!0,s(c,a)}),r||s(-1,null)},n)}function Nn(o,e){return e}function bW(o,e,t){for(var i=[],n=e.length,s,r=e.length,a=0;a<n;a++){let f=e[a];yd(f,()=>{if(s){if(s.pending.delete(f),s.done.add(f),s.pending.size===0){var p=o.outrogroups;HS(o,Dy(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;tW(g),g.append(h),o.items.clear()}HS(o,e,!c)}else s={pending:new Set(e),done:new Set},(o.outrogroups??(o.outrogroups=new Set)).add(s)}function HS(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|=Na;const r=document.createDocumentFragment();x1(s,r)}else Ho(e[n],t)}}var Ak;function gi(o,e,t,i,n,s=null){var r=o,a=new Map,c=(e&UP)!==0;if(c){var h=o;r=h.appendChild(pl())}var g=null,f=m1(()=>{var A=t();return u1(A)?A:A==null?[]:Dy(A)}),p,v=new Map,_=!0;function w(A){(P.effect.f&xr)===0&&(P.pending.delete(A),P.fallback=g,yW(P,p,r,e,i),g!==null&&(p.length===0?(g.f&Na)===0?lv(g):(g.f^=Na,xf(g,null,r)):yd(g,()=>{g=null})))}function S(A){P.pending.delete(A)}var D=S1(()=>{p=u(f);for(var A=p.length,V=new Set,H=fi,J=gT(),X=0;X<A;X+=1){var fe=p[X],Ie=i(fe,X),Be=_?null:a.get(Ie);Be?(Be.v&&mg(Be.v,fe),Be.i&&mg(Be.i,X),J&&H.unskip_effect(Be.e)):(Be=wW(a,_?r:Ak??(Ak=pl()),fe,Ie,X,n,e,t),_||(Be.e.f|=Na),a.set(Ie,Be)),V.add(Ie)}if(A===0&&s&&!g&&(_?g=mr(()=>s(r)):(g=mr(()=>s(Ak??(Ak=pl()))),g.f|=Na)),A>V.size&&oH(),!_)if(v.set(H,V),J){for(const[Se,ut]of a)V.has(Se)||H.skip_effect(ut.e);H.oncommit(w),H.ondiscard(S)}else w(H);u(f)}),P={effect:D,items:a,pending:v,outrogroups:null,fallback:g};_=!1}function hf(o){for(;o!==null&&(o.f&oa)===0;)o=o.next;return o}function yW(o,e,t,i,n){var Be,Se,ut,mt,at,hi,Ut,ti,Fe;var s=(i&_H)!==0,r=e.length,a=o.items,c=hf(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&Na)===0&&((Se=(Be=S.nodes)==null?void 0:Be.a)==null||Se.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 Gt of o.outrogroups)Gt.pending.delete(S),Gt.done.delete(S);if((S.f&yo)!==0&&(lv(S),s&&((mt=(ut=S.nodes)==null?void 0:ut.a)==null||mt.unfix(),(f??(f=new Set)).delete(S))),(S.f&Na)!==0)if(S.f^=Na,S===c)xf(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),Wl(o,g,S),Wl(o,S,P),xf(S,P,t),g=S,p=[],v=[],c=hf(g.next);continue}if(S!==c){if(h!==void 0&&h.has(S)){if(p.length<v.length){var A=v[0],V;g=A.prev;var H=p[0],J=p[p.length-1];for(V=0;V<p.length;V+=1)xf(p[V],A,t);for(V=0;V<v.length;V+=1)h.delete(v[V]);Wl(o,H.prev,J.next),Wl(o,g,H),Wl(o,J,A),c=A,g=J,D-=1,p=[],v=[]}else h.delete(S),xf(S,c,t),Wl(o,S.prev,S.next),Wl(o,S,g===null?o.effect.first:g.next),Wl(o,g,S),g=S;continue}for(p=[],v=[];c!==null&&c!==S;)(h??(h=new Set)).add(c),v.push(c),c=hf(c.next);if(c===null)continue}(S.f&Na)===0&&p.push(S),g=S,c=hf(S.next)}if(o.outrogroups!==null){for(const Gt of o.outrogroups)Gt.pending.size===0&&(HS(o,Dy(Gt.done)),(at=o.outrogroups)==null||at.delete(Gt));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&yo)===0&&X.push(S);for(;c!==null;)(c.f&yo)===0&&c!==o.fallback&&X.push(c),c=hf(c.next);var fe=X.length;if(fe>0){var Ie=(i&UP)!==0&&r===0?t:null;if(s){for(D=0;D<fe;D+=1)(Ut=(hi=X[D].nodes)==null?void 0:hi.a)==null||Ut.measure();for(D=0;D<fe;D+=1)(Fe=(ti=X[D].nodes)==null?void 0:ti.a)==null||Fe.fix()}bW(o,X,Ie)}}s&&cc(()=>{var Gt,Je;if(f!==void 0)for(S of f)(Je=(Gt=S.nodes)==null?void 0:Gt.a)==null||Je.apply()})}function wW(o,e,t,i,n,s,r,a){var c=(r&pH)!==0?(r&vH)===0?YH(t,!1,!1):ph(t):null,h=(r&mH)!==0?ph(n):null;return{v:c,i:h,e:mr(()=>(s(e,c??t,h??n,a),()=>{o.delete(i)}))}}function xf(o,e,t){if(o.nodes)for(var i=o.nodes.start,n=o.nodes.end,s=e&&(e.f&Na)===0?e.nodes.start:t;i!==null;){var r=pm(i);if(s.before(i),i===n)return;i=r}}function Wl(o,e,t){e===null?o.effect.first=t:e.next=t,t===null?o.effect.last=e:t.prev=e}function ic(o,e,t=!1,i=!1,n=!1,s=!1){var r=o,a="";if(t)var c=o;G(()=>{var h=pn;if(a!==(a=e()??"")){if(t){h.nodes=null,c.innerHTML=a,a!==""&&mh(Ra(c),c.lastChild);return}if(h.nodes!==null&&(_T(h.nodes.start,h.nodes.end),h.nodes=null),a!==""){var g=i?LH:n?kH:void 0,f=fT(i?"svg":n?"math":"template",g);f.innerHTML=a;var p=i||n?f:f.content;if(mh(Ra(p),p.lastChild),i||n)for(;Ra(p);)r.before(Ra(p));else r.before(p)}}})}const Ok=[...`
3
- \r\f \v\uFEFF`];function SW(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||Ok.includes(i[r-1]))&&(a===i.length||Ok.includes(i[a]))?i=(r===0?"":i.substring(0,r))+i.substring(a+1):r=a}}return i===""?null:i}function Fk(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 Cw(o){return o[0]!=="-"||o[1]!=="-"?o.toLowerCase():o}function CW(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(Cw)),n&&c.push(...Object.keys(n).map(Cw));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=Cw(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+=Fk(i)),n&&(t+=Fk(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[DS];if(r!==t||r===void 0){var a=SW(t,i,s);a==null?o.removeAttribute("class"):e?o.className=a:o.setAttribute("class",a),o[DS]=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 xw(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 No(o,e,t,i){var n=o[ES];if(n!==e){var s=CW(e,i);s==null?o.removeAttribute("style"):o.style.cssText=s,o[ES]=e}else i&&(Array.isArray(i)?(xw(o,t==null?void 0:t[0],i[0]),xw(o,t==null?void 0:t[1],i[1],"important")):xw(o,t,i));return i}function TT(o,e,t=!1){if(o.multiple){if(e==null)return;if(!u1(e))return DH();for(var i of o.options)i.selected=e.includes(jf(i));return}for(i of o.options){var n=jf(i);if(JH(n,e)){i.selected=!0;return}}(!t||e!==void 0)&&(o.selectedIndex=-1)}function xW(o){var e=new MutationObserver(()=>{TT(o,o.__value)});e.observe(o,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["value"]}),y1(()=>{e.disconnect()})}function Zr(o,e,t=e){var i=new WeakSet,n=!0;v1(o,"change",s=>{var r=s?"[selected]":":checked",a;if(o.multiple)a=[].map.call(o.querySelectorAll(r),jf);else{var c=o.querySelector(r)??o.querySelector("option:not([disabled])");a=c&&jf(c)}t(a),o.__value=a,fi!==null&&i.add(fi)}),w1(()=>{var s=e();if(o===document.activeElement){var r=fi;if(i.has(r))return}if(TT(o,s,n),n&&s===void 0){var a=o.querySelector(":checked");a!==null&&(s=jf(a),t(s))}o.__value=s,n=!1}),xW(o)}function jf(o){return"__value"in o?o.__value:o.value}const LW=Symbol("is custom element"),kW=Symbol("is html");function Km(o,e){var t=MT(o);t.checked!==(t.checked=e??void 0)&&(o.checked=e)}function gn(o,e,t,i){var n=MT(o);n[e]!==(n[e]=t)&&(e==="loading"&&(o[nH]=t),t==null?o.removeAttribute(e):typeof t!="string"&&IW(o).includes(e)?o[e]=t:o.setAttribute(e,t))}function MT(o){return o[L_]??(o[L_]={[LW]:o.nodeName.includes("-"),[kW]:o.namespaceURI===$P})}var Hk=new Map;function IW(o){var e=o.getAttribute("is")||o.nodeName,t=Hk.get(e);if(t)return t;Hk.set(e,t=[]);for(var i,n=o,s=Element.prototype;s!==n;){i=ZF(n);for(var r in i)i[r].set&&r!=="innerHTML"&&r!=="textContent"&&r!=="innerText"&&t.push(r);n=BP(n)}return t}function Mi(o,e,t=e){var i=new WeakSet;v1(o,"input",async n=>{var s=n?o.defaultValue:o.value;if(s=Lw(o)?kw(s):s,t(s),fi!==null&&i.add(fi),await T_(),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))}}}),Nl(e)==null&&o.value&&(t(Lw(o)?kw(o.value):o.value),fi!==null&&i.add(fi)),Ny(()=>{var n=e();if(o===document.activeElement){var s=fi;if(i.has(s))return}Lw(o)&&n===kw(o.value)||o.type==="date"&&!n&&!o.value||n!==o.value&&(o.value=n??"")})}function Vs(o,e,t=e){v1(o,"change",i=>{var n=i?o.defaultChecked:o.checked;t(n)}),Nl(e)==null&&t(o.checked),Ny(()=>{var i=e();o.checked=!!i})}function Lw(o){var e=o.type;return e==="number"||e==="range"}function kw(o){return o===""?null:+o}var Jl,qu,Yp,vb,NT;const bb=class bb{constructor(e){Hi(this,vb);Hi(this,Jl,new WeakMap);Hi(this,qu);Hi(this,Yp);Wi(this,Yp,e)}observe(e,t){var i=te(this,Jl).get(e)||new Set;return i.add(t),te(this,Jl).set(e,i),Mn(this,vb,NT).call(this).observe(e,te(this,Yp)),()=>{var n=te(this,Jl).get(e);n.delete(t),n.size===0&&(te(this,Jl).delete(e),te(this,qu).unobserve(e))}}};Jl=new WeakMap,qu=new WeakMap,Yp=new WeakMap,vb=new WeakSet,NT=function(){return te(this,qu)??Wi(this,qu,new ResizeObserver(e=>{for(var t of e){bb.entries.set(t.target,t);for(var i of te(this,Jl).get(t.target)||[])i(t)}}))},Zi(bb,"entries",new WeakMap);let WS=bb;var DW=new WS({box:"border-box"});function EW(o,e,t){var i=DW.observe(o,()=>t(o[e]));w1(()=>(Nl(()=>t(o[e])),i))}function Iw(o,e){return o===e||(o==null?void 0:o[_d])===e}function Is(o={},e,t,i){var n=Js.r,s=pn;return w1(()=>{var r,a;return Ny(()=>{r=a,a=[],Nl(()=>{Iw(t(...a),o)||(e(o,...a),r&&Iw(t(...r),o)&&e(null,...r))})}),()=>{let c=s;for(;c!==n&&c.parent!==null&&c.parent.f&IS;)c=c.parent;const h=()=>{a&&Iw(t(...a),o)&&e(null,...a)},g=c.teardown;c.teardown=()=>{h(),g==null||g()}}}),o}function vg(o,e,t,i){var V;var n=!0,s=(t&wH)!==0,r=(t&SH)!==0,a=i,c=!0,h=void 0,g=()=>r&&n?(h??(h=pp(i)),u(h)):(c&&(c=!1,a=r?Nl(i):i),a);let f;if(s){var p=_d in o||iH in o;f=((V=Ru(o,e))==null?void 0:V.set)??(p&&e in o?H=>o[e]=H:void 0)}var v,_=!1;s?[v,_]=RH(()=>o[e]):v=o[e],v===void 0&&i!==void 0&&(v=g(),f&&(dH(),f(v)));var w;if(w=()=>{var H=o[e];return H===void 0?g():(c=!0,H)},(t&yH)===0)return w;if(f){var S=o.$$legacy;return(function(H,J){return arguments.length>0?((!J||S||_)&&f(J?w():H),H):w()})}var D=!1,P=((t&bH)!==0?pp:m1)(()=>(D=!1,w()));s&&u(P);var A=pn;return(function(H,J){if(arguments.length>0){const X=J?u(P):s?li(H):H;return C(P,X),D=!0,a!==void 0&&(a=X),H}return Cl&&D||(A.f&xr)!==0?P.v:u(P)})}function Tr(o){Js===null&&jP(),Wn(()=>{const e=Nl(o);if(typeof e=="function")return e})}function Ry(o){Js===null&&jP(),Tr(()=>()=>Nl(o))}const PW="5";var cE;typeof window<"u"&&((cE=window.__svelte??(window.__svelte={})).v??(cE.v=new Set)).add(PW);/*!-----------------------------------------------------------------------------
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 TW=Object.defineProperty,MW=Object.getOwnPropertyDescriptor,NW=Object.getOwnPropertyNames,RW=Object.prototype.hasOwnProperty,AW=(o,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of NW(e))!RW.call(o,n)&&n!==t&&TW(o,n,{get:()=>e[n],enumerable:!(i=MW(e,n))||i.enumerable});return o},OW=(o,e,t)=>(AW(o,e,"default"),t),_m={};OW(_m,hE);var FW=class{constructor(e,t,i){this._onDidChange=new _m.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)}},HW={validate:!0,allowComments:!0,schemas:[],enableSchemaRequest:!1,schemaRequest:"warning",schemaValidation:"warning",comments:"error",trailingCommas:"error"},WW={documentFormattingEdits:!0,documentRangeFormattingEdits:!0,completionItems:!0,hovers:!0,documentSymbols:!0,tokens:!0,colors:!0,foldingRanges:!0,diagnostics:!0,selectionRanges:!0},RT=new FW("json",HW,WW),BW=()=>AT().then(o=>o.getWorker());_m.languages.json={jsonDefaults:RT,getWorker:BW};function AT(){return dE(()=>import("./jsonMode-CXWNuhmR.js"),__vite__mapDeps([0,1,2]))}_m.languages.register({id:"json",extensions:[".json",".bowerrc",".jshintrc",".jscsrc",".eslintrc",".babelrc",".har"],aliases:["JSON","json"],mimetypes:["application/json"]});_m.languages.onLanguage("json",()=>{AT().then(o=>o.setupMode(RT))});/*!-----------------------------------------------------------------------------
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 zW=Object.defineProperty,VW=Object.getOwnPropertyDescriptor,jW=Object.getOwnPropertyNames,UW=Object.prototype.hasOwnProperty,$W=(o,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of jW(e))!UW.call(o,n)&&n!==t&&zW(o,n,{get:()=>e[n],enumerable:!(i=VW(e,n))||i.enumerable});return o},qW=(o,e,t)=>($W(o,e,"default"),t),KW="5.4.5",bg={};qW(bg,hE);var OT=(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))(OT||{}),FT=(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))(FT||{}),HT=(o=>(o[o.CarriageReturnLineFeed=0]="CarriageReturnLineFeed",o[o.LineFeed=1]="LineFeed",o))(HT||{}),WT=(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))(WT||{}),BT=(o=>(o[o.Classic=1]="Classic",o[o.NodeJs=2]="NodeJs",o))(BT||{}),zT=class{constructor(o,e,t,i,n){this._onDidChange=new bg.Emitter,this._onDidExtraLibsChange=new bg.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)}},GW=KW,VT={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},jT=new zT({allowNonTsExtensions:!0,target:99},{noSemanticValidation:!1,noSyntaxValidation:!1,onlyVisible:!1},{},{},VT),UT=new zT({allowNonTsExtensions:!0,allowJs:!0,target:99},{noSemanticValidation:!0,noSyntaxValidation:!1,onlyVisible:!1},{},{},VT),ZW=()=>Ay().then(o=>o.getTypeScriptWorker()),XW=()=>Ay().then(o=>o.getJavaScriptWorker());bg.languages.typescript={ModuleKind:OT,JsxEmit:FT,NewLineKind:HT,ScriptTarget:WT,ModuleResolutionKind:BT,typescriptVersion:GW,typescriptDefaults:jT,javascriptDefaults:UT,getTypeScriptWorker:ZW,getJavaScriptWorker:XW};function Ay(){return dE(()=>import("./tsMode-D1vQpxKE.js"),__vite__mapDeps([3,1,2]))}bg.languages.onLanguage("typescript",()=>Ay().then(o=>o.setupTypeScript(jT)));bg.languages.onLanguage("javascript",()=>Ay().then(o=>o.setupJavaScript(UT)));class YW extends uo{constructor(){super({id:"diffEditor.toggleCollapseUnchangedRegions",title:xt("toggleCollapseUnchangedRegions","Toggle Collapse Unchanged Regions"),icon:Jt.map,toggled:ce.has("config.diffEditor.hideUnchangedRegions.enabled"),precondition:ce.has("isInDiffEditor"),menu:{when:ce.has("isInDiffEditor"),id:ht.EditorTitle,order:22,group:"navigation"}})}run(e,...t){const i=e.get(On),n=!i.getValue("diffEditor.hideUnchangedRegions.enabled");i.updateValue("diffEditor.hideUnchangedRegions.enabled",n)}}class $T extends uo{constructor(){super({id:"diffEditor.toggleShowMovedCodeBlocks",title:xt("toggleShowMovedCodeBlocks","Toggle Show Moved Code Blocks"),precondition:ce.has("isInDiffEditor")})}run(e,...t){const i=e.get(On),n=!i.getValue("diffEditor.experimental.showMoves");i.updateValue("diffEditor.experimental.showMoves",n)}}class qT extends uo{constructor(){super({id:"diffEditor.toggleUseInlineViewWhenSpaceIsLimited",title:xt("toggleUseInlineViewWhenSpaceIsLimited","Toggle Use Inline View When Space Is Limited"),precondition:ce.has("isInDiffEditor")})}run(e,...t){const i=e.get(On),n=!i.getValue("diffEditor.useInlineViewWhenSpaceIsLimited");i.updateValue("diffEditor.useInlineViewWhenSpaceIsLimited",n)}}const vm=xt("diffEditor","Diff Editor");class QW extends ra{constructor(){super({id:"diffEditor.switchSide",title:xt("switchSide","Switch Side"),icon:Jt.arrowSwap,precondition:ce.has("isInDiffEditor"),f1:!0,category:vm})}runEditorCommand(e,t,i){const n=Vg(e);if(n instanceof Qp){if(i&&i.dryRun)return{destinationSelection:n.mapToOtherSide().destinationSelection};n.switchSide()}}}class JW extends ra{constructor(){super({id:"diffEditor.exitCompareMove",title:xt("exitCompareMove","Exit Compare Move"),icon:Jt.close,precondition:R.comparingMovedCode,f1:!1,category:vm,keybinding:{weight:1e4,primary:9}})}runEditorCommand(e,t,...i){const n=Vg(e);n instanceof Qp&&n.exitCompareMove()}}class e3 extends ra{constructor(){super({id:"diffEditor.collapseAllUnchangedRegions",title:xt("collapseAllUnchangedRegions","Collapse All Unchanged Regions"),icon:Jt.fold,precondition:ce.has("isInDiffEditor"),f1:!0,category:vm})}runEditorCommand(e,t,...i){const n=Vg(e);n instanceof Qp&&n.collapseAllUnchangedRegions()}}class t3 extends ra{constructor(){super({id:"diffEditor.showAllUnchangedRegions",title:xt("showAllUnchangedRegions","Show All Unchanged Regions"),icon:Jt.unfold,precondition:ce.has("isInDiffEditor"),f1:!0,category:vm})}runEditorCommand(e,t,...i){const n=Vg(e);n instanceof Qp&&n.showAllUnchangedRegions()}}class BS extends uo{constructor(){super({id:"diffEditor.revert",title:xt("revert","Revert"),f1:!1,category:vm})}run(e,t){const i=i3(e,t.originalUri,t.modifiedUri);i instanceof Qp&&i.revertRangeMappings(t.mapping.innerChanges??[])}}const KT=xt("accessibleDiffViewer","Accessible Diff Viewer"),yb=class yb extends uo{constructor(){super({id:yb.id,title:xt("editor.action.accessibleDiffViewer.next","Go to Next Difference"),category:KT,precondition:ce.has("isInDiffEditor"),keybinding:{primary:65,weight:100},f1:!0})}run(e){const t=Vg(e);t==null||t.accessibleDiffViewerNext()}};yb.id="editor.action.accessibleDiffViewer.next";let _p=yb;const wb=class wb extends uo{constructor(){super({id:wb.id,title:xt("editor.action.accessibleDiffViewer.prev","Go to Previous Difference"),category:KT,precondition:ce.has("isInDiffEditor"),keybinding:{primary:1089,weight:100},f1:!0})}run(e){const t=Vg(e);t==null||t.accessibleDiffViewerPrev()}};wb.id="editor.action.accessibleDiffViewer.prev";let cv=wb;function i3(o,e,t){return o.get(os).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 Vg(o){const t=o.get(os).listDiffEditors(),i=uE();if(i)for(const n of t){const s=n.getContainerDomNode();if(n3(s,i))return n}return null}function n3(o,e){let t=e;for(;t;){if(t===o)return!0;t=t.parentElement}return!1}mn(YW);mn($T);mn(qT);Lr.appendMenuItem(ht.EditorTitle,{command:{id:new qT().desc.id,title:y("useInlineViewWhenSpaceIsLimited","Use Inline View When Space Is Limited"),toggled:ce.has("config.diffEditor.useInlineViewWhenSpaceIsLimited"),precondition:ce.has("isInDiffEditor")},order:11,group:"1_diff",when:ce.and(R.diffEditorRenderSideBySideInlineBreakpointReached,ce.has("isInDiffEditor"))});Lr.appendMenuItem(ht.EditorTitle,{command:{id:new $T().desc.id,title:y("showMoves","Show Moved Code Blocks"),icon:Jt.move,toggled:fA.create("config.diffEditor.experimental.showMoves",!0),precondition:ce.has("isInDiffEditor")},order:10,group:"1_diff",when:ce.has("isInDiffEditor")});mn(BS);for(const o of[{icon:Jt.arrowRight,key:R.diffEditorInlineMode.toNegated()},{icon:Jt.discard,key:R.diffEditorInlineMode}])Lr.appendMenuItem(ht.DiffEditorHunkToolbar,{command:{id:new BS().desc.id,title:y("revertHunk","Revert Block"),icon:o.icon},when:ce.and(R.diffEditorModifiedWritable,o.key),order:5,group:"primary"}),Lr.appendMenuItem(ht.DiffEditorSelectionToolbar,{command:{id:new BS().desc.id,title:y("revertSelection","Revert Selection"),icon:o.icon},when:ce.and(R.diffEditorModifiedWritable,o.key),order:5,group:"primary"});mn(QW);mn(JW);mn(e3);mn(t3);Lr.appendMenuItem(ht.EditorTitle,{command:{id:_p.id,title:y("Open Accessible Diff Viewer","Open Accessible Diff Viewer"),precondition:ce.has("isInDiffEditor")},order:10,group:"2_diff",when:ce.and(R.accessibleDiffViewerVisible.negate(),ce.has("isInDiffEditor"))});Pn.registerCommandAlias("editor.action.diffReview.next",_p.id);mn(_p);Pn.registerCommandAlias("editor.action.diffReview.prev",cv.id);mn(cv);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},o3=function(o,e){return function(t,i){e(t,i,o)}},zS;const Oy=new Bi("selectionAnchorSet",!1);var Ld;let Tc=(Ld=class{static get(e){return e.getContribution(zS.ID)}constructor(e,t){this.editor=e,this.selectionAnchorSetContextKey=Oy.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(Kt.fromPositions(e,e),{description:"selection-anchor",stickiness:1,hoverMessage:new Gs().appendText(y("selectionAnchor","Selection Anchor")),className:"selection-anchor"})}),this.selectionAnchorSetContextKey.set(!!this.decorationId),kr(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(Kt.fromPositions(e.getStartPosition(),t)),this.cancelSelectionAnchor()}}}cancelSelectionAnchor(){if(this.decorationId){const e=this.decorationId;this.editor.changeDecorations(t=>{t.removeDecoration(e),this.decorationId=void 0}),this.selectionAnchorSetContextKey.set(!1)}}dispose(){this.cancelSelectionAnchor(),this.modelChangeListener.dispose()}},zS=Ld,Ld.ID="editor.contrib.selectionAnchorController",Ld);Tc=zS=s3([o3(1,Yi)],Tc);class r3 extends we{constructor(){super({id:"editor.action.setSelectionAnchor",label:y("setSelectionAnchor","Set Selection Anchor"),alias:"Set Selection Anchor",precondition:void 0,kbOpts:{kbExpr:R.editorTextFocus,primary:ds(2089,2080),weight:100}})}async run(e,t){var i;(i=Tc.get(t))==null||i.setSelectionAnchor()}}class a3 extends we{constructor(){super({id:"editor.action.goToSelectionAnchor",label:y("goToSelectionAnchor","Go to Selection Anchor"),alias:"Go to Selection Anchor",precondition:Oy})}async run(e,t){var i;(i=Tc.get(t))==null||i.goToSelectionAnchor()}}class l3 extends we{constructor(){super({id:"editor.action.selectFromAnchorToCursor",label:y("selectFromAnchorToCursor","Select from Anchor to Cursor"),alias:"Select from Anchor to Cursor",precondition:Oy,kbOpts:{kbExpr:R.editorTextFocus,primary:ds(2089,2089),weight:100}})}async run(e,t){var i;(i=Tc.get(t))==null||i.selectFromAnchorToCursor()}}class c3 extends we{constructor(){super({id:"editor.action.cancelSelectionAnchor",label:y("cancelSelectionAnchor","Cancel Selection Anchor"),alias:"Cancel Selection Anchor",precondition:Oy,kbOpts:{kbExpr:R.editorTextFocus,primary:9,weight:100}})}async run(e,t){var i;(i=Tc.get(t))==null||i.cancelSelectionAnchor()}}wi(Tc.ID,Tc,4);se(r3);se(a3);se(l3);se(c3);const d3=yt("editorOverviewRuler.bracketMatchForeground","#A0A0A0",y("overviewRulerBracketMatchForeground","Overview ruler marker color for matching brackets."));class h3 extends we{constructor(){super({id:"editor.action.jumpToBracket",label:y("smartSelect.jumpBracket","Go to Bracket"),alias:"Go to Bracket",precondition:void 0,kbOpts:{kbExpr:R.editorTextFocus,primary:3165,weight:100}})}run(e,t){var i;(i=_h.get(t))==null||i.jumpToBracket()}}class u3 extends we{constructor(){super({id:"editor.action.selectToBracket",label:y("smartSelect.selectToBracket","Select to Bracket"),alias:"Select to Bracket",precondition:void 0,metadata:{description:xt("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=_h.get(t))==null||s.selectToBracket(n)}}class g3 extends we{constructor(){super({id:"editor.action.removeBrackets",label:y("smartSelect.removeBrackets","Remove Brackets"),alias:"Remove Brackets",precondition:void 0,kbOpts:{kbExpr:R.editorTextFocus,primary:2561,weight:100}})}run(e,t){var i;(i=_h.get(t))==null||i.removeBrackets(this.id)}}class f3{constructor(e,t,i){this.position=e,this.brackets=t,this.options=i}}const ql=class ql extends $e{static get(e){return e.getContribution(ql.ID)}constructor(e){super(),this._editor=e,this._lastBracketsData=[],this._lastVersionId=0,this._decorations=this._editor.createDecorationsCollection(),this._updateBracketsSoon=this._register(new _s(()=>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 Kt(r.lineNumber,r.column,r.lineNumber,r.column):new Kt(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 Kt(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(Pt.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=ql._DECORATION_OPTIONS_WITH_OVERVIEW_RULER;!_&&this._matchBrackets==="always"&&(_=t.bracketPairs.findEnclosingBrackets(v,20),w=ql._DECORATION_OPTIONS_WITHOUT_OVERVIEW_RULER),a[c++]=new f3(v,_,w)}}this._lastBracketsData=a,this._lastVersionId=i}};ql.ID="editor.contrib.bracketMatchingController",ql._DECORATION_OPTIONS_WITH_OVERVIEW_RULER=Ai.register({description:"bracket-match-overview",stickiness:1,className:"bracket-match",overviewRuler:{color:fs(d3),position:Oa.Center}}),ql._DECORATION_OPTIONS_WITHOUT_OVERVIEW_RULER=Ai.register({description:"bracket-match-no-overview",stickiness:1,className:"bracket-match"});let _h=ql;wi(_h.ID,_h,1);se(u3);se(h3);se(g3);Lr.appendMenuItem(ht.MenubarGoMenu,{group:"5_infile_nav",command:{id:"editor.action.jumpToBracket",title:y({key:"miGoToBracket",comment:["&& denotes a mnemonic"]},"Go to &&Bracket")},order:2});class p3{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 Kt(this._selection.startLineNumber,this._selection.startColumn-1,this._selection.endLineNumber,this._selection.endColumn-1):new Kt(this._selection.startLineNumber,this._selection.startColumn+1,this._selection.endLineNumber,this._selection.endColumn+1)}}class GT extends we{constructor(e,t){super(t),this.left=e}run(e,t){if(!t.hasModel())return;const i=[],n=t.getSelections();for(const s of n)i.push(new p3(s,this.left));t.pushUndoStop(),t.executeCommands(this.id,i),t.pushUndoStop()}}class m3 extends GT{constructor(){super(!0,{id:"editor.action.moveCarretLeftAction",label:y("caret.moveLeft","Move Selected Text Left"),alias:"Move Selected Text Left",precondition:R.writable})}}class _3 extends GT{constructor(){super(!1,{id:"editor.action.moveCarretRightAction",label:y("caret.moveRight","Move Selected Text Right"),alias:"Move Selected Text Right",precondition:R.writable})}}se(m3);se(_3);class v3 extends we{constructor(){super({id:"editor.action.transposeLetters",label:y("transposeLetters.label","Transpose Letters"),alias:"Transpose Letters",precondition:R.writable,kbOpts:{kbExpr:R.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():gw.rightPosition(i,r.getPosition().lineNumber,r.getPosition().column),f=gw.leftPosition(i,g),p=gw.leftPosition(i,f),v=i.getValueInRange(z.fromPositions(p,f)),_=i.getValueInRange(z.fromPositions(f,g)),w=z.fromPositions(p,g);n.push(new Jp(w,_+v))}n.length>0&&(t.pushUndoStop(),t.executeCommands(this.id,n),t.pushUndoStop())}}se(v3);const Fy=(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 L1(o){return{asString:async()=>o,asFile:()=>{},value:typeof o=="string"?o:void 0}}function b3(o,e,t){const i={id:Fy(),name:o,uri:e,data:t};return{asString:async()=>"",asFile:()=>i,value:void 0}}class ZT{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 ul.some(this,([i,n])=>n.asFile())&&t.push("files"),YT(dv(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 dv(e)}}function dv(o){return o.toLowerCase()}function XT(o,e){return YT(dv(o),e.map(dv))}function YT(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 Hy=Object.freeze({create:o=>gE(o.map(e=>e.toString())).join(`\r
14
- `),split:o=>o.split(`\r
15
- `),parse:o=>Hy.split(o).filter(e=>!e.startsWith("#"))}),wa=class wa{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+wa.sep)}intersects(e){return this.contains(e)||e.contains(this)}append(...e){return new wa((this.value?[this.value,...e]:e).join(wa.sep))}};wa.sep=".",wa.None=new wa("@@none@@"),wa.Empty=new wa("");let An=wa;const Wk={EDITORS:"CodeEditors",FILES:"CodeFiles"};class y3{}const w3={DragAndDropContribution:"workbench.contributions.dragAndDrop"};aa.add(w3.DragAndDropContribution,new y3);const ep=class ep{constructor(){}static getInstance(){return ep.INSTANCE}hasData(e){return e&&e===this.proto}getData(e){if(this.hasData(e))return this.data}};ep.INSTANCE=new ep;let VS=ep;function QT(o){const e=new ZT;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,L1(n))}else if(t.kind==="file"){const n=t.getAsFile();n&&e.append(i,S3(n))}}return e}function S3(o){const e=o.path?bn.parse(o.path):void 0;return b3(o.name,e,async()=>new Uint8Array(await o.arrayBuffer()))}const C3=Object.freeze([Wk.EDITORS,Wk.FILES,hS.RESOURCES,hS.INTERNAL_URI_LIST]);function JT(o,e=!1){const t=QT(o),i=t.get(hS.INTERNAL_URI_LIST);if(i)t.replace(Ts.uriList,i);else if(e||!t.has(Ts.uriList)){const n=[];for(const s of o.items){const r=s.getAsFile();if(r){const a=r.path;try{a?n.push(bn.file(a).toString()):n.push(bn.parse(r.name,!0).toString())}catch{}}}n.length&&t.replace(Ts.uriList,L1(Hy.create(n)))}for(const n of C3)t.delete(n);return t}var k1=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},vp=function(o,e){return function(t,i){e(t,i,o)}};class I1{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 tp=class tp extends I1{constructor(){super(...arguments),this.kind=tp.kind,this.dropMimeTypes=[Ts.text],this.pasteMimeTypes=[Ts.text]}async getEdit(e,t){const i=e.get(Ts.text);if(!i||e.has(Ts.uriList))return;const n=await i.asString();return{handledMimeType:Ts.text,title:y("text.label","Insert Plain Text"),insertText:n,kind:this.kind}}};tp.id="text",tp.kind=new An("text.plain");let vh=tp;class eM extends I1{constructor(){super(...arguments),this.kind=new An("uri.absolute"),this.dropMimeTypes=[Ts.uriList],this.pasteMimeTypes=[Ts.uriList]}async getEdit(e,t){const i=await tM(e);if(!i.length||t.isCancellationRequested)return;let n=0;const s=i.map(({uri:a,originalText:c})=>a.scheme===ro.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:Ts.uriList,insertText:s,title:r,kind:this.kind}}}let hv=class extends I1{constructor(e){super(),this._workspaceContextService=e,this.kind=new An("uri.relative"),this.dropMimeTypes=[Ts.uriList],this.pasteMimeTypes=[Ts.uriList]}async getEdit(e,t){const i=await tM(e);if(!i.length||t.isCancellationRequested)return;const n=vl(i.map(({uri:s})=>{const r=this._workspaceContextService.getWorkspaceFolder(s);return r?pA(r.uri,s):void 0}));if(n.length)return{handledMimeType:Ts.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}}};hv=k1([vp(0,ng)],hv);class x3{constructor(){this.kind=new An("html"),this.pasteMimeTypes=["text/html"],this._yieldTo=[{mimeType:Ts.text}]}async provideDocumentPasteEdits(e,t,i,n,s){var c;if(n.triggerKind!==uS.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 tM(o){const e=o.get(Ts.uriList);if(!e)return[];const t=await e.asString(),i=[];for(const n of Hy.parse(t))try{i.push({uri:bn.parse(n),originalText:n})}catch{}return i}let jS=class extends $e{constructor(e,t){super(),this._register(e.documentDropEditProvider.register("*",new vh)),this._register(e.documentDropEditProvider.register("*",new eM)),this._register(e.documentDropEditProvider.register("*",new hv(t)))}};jS=k1([vp(0,Tt),vp(1,ng)],jS);let US=class extends $e{constructor(e,t){super(),this._register(e.documentPasteEditProvider.register("*",new vh)),this._register(e.documentPasteEditProvider.register("*",new eM)),this._register(e.documentPasteEditProvider.register("*",new hv(t))),this._register(e.documentPasteEditProvider.register("*",new x3))}};US=k1([vp(0,Tt),vp(1,ng)],US);const lr=class lr{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=lr._table[i],typeof n=="number")return this.pos+=1,{type:n,pos:e,len:1};if(lr.isDigitCharacter(i)){n=8;do t+=1,i=this.value.charCodeAt(e+t);while(lr.isDigitCharacter(i));return this.pos+=t,{type:n,pos:e,len:t}}if(lr.isVariableCharacter(i)){n=9;do i=this.value.charCodeAt(e+ ++t);while(lr.isVariableCharacter(i)||lr.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 lr._table[i]>"u"&&!lr.isDigitCharacter(i)&&!lr.isVariableCharacter(i));return this.pos+=t,{type:n,pos:e,len:t}}};lr._table={36:0,58:1,44:2,123:3,125:4,92:5,47:6,124:7,43:11,45:12,63:13};let $S=lr;class jg{constructor(){this._children=[]}appendChild(e){return e instanceof bo&&this._children[this._children.length-1]instanceof bo?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 bm)return e;e=e.parent}}toString(){return this.children.reduce((e,t)=>e+t.toString(),"")}len(){return 0}}let bo=class iM extends jg{constructor(e){super(),this.value=e}toString(){return this.value}len(){return this.value.length}clone(){return new iM(this.value)}};class nM extends jg{}class tr extends nM{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 Ug?this._children[0]:void 0}clone(){const e=new tr(this.index);return this.transform&&(e.transform=this.transform.clone()),e._children=this.children.map(t=>t.clone()),e}}class Ug extends jg{constructor(){super(...arguments),this.options=[]}appendChild(e){return e instanceof bo&&(e.parent=this,this.options.push(e)),this}toString(){return this.options[0].value}len(){return this.options[0].len()}clone(){const e=new Ug;return this.options.forEach(e.appendChild,e),e}}class D1 extends jg{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 Kr&&!!s.elseValue)&&(n=this._replace([])),n}_replace(e){let t="";for(const i of this._children)if(i instanceof Kr){let n=e[i.index]||"";n=i.resolve(n),t+=n}else t+=i.toString();return t}toString(){return""}clone(){const e=new D1;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 Kr extends jg{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 Kr(this.index,this.shorthandName,this.ifValue,this.elseValue)}}class bp extends nM{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 bo(t)],!0):!1}clone(){const e=new bp(this.name);return this.transform&&(e.transform=this.transform.clone()),e._children=this.children.map(t=>t.clone()),e}}function Bk(o,e){const t=[...o];for(;t.length>0;){const i=t.shift();if(!e(i))break;t.unshift(...i.children)}}class bm extends jg{get placeholderInfo(){if(!this._placeholders){const e=[];let t;this.walk(function(i){return i instanceof tr&&(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 Bk([e],i=>(t+=i.len(),!0)),t}enclosingPlaceholders(e){const t=[];let{parent:i}=e;for(;i;)i instanceof tr&&t.push(i),i=i.parent;return t}resolveVariables(e){return this.walk(t=>(t instanceof bp&&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 bm;return this._children=this.children.map(t=>t.clone()),e}walk(e){Bk(this.children,e)}}class bh{constructor(){this._scanner=new $S,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 bm;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 tr&&(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 tr(c.index);f.transform=c.transform;for(const p of g){const v=p.clone();f.appendChild(v),v instanceof tr&&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 tr(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 bo(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 tr(Number(t)):new bp(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 tr(Number(t));if(this._accept(1))for(;;){if(this._accept(4))return e.appendChild(s),!0;if(!this._parse(s))return e.appendChild(new bo("${"+t+":")),s.children.forEach(e.appendChild,e),!0}else if(s.index>0&&this._accept(7)){const r=new Ug;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 bo(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 bp(t);if(this._accept(1))for(;;){if(this._accept(4))return e.appendChild(s),!0;if(!this._parse(s))return e.appendChild(new bo("${"+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 D1;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 bo(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 Kr(Number(n))),!0;if(!this._accept(1))return this._backTo(t),!1}else return e.appendChild(new Kr(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 Kr(Number(n),s)),!0)}else if(this._accept(11)){const s=this._until(4);if(s)return e.appendChild(new Kr(Number(n),void 0,s,void 0)),!0}else if(this._accept(12)){const s=this._until(4);if(s)return e.appendChild(new Kr(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 Kr(Number(n),void 0,s,r)),!0}}else{const s=this._until(4);if(s)return e.appendChild(new Kr(Number(n),void 0,void 0,s)),!0}return this._backTo(t),!1}_parseAnything(e){return this._token.type!==14?(e.appendChild(new bo(this._scanner.tokenText(this._token))),this._accept(void 0),!0):!1}}function sM(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 mA(o,{range:s,text:typeof t.insertText=="string"?bh.escape(t.insertText)+"$0":t.insertText.snippet,insertAsSnippet:!0})),...((n=t.additionalEdit)==null?void 0:n.edits)??[]]}}function oM(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 L3=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},k3=function(o,e){return function(t,i){e(t,i,o)}};const I3=Ai.register({description:"inline-progress-widget",stickiness:1,showIfCollapsed:!0,after:{content:fE,inlineClassName:"inline-editor-progress-decoration",inlineClassNameAffectsLetterSpacing:!0}}),Sb=class Sb extends $e{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=bt(".inline-progress-widget"),this.domNode.role="button",this.domNode.title=e;const t=bt("span.icon");this.domNode.append(t),t.classList.add(...sn.asClassNameArray(Jt.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(Xi(this.domNode,Un.CLICK,n=>{this.delegate.cancel()}))}getId(){return Sb.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)}};Sb.baseId="editor.widget.inlineProgressWidget";let qS=Sb,uv=class extends $e{constructor(e,t,i){super(),this.id=e,this._editor=t,this._instantiationService=i,this._showDelay=500,this._showPromise=this._register(new Wo),this._currentWidget=this._register(new Wo),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=sp(()=>{const a=z.fromPositions(e);this._currentDecorations.set([{range:a,options:I3}]).length>0&&(this._currentWidget.value=this._instantiationService.createInstance(qS,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()}};uv=L3([k3(2,di)],uv);var D3=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},zk=function(o,e){return function(t,i){e(t,i,o)}},M_,hc;let wo=(hc=class{static get(e){return e.getContribution(M_.ID)}constructor(e,t,i){this._openerService=i,this._messageWidget=new Wo,this._messageListeners=new je,this._mouseOverMessage=!1,this._editor=e,this._visible=M_.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){kr(y_(e)?e.value:e),this._visible.set(!0),this._messageWidget.clear(),this._messageListeners.clear(),this._message=y_(e)?_A(e,{actionHandler:{callback:n=>{this.closeMessage(),vA(this._openerService,n,y_(e)?e.isTrusted:void 0)},disposables:this._messageListeners}}):void 0,this._messageWidget.value=new Vk(this._editor,t,typeof e=="string"?e:this._message.element),this._messageListeners.add(ms.debounce(this._editor.onDidBlurEditorText,(n,s)=>s,0)(()=>{this._mouseOverMessage||this._messageWidget.value&&bA(uE(),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(Xi(this._messageWidget.value.getDomNode(),Un.MOUSE_ENTER,()=>this._mouseOverMessage=!0,!0)),this._messageListeners.add(Xi(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(Vk.fadeOut(this._messageWidget.value))}},M_=hc,hc.ID="editor.contrib.messageController",hc.MESSAGE_VISIBLE=new Bi("messageVisible",!1,y("messageVisible","Whether the editor is currently showing an inline message")),hc);wo=M_=D3([zk(1,Yi),zk(2,la)],wo);const E3=go.bindToContribution(wo.get);Mt(new E3({id:"leaveEditorMessage",precondition:wo.MESSAGE_VISIBLE,handler:o=>o.closeMessage(),kbOpts:{weight:130,primary:9}}));let Vk=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)}};wi(wo.ID,wo,4);function Dw(o,e){return e&&(o.stack||o.stacktrace)?y("stackTrace.format","{0}: {1}",Uk(o),jk(o.stack)||jk(o.stacktrace)):Uk(o)}function jk(o){return Array.isArray(o)?o.join(`
16
- `):o}function Uk(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 gv(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=vl(o),i=gv(t[0],e);return t.length>1?y("error.moreErrors","{0} ({1} errors in total)",i,t.length):i}if(pE(o))return o;if(o.detail){const t=o.detail;if(t.error)return Dw(t.error,e);if(t.exception)return Dw(t.exception,e)}return o.stack?Dw(o,e):o.message?o.message:y("error.defaultMessage","An unknown error occurred. Please consult the log for more details.")}var rM=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Ou=function(o,e){return function(t,i){e(t,i,o)}},KS,kd;let GS=(kd=class extends $e{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(Rn(()=>this.visibleContext.reset())),this.editor.addContentWidget(this),this.editor.layoutContentWidget(this),this._register(Rn((()=>this.editor.removeContentWidget(this)))),this._register(this.editor.onDidChangeCursorPosition(f=>{s.containsPosition(f.position)||this.dispose()})),this._register(ms.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=bt(".post-edit-widget"),this.button=this._register(new yA(this.domNode,{supportIcons:!0})),this.button.label="$(insert)",this._register(Xi(this.domNode,Un.CLICK,()=>this.showSelector()))}getId(){return KS.baseId+"."+this.typeId}getDomNode(){return this.domNode}getPosition(){return{position:this.range.getEndPosition(),preference:[2]}}showSelector(){this._contextMenuService.showContextMenu({getAnchor:()=>{const e=lo(this.button.element);return{x:e.left+e.width,y:e.top+e.height}},getActions:()=>this.edits.allEdits.map((e,t)=>wA({id:"",label:e.title,checked:t===this.edits.activeEditIndex,run:()=>{if(t!==this.edits.activeEditIndex)return this.onSelectNewEdit(t)}}))})}},KS=kd,kd.baseId="editor.widget.postEditWidget",kd);GS=KS=rM([Ou(7,Ag),Ou(8,Yi),Ou(9,hs)],GS);let fv=class extends $e{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 Wo),this._register(ms.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)=>{Oc(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,gv(S)))}if(s.isCancellationRequested)return;const f=sM(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,gv(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(GS,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()}};fv=rM([Ou(4,di),Ou(5,ly),Ou(6,io)],fv);var P3=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(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)}},Yc;const aM="editor.changePasteType",E1=new Bi("pasteWidgetVisible",!1,y("pasteWidgetVisible","Whether the paste widget is showing")),Ew="application/vnd.code.copyMetadata";var Id;let xl=(Id=class extends $e{static get(e){return e.getContribution(Yc.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(Xi(c,"copy",h=>this.handleCopy(h))),this._register(Xi(c,"cut",h=>this.handleCopy(h))),this._register(Xi(c,"paste",h=>this.handlePaste(h),!0)),this._pasteProgressManager=this._register(new uv("pasteIntoEditor",e,t)),this._postPasteWidgetManager=this._register(t.createInstance(fv,"pasteIntoEditor",e,E1,{id:aM,label:y("postPasteWidgetTitle","Show paste options...")}))}changePasteType(){this._postPasteWidgetManager.tryShowSelector()}pasteAs(e){this._editor.focus();try{this._pasteAsActionContext={preferred:e},F0().execCommand("paste")}finally{this._pasteAsActionContext=void 0}}clearWidgets(){this._postPasteWidgetManager.clear()}isPasteAsEnabled(){return this._editor.getOption(85).enabled}async finishedPaste(){await this._currentPasteOperation}handleCopy(e){var 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,cy),h={multicursorText:Array.isArray(a)?a:null,pasteOnNewLine:r,mode:null},g=this._languageFeaturesService.documentPasteEditProvider.ordered(t).filter(A=>!!A.prepareDocumentPaste);if(!g.length){this.setCopyMetadata(e.clipboardData,{defaultPastePayload:h});return}const f=QT(e.clipboardData),p=g.flatMap(A=>A.copyMimeTypes??[]),v=Fy();this.setCopyMetadata(e.clipboardData,{id:v,providerCopyMimeTypes:p,defaultPastePayload:h});const _=Ds(async A=>{const V=vl(await Promise.all(g.map(async H=>{try{return await H.prepareDocumentPaste(t,s,f,A)}catch(J){console.error(J);return}})));V.reverse();for(const H of V)for(const[J,X]of H)f.replace(J,X);return f});(P=Yc._currentCopyOperation)==null||P.dataTransferPromise.cancel(),Yc._currentCopyOperation={handle:v,dataTransferPromise:_}}async handlePaste(e){var c,h,g;if(!e.clipboardData||!this._editor.hasTextFocus())return;(c=wo.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=JT(e.clipboardData);s.delete(Ew);const r=[...e.clipboardData.types,...(n==null?void 0:n.providerCopyMimeTypes)??[],Ts.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=>XT(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=wo.get(this._editor))==null||i.showMessage(y("pasteAsError","No paste edits for '{0}' found",t instanceof An?t.value:t.providerId),e[0].getStartPosition())}doPasteInline(e,t,i,n,s){const r=this._editor;if(!r.hasModel())return;const a=new sg(r,3,void 0),c=Ds(async h=>{const g=this._editor;if(!g.hasModel())return;const f=g.getModel(),p=new je,v=p.add(new Es(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 vh)return this.applyDefaultPasteHandler(i,n,_,s);const S={triggerKind:uS.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 vh)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,(A,V)=>new Promise((H,J)=>{(async()=>{var X,fe;try{const Ie=(fe=(X=A.provider).resolveDocumentPasteEdit)==null?void 0:fe.call(X,A,V),Be=new dy,Se=Ie&&await this._pasteProgressManager.showWhile(t[0].getEndPosition(),y("resolveProcess","Resolving paste edit. Click to cancel"),Promise.race([Be.p,Ie]),{cancel:()=>(Be.cancel(),J(new hy))},0);return Se&&(A.additionalEdit=Se.additionalEdit),H(A)}catch(Ie){return J(Ie)}})()}),_)}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=Ds(async a=>{const c=this._editor;if(!c.hasModel())return;const h=c.getModel(),g=new je,f=g.add(new sg(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:uS.PasteAs,only:e&&e instanceof An?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 An?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 A;return{label:P.title,description:(A=P.kind)==null?void 0:A.value,edit:P}}),{placeHolder:y("pasteAsPickerPlaceholder","Select Paste Action")});w=D==null?void 0:D.edit}if(!w)return;const S=sM(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(Ew,JSON.stringify(t))}fetchCopyMetadata(e){if(!e.clipboardData)return;const t=e.clipboardData.getData(Ew);if(t)try{return JSON.parse(t)}catch{return}const[i,n]=SA.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=Yc._currentCopyOperation)==null?void 0:n.handle)===t.id){const s=await Yc._currentCopyOperation.dataTransferPromise;if(i.isCancellationRequested)return;for(const[r,a]of s)e.replace(r,a)}if(!e.has(Ts.uriList)){const s=await this._clipboardService.readResources();if(i.isCancellationRequested)return;s.length&&e.append(Ts.uriList,L1(Hy.create(s)))}}async getPasteEdits(e,t,i,n,s,r){const a=new je,c=await em(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){Oc(v)||console.error(v);return}})),r),h=vl(c??[]).flat().filter(g=>!s.only||s.only.contains(g.kind));return{edits:oM(h),dispose:()=>a.dispose()}}async applyDefaultPasteHandler(e,t,i,n){const s=e.get(Ts.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 An?e.providedPasteEditKinds?e.providedPasteEditKinds.some(i=>t.contains(i)):!0:e.id===t.providerId}},Yc=Id,Id.ID="editor.contrib.copyPasteActionController",Id);xl=Yc=P3([Xh(1,di),Xh(2,ly),Xh(3,Og),Xh(4,Tt),Xh(5,Dl),Xh(6,CA)],xl);const yh="9_cutcopypaste",T3=Fg||document.queryCommandSupported("cut"),lM=Fg||document.queryCommandSupported("copy"),M3=typeof navigator.clipboard>"u"||xA?document.queryCommandSupported("paste"):!0;function P1(o){return o.register(),o}const N3=T3?P1(new H0({id:"editor.action.clipboardCutAction",precondition:void 0,kbOpts:Fg?{primary:2102,win:{primary:2102,secondary:[1044]},weight:100}:void 0,menuOpts:[{menuId:ht.MenubarEditMenu,group:"2_ccp",title:y({key:"miCut",comment:["&& denotes a mnemonic"]},"Cu&&t"),order:1},{menuId:ht.EditorContext,group:yh,title:y("actions.clipboard.cutLabel","Cut"),when:R.writable,order:1},{menuId:ht.CommandPalette,group:"",title:y("actions.clipboard.cutLabel","Cut"),order:1},{menuId:ht.SimpleEditorContext,group:yh,title:y("actions.clipboard.cutLabel","Cut"),when:R.writable,order:1}]})):void 0,R3=lM?P1(new H0({id:"editor.action.clipboardCopyAction",precondition:void 0,kbOpts:Fg?{primary:2081,win:{primary:2081,secondary:[2067]},weight:100}:void 0,menuOpts:[{menuId:ht.MenubarEditMenu,group:"2_ccp",title:y({key:"miCopy",comment:["&& denotes a mnemonic"]},"&&Copy"),order:2},{menuId:ht.EditorContext,group:yh,title:y("actions.clipboard.copyLabel","Copy"),order:2},{menuId:ht.CommandPalette,group:"",title:y("actions.clipboard.copyLabel","Copy"),order:1},{menuId:ht.SimpleEditorContext,group:yh,title:y("actions.clipboard.copyLabel","Copy"),order:2}]})):void 0;Lr.appendMenuItem(ht.MenubarEditMenu,{submenu:ht.MenubarCopy,title:xt("copy as","Copy As"),group:"2_ccp",order:3});Lr.appendMenuItem(ht.EditorContext,{submenu:ht.EditorContextCopy,title:xt("copy as","Copy As"),group:yh,order:3});Lr.appendMenuItem(ht.EditorContext,{submenu:ht.EditorContextShare,title:xt("share","Share"),group:"11_share",order:-1,when:ce.and(ce.notEquals("resourceScheme","output"),R.editorTextFocus)});Lr.appendMenuItem(ht.ExplorerContext,{submenu:ht.ExplorerContextShare,title:xt("share","Share"),group:"11_share",order:-1});const Pw=M3?P1(new H0({id:"editor.action.clipboardPasteAction",precondition:void 0,kbOpts:Fg?{primary:2100,win:{primary:2100,secondary:[1043]},linux:{primary:2100,secondary:[1043]},weight:100}:void 0,menuOpts:[{menuId:ht.MenubarEditMenu,group:"2_ccp",title:y({key:"miPaste",comment:["&& denotes a mnemonic"]},"&&Paste"),order:4},{menuId:ht.EditorContext,group:yh,title:y("actions.clipboard.pasteLabel","Paste"),when:R.writable,order:4},{menuId:ht.CommandPalette,group:"",title:y("actions.clipboard.pasteLabel","Paste"),order:1},{menuId:ht.SimpleEditorContext,group:yh,title:y("actions.clipboard.pasteLabel","Paste"),when:R.writable,order:4}]})):void 0;class A3 extends we{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:R.textInputFocus,primary:0,weight:100}})}run(e,t){!t.hasModel()||!t.getOption(37)&&t.getSelection().isEmpty()||(GL.forceCopyWithSyntaxHighlighting=!0,t.focus(),t.getContainerDomNode().ownerDocument.execCommand("copy"),GL.forceCopyWithSyntaxHighlighting=!1)}}function cM(o,e){o&&(o.addImplementation(1e4,"code-editor",(t,i)=>{const n=t.get(os).getFocusedCodeEditor();if(n&&n.hasTextFocus()){const s=n.getOption(37),r=n.getSelection();return r&&r.isEmpty()&&!s||n.getContainerDomNode().ownerDocument.execCommand(e),!0}return!1}),o.addImplementation(0,"generic-dom",(t,i)=>(F0().execCommand(e),!0)))}cM(N3,"cut");cM(R3,"copy");Pw&&(Pw.addImplementation(1e4,"code-editor",(o,e)=>{var s;const t=o.get(os),i=o.get(Og),n=t.getFocusedCodeEditor();return n&&n.hasTextFocus()?n.getContainerDomNode().ownerDocument.execCommand("paste")?((s=xl.get(n))==null?void 0:s.finishedPaste())??Promise.resolve():LA?(async()=>{const a=await i.readText();if(a!==""){const c=kA.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)=>(F0().execCommand("paste"),!0)));lM&&se(A3);const Dn=new class{constructor(){this.QuickFix=new An("quickfix"),this.Refactor=new An("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 An("notebook"),this.Source=new An("source"),this.SourceOrganizeImports=this.Source.append("organizeImports"),this.SourceFixAll=this.Source.append("fixAll"),this.SurroundWith=this.Refactor.append("surround")}};var Lo;(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"})(Lo||(Lo={}));function O3(o,e){return!(o.include&&!o.include.intersects(e)||o.excludes&&o.excludes.some(t=>dM(e,t,o.include))||!o.includeSourceActions&&Dn.Source.contains(e))}function F3(o,e){const t=e.kind?new An(e.kind):void 0;return!(o.include&&(!t||!o.include.contains(t))||o.excludes&&t&&o.excludes.some(i=>dM(t,i,o.include))||!o.includeSourceActions&&t&&Dn.Source.contains(t)||o.onlyIncludePreferredActions&&!e.isPreferred)}function dM(o,e,t){return!(!e.contains(o)||t&&e.contains(t))}class Pa{static fromUser(e,t){return!e||typeof e!="object"?new Pa(t.kind,t.apply,!1):new Pa(Pa.getKindFromUser(e,t.kind),Pa.getApplyFromUser(e,t.apply),Pa.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 An(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 H3{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){ss(n)}i&&(this.action.edit=i.edit)}return this}}const hM="editor.action.codeAction",T1="editor.action.quickFix",uM="editor.action.autoFix",gM="editor.action.refactor",fM="editor.action.sourceAction",ZS="editor.action.organizeImports",XS="editor.action.fixAll";class Uf extends $e{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:Oo(e.diagnostics)?Oo(t.diagnostics)?Uf.codeActionsPreferredComparator(e,t):-1:Oo(t.diagnostics)?1:Uf.codeActionsPreferredComparator(e,t)}constructor(e,t,i){super(),this.documentation=t,this._register(i),this.allActions=[...e].sort(Uf.codeActionsComparator),this.validActions=this.allActions.filter(({action:n})=>!n.disabled)}get hasAutoFix(){return this.validActions.some(({action:e})=>!!e.kind&&Dn.QuickFix.contains(new An(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 $k={actions:[],documentation:void 0};async function wu(o,e,t,i,n,s){var w;const r=i.filter||{},a={...r,excludes:[...r.excludes||[],Dn.Notebook]},c={only:(w=r.include)==null?void 0:w.value,trigger:i.type},h=new IA(e,s),g=i.type===2,f=W3(o,e,g?a:r),p=new je,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 $k;const P=((D==null?void 0:D.actions)||[]).filter(V=>V&&F3(r,V)),A=z3(S,P,r.include);return{actions:P.map(V=>new H3(V,S)),documentation:A}}catch(D){if(Oc(D))throw D;return ss(D),$k}}),_=o.onDidChange(()=>{const S=o.all(e);Ba(S,f)||h.cancel()});try{const S=await Promise.all(v),D=S.map(A=>A.actions).flat(),P=[...vl(S.map(A=>A.documentation)),...B3(o,e,i,D)];return new Uf(D,P,p)}finally{_.dispose(),h.dispose()}}function W3(o,e,t){return o.all(e).filter(i=>i.providedCodeActionKinds?i.providedCodeActionKinds.some(n=>O3(t,new An(n))):!0)}function*B3(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 z3(o,e,t){if(!o.documentation)return;const i=o.documentation.map(n=>({kind:new An(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 An(n.kind)))return s.command}}var ld;(function(o){o.OnSave="onSave",o.FromProblemsView="fromProblemsView",o.FromCodeActions="fromCodeActions",o.FromAILightbulb="fromAILightbulb"})(ld||(ld={}));async function V3(o,e,t,i,n=_i.None){var h;const s=o.get(ly),r=o.get(Cs),a=o.get(ca),c=o.get(io);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!==ld.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=j3(g);c.error(typeof f=="string"?f:y("applyCodeActionFailed","An unknown error occurred while applying the code action"))}}function j3(o){return typeof o=="string"?o:o instanceof Error&&typeof o.message=="string"?o.message:void 0}Pn.registerCommand("_executeCodeActionProvider",async function(o,e,t,i,n){if(!(e instanceof bn))throw gl();const{codeActionProvider:s}=o.get(Tt),r=o.get(no).getModel(e);if(!r)throw gl();const a=Kt.isISelection(t)?Kt.liftSelection(t):z.isIRange(t)?r.validateRange(t):void 0;if(!a)throw gl();const c=typeof i=="string"?new An(i):void 0,h=await wu(s,r,a,{type:1,triggerAction:Lo.Default,filter:{includeSourceActions:!0,include:c}},ll.None,_i.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(_i.None));try{return await Promise.all(g),h.validActions.map(p=>p.action)}finally{setTimeout(()=>h.dispose(),100)}});var U3=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},$3=function(o,e){return function(t,i){e(t,i,o)}},YS,Dd;let QS=(Dd=class{constructor(e){this.keybindingService=e}getResolver(){const e=new W0(()=>this.keybindingService.getKeybindings().filter(t=>YS.codeActionCommands.indexOf(t.command)>=0).filter(t=>t.resolvedKeybinding).map(t=>{let i=t.commandArgs;return t.command===ZS?i={kind:Dn.SourceOrganizeImports.value}:t.command===XS&&(i={kind:Dn.SourceFixAll.value}),{resolvedKeybinding:t.resolvedKeybinding,...Pa.fromUser(i,{kind:An.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 An(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)}},YS=Dd,Dd.codeActionCommands=[gM,hM,fM,ZS,XS],Dd);QS=YS=U3([$3(0,hs)],QS);yt("symbolIcon.arrayForeground",vs,y("symbolIcon.arrayForeground","The foreground color for array symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));yt("symbolIcon.booleanForeground",vs,y("symbolIcon.booleanForeground","The foreground color for boolean symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));yt("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."));yt("symbolIcon.colorForeground",vs,y("symbolIcon.colorForeground","The foreground color for color symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));yt("symbolIcon.constantForeground",vs,y("symbolIcon.constantForeground","The foreground color for constant symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));yt("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."));yt("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."));yt("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."));yt("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."));yt("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."));yt("symbolIcon.fileForeground",vs,y("symbolIcon.fileForeground","The foreground color for file symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));yt("symbolIcon.folderForeground",vs,y("symbolIcon.folderForeground","The foreground color for folder symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));yt("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."));yt("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."));yt("symbolIcon.keyForeground",vs,y("symbolIcon.keyForeground","The foreground color for key symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));yt("symbolIcon.keywordForeground",vs,y("symbolIcon.keywordForeground","The foreground color for keyword symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));yt("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."));yt("symbolIcon.moduleForeground",vs,y("symbolIcon.moduleForeground","The foreground color for module symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));yt("symbolIcon.namespaceForeground",vs,y("symbolIcon.namespaceForeground","The foreground color for namespace symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));yt("symbolIcon.nullForeground",vs,y("symbolIcon.nullForeground","The foreground color for null symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));yt("symbolIcon.numberForeground",vs,y("symbolIcon.numberForeground","The foreground color for number symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));yt("symbolIcon.objectForeground",vs,y("symbolIcon.objectForeground","The foreground color for object symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));yt("symbolIcon.operatorForeground",vs,y("symbolIcon.operatorForeground","The foreground color for operator symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));yt("symbolIcon.packageForeground",vs,y("symbolIcon.packageForeground","The foreground color for package symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));yt("symbolIcon.propertyForeground",vs,y("symbolIcon.propertyForeground","The foreground color for property symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));yt("symbolIcon.referenceForeground",vs,y("symbolIcon.referenceForeground","The foreground color for reference symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));yt("symbolIcon.snippetForeground",vs,y("symbolIcon.snippetForeground","The foreground color for snippet symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));yt("symbolIcon.stringForeground",vs,y("symbolIcon.stringForeground","The foreground color for string symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));yt("symbolIcon.structForeground",vs,y("symbolIcon.structForeground","The foreground color for struct symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));yt("symbolIcon.textForeground",vs,y("symbolIcon.textForeground","The foreground color for text symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));yt("symbolIcon.typeParameterForeground",vs,y("symbolIcon.typeParameterForeground","The foreground color for type parameter symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));yt("symbolIcon.unitForeground",vs,y("symbolIcon.unitForeground","The foreground color for unit symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));yt("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 pM=Object.freeze({kind:An.Empty,title:y("codeAction.widget.id.more","More Actions...")}),q3=Object.freeze([{kind:Dn.QuickFix,title:y("codeAction.widget.id.quickfix","Quick Fix")},{kind:Dn.RefactorExtract,title:y("codeAction.widget.id.extract","Extract"),icon:Jt.wrench},{kind:Dn.RefactorInline,title:y("codeAction.widget.id.inline","Inline"),icon:Jt.wrench},{kind:Dn.RefactorRewrite,title:y("codeAction.widget.id.convert","Rewrite"),icon:Jt.wrench},{kind:Dn.RefactorMove,title:y("codeAction.widget.id.move","Move"),icon:Jt.wrench},{kind:Dn.SurroundWith,title:y("codeAction.widget.id.surround","Surround With"),icon:Jt.surroundWith},{kind:Dn.Source,title:y("codeAction.widget.id.source","Source Action"),icon:Jt.symbolFile},pM]);function K3(o,e,t){if(!e)return o.map(s=>{var r;return{kind:"action",item:s,group:pM,disabled:!!s.action.disabled,label:s.action.disabled||s.action.title,canPreview:!!((r=s.action.edit)!=null&&r.edits.length)}});const i=q3.map(s=>({group:s,actions:[]}));for(const s of o){const r=s.action.kind?new An(s.action.kind):An.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:Jt.sparkle}:a,label:r.action.title,disabled:!!r.action.disabled,keybinding:t(r.action)})}}return n}var G3=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Z3=function(o,e){return function(t,i){e(t,i,o)}},hu;const qk=ts("gutter-lightbulb",Jt.lightBulb,y("gutterLightbulbWidget","Icon which spawns code actions menu from the gutter when there is no space in the editor.")),Kk=ts("gutter-lightbulb-auto-fix",Jt.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.")),Gk=ts("gutter-lightbulb-sparkle",Jt.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.")),Zk=ts("gutter-lightbulb-aifix-auto-fix",Jt.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.")),Xk=ts("gutter-lightbulb-sparkle-filled",Jt.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 jr;(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})(jr||(jr={}));var dl;let yp=(dl=class extends $e{constructor(e,t){super(),this._editor=e,this._keybindingService=t,this._onClick=this._register(new mi),this.onClick=this._onClick.event,this._state=jr.Hidden,this._gutterState=jr.Hidden,this._iconClasses=[],this.lightbulbClasses=["codicon-"+qk.id,"codicon-"+Zk.id,"codicon-"+Kk.id,"codicon-"+Gk.id,"codicon-"+Xk.id],this.gutterDecoration=hu.GUTTER_DECORATION,this._domNode=bt("div.lightBulbWidget"),this._domNode.role="listbox",this._register(mE.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(DA(this._domNode,i=>{if(this.state.type!==1)return;this._editor.focus(),i.preventDefault();const{top:n,height:s}=lo(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(Xi(this._domNode,"mouseenter",i=>{(i.buttons&1)===1&&this.hide()})),this._register(ms.runAndSubscribe(this._keybindingService.onDidUpdateKeybindings,()=>{var i,n;this._preferredKbLabel=((i=this._keybindingService.lookupKeybinding(uM))==null?void 0:i.getLabel())??void 0,this._quickFixKbLabel=((n=this._keybindingService.lookupKeybinding(T1))==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}=lo(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=B0(f,h),v=g.spaceWidth*p>22,_=H=>H>2&&this._editor.getTopForLineNumber(H)===this._editor.getTopForLineNumber(H-1),w=this._editor.getLineDecorations(a);let S=!1;if(w)for(const H of w){const J=H.options.glyphMarginClassName;if(J&&!this.lightbulbClasses.some(X=>J.includes(X))){S=!0;break}}let D=a,P=1;if(!v){const H=J=>{const X=r.getLineContent(J);return/^\s*$|^\s+/.test(X)||X.length<=P};if(a>1&&!_(a-1)){const J=r.getLineCount(),X=a===J,fe=a>1&&H(a-1),Ie=!X&&H(a+1),Be=H(a),Se=!Ie&&!fe;if(!Ie&&!fe&&!S)return this.gutterState=new jr.Showing(e,t,i,{position:{lineNumber:D,column:P},preference:hu._posPref}),this.renderGutterLightbub(),this.hide();fe||X||fe&&!Be?D-=1:(Ie||Se&&Be)&&(D+=1)}else if(a===1&&(a===r.getLineCount()||!H(a+1)&&!H(a)))if(this.gutterState=new jr.Showing(e,t,i,{position:{lineNumber:D,column:P},preference:hu._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 jr.Showing(e,t,i,{position:{lineNumber:D,column:P},preference:hu._posPref}),this._gutterDecorationID&&(this._removeGutterDecoration(this._gutterDecorationID),this.gutterHide());const A=e.validActions,V=e.validActions[0].action.kind;if(A.length!==1||!V){this._editor.layoutContentWidget(this);return}this._editor.layoutContentWidget(this)}hide(){this.state!==jr.Hidden&&(this.state=jr.Hidden,this._editor.layoutContentWidget(this))}gutterHide(){this.gutterState!==jr.Hidden&&(this._gutterDecorationID&&this._removeGutterDecoration(this._gutterDecorationID),this.gutterState=jr.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=Jt.sparkleFilled,this.state.actions.validActions.length===1&&(t=!0)):this.state.actions.hasAutoFix?this.state.actions.hasAIFix?e=Jt.lightbulbSparkleAutofix:e=Jt.lightbulbAutofix:this.state.actions.hasAIFix?e=Jt.lightbulbSparkle:e=Jt.lightBulb,this._updateLightbulbTitle(this.state.actions.hasAutoFix,t),this._iconClasses=sn.asClassNameArray(e),this._domNode.classList.add(...this._iconClasses)}_updateGutterLightBulbTitleAndIcon(){if(this.gutterState.type!==1)return;let e,t=!1;this.gutterState.actions.allAIFixes?(e=Xk,this.gutterState.actions.validActions.length===1&&(t=!0)):this.gutterState.actions.hasAutoFix?this.gutterState.actions.hasAIFix?e=Zk:e=Kk:this.gutterState.actions.hasAIFix?e=Gk:e=qk,this._updateLightbulbTitle(this.gutterState.actions.hasAutoFix,t);const i=Ai.register({description:"codicon-gutter-lightbulb-decoration",glyphMarginClassName:sn.asClassName(e),glyphMargin:{position:K_.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}},hu=dl,dl.GUTTER_DECORATION=Ai.register({description:"codicon-gutter-lightbulb-decoration",glyphMarginClassName:sn.asClassName(Jt.lightBulb),glyphMargin:{position:K_.Left},stickiness:1}),dl.ID="editor.contrib.lightbulbWidget",dl._posPref=[0],dl);yp=hu=G3([Z3(1,hs)],yp);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},JS=function(o,e){return function(t,i){e(t,i,o)}};const _M="acceptSelectedCodeAction",vM="previewSelectedCodeAction";class X3{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 eC=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 z0(e,V0);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=sn.asClassName(e.group.icon),e.group.icon.color&&(i.icon.style.color=fd(e.group.icon.color.id))):(i.icon.className=sn.asClassName(Jt.lightBulb),i.icon.style.color="var(--vscode-editorLightBulb-foreground)"),!e.item||!e.label)return;i.text.textContent=bM(e.label),i.keybinding.set(e.keybinding),EA(!!e.keybinding,i.keybinding.element);const n=(a=this._keybindingService.lookupKeybinding(_M))==null?void 0:a.getLabel(),s=(c=this._keybindingService.lookupKeybinding(vM))==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()}};eC=mM([JS(1,hs)],eC);class Y3 extends UIEvent{constructor(){super("acceptSelectedAction")}}class Yk extends UIEvent{constructor(){super("previewSelectedAction")}}function Q3(o){if(o.kind==="action")return o.label}let tC=class extends $e{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 Es),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 j0(e,this.domNode,a,[new eC(t,this._keybindingService),new X3],{keyboardSupport:!1,typeNavigationEnabled:!0,keyboardNavigationLabelProvider:{getKeyboardNavigationLabel:Q3},accessibilityProvider:{getAriaLabel:c=>{if(c.kind==="action"){let h=c.label?bM(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(PA),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 Yk:new Y3;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 Yk):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([])}};tC=mM([JS(4,uy),JS(5,hs)],tC);function bM(o){return o.replace(/\r\n|\r|\n/g," ")}var J3=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(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)}};yt("actionBar.toggledBackground",U0,y("actionBar.toggledBackground","Background color for toggled action items in action bar."));const wh={Visible:new Bi("codeActionMenuVisible",!1,y("codeActionMenuVisible","Whether the action widget list is visible"))},Ah=El("actionWidgetService");let Sh=class extends $e{get isVisible(){return wh.Visible.getValue(this._contextKeyService)||!1}constructor(e,t,i){super(),this._contextViewService=e,this._contextKeyService=t,this._instantiationService=i,this._list=this._register(new Wo)}show(e,t,i,n,s,r,a){const c=wh.Visible.bindTo(this._contextKeyService),h=this._instantiationService.createInstance(tC,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 je,r=document.createElement("div"),a=e.appendChild(r);a.classList.add("context-view-block"),s.add(Xi(a,Un.MOUSE_DOWN,_=>_.stopPropagation()));const c=document.createElement("div"),h=e.appendChild(c);h.classList.add("context-view-pointerBlock"),s.add(Xi(h,Un.POINTER_MOVE,()=>h.remove())),s.add(Xi(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(og(e));return s.add(p.onDidBlur(()=>this.hide(!0))),s}_createActionBar(e,t){if(!t.length)return;const i=bt(e),n=new op(i);return n.push(t,{icon:!1,label:!0}),n}_onWidgetClosed(e){var t;(t=this._list.value)==null||t.hide(e)}};Sh=J3([Tw(0,uy),Tw(1,Yi),Tw(2,di)],Sh);Pl(Ah,Sh,1);const ym=1100;mn(class extends uo{constructor(){super({id:"hideCodeActionWidget",title:xt("hideCodeActionWidget.title","Hide action widget"),precondition:wh.Visible,keybinding:{weight:ym,primary:9,secondary:[1033]}})}run(o){o.get(Ah).hide(!0)}});mn(class extends uo{constructor(){super({id:"selectPrevCodeAction",title:xt("selectPrevCodeAction.title","Select previous action"),precondition:wh.Visible,keybinding:{weight:ym,primary:16,secondary:[2064],mac:{primary:16,secondary:[2064,302]}}})}run(o){const e=o.get(Ah);e instanceof Sh&&e.focusPrevious()}});mn(class extends uo{constructor(){super({id:"selectNextCodeAction",title:xt("selectNextCodeAction.title","Select next action"),precondition:wh.Visible,keybinding:{weight:ym,primary:18,secondary:[2066],mac:{primary:18,secondary:[2066,300]}}})}run(o){const e=o.get(Ah);e instanceof Sh&&e.focusNext()}});mn(class extends uo{constructor(){super({id:_M,title:xt("acceptSelected.title","Accept selected action"),precondition:wh.Visible,keybinding:{weight:ym,primary:3,secondary:[2137]}})}run(o){const e=o.get(Ah);e instanceof Sh&&e.acceptSelected()}});mn(class extends uo{constructor(){super({id:vM,title:xt("previewSelected.title","Preview selected action"),precondition:wh.Visible,keybinding:{weight:ym,primary:2051}})}run(o){const e=o.get(Ah);e instanceof Sh&&e.acceptSelected(!0)}});const yM=new Bi("supportedCodeAction",""),Qk="_typescript.applyFixAllCodeAction";class eB extends $e{constructor(e,t,i,n=250){super(),this._editor=e,this._markerService=t,this._signalChange=i,this._delay=n,this._autoTriggerTimer=this._register(new tm),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=>G_(i,t.uri))&&this._tryAutoTrigger()}_tryAutoTrigger(){this._autoTriggerTimer.cancelAndSet(()=>{this.trigger({type:2,triggerAction:Lo.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!==fw.Off){{if(i===fw.On)return t;if(i===fw.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 td;(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(Oc(r))return wM;throw r})}cancel(){this._cancellablePromise.cancel()}}o.Triggered=e})(td||(td={}));const wM=Object.freeze({allActions:[],validActions:[],dispose:()=>{},documentation:[],hasAutoFix:!1,hasAIFix:!1,allAIFixes:!1});class tB extends $e{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 Wo),this._state=td.Empty,this._onDidChangeState=this._register(new mi),this.onDidChangeState=this._onDidChangeState.event,this._disposed=!1,this._supportedCodeActions=yM.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(td.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(td.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 eB(this._editor,this._markerService,i=>{var c;if(!i){this.setState(td.Empty);return}const n=i.selection.getStartPosition(),s=Ds(async h=>{var g,f,p,v,_,w,S,D,P,A;if(this._settingEnabledNearbyQuickfixes()&&i.trigger.type===1&&(i.trigger.triggerAction===Lo.QuickFix||(f=(g=i.trigger.filter)==null?void 0:g.include)!=null&&f.contains(Dn.QuickFix))){const V=await wu(this._registry,e,i.selection,i.trigger,ll.None,h),H=[...V.allActions];if(h.isCancellationRequested)return wM;const J=(p=V.validActions)==null?void 0:p.some(fe=>fe.action.kind?Dn.QuickFix.contains(new An(fe.action.kind)):!1),X=this._markerService.read({resource:e.uri});if(J){for(const fe of V.validActions)(_=(v=fe.action.command)==null?void 0:v.arguments)!=null&&_.some(Ie=>typeof Ie=="string"&&Ie.includes(Qk))&&(fe.action.diagnostics=[...X.filter(Ie=>Ie.relatedInformation)]);return{validActions:V.validActions,allActions:H,documentation:V.documentation,hasAutoFix:V.hasAutoFix,hasAIFix:V.hasAIFix,allAIFixes:V.allAIFixes,dispose:()=>{V.dispose()}}}else if(!J&&X.length>0){const fe=i.selection.getPosition();let Ie=fe,Be=Number.MAX_VALUE;const Se=[...V.validActions];for(const mt of X){const at=mt.endColumn,hi=mt.endLineNumber,Ut=mt.startLineNumber;if(hi===fe.lineNumber||Ut===fe.lineNumber){Ie=new Pt(hi,at);const ti={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:Dn.QuickFix},autoApply:i.trigger.autoApply,context:{notAvailableMessage:((D=i.trigger.context)==null?void 0:D.notAvailableMessage)||"",position:Ie}},Fe=new Kt(Ie.lineNumber,Ie.column,Ie.lineNumber,Ie.column),Gt=await wu(this._registry,e,Fe,ti,ll.None,h);if(Gt.validActions.length!==0){for(const Je of Gt.validActions)(A=(P=Je.action.command)==null?void 0:P.arguments)!=null&&A.some(Lt=>typeof Lt=="string"&&Lt.includes(Qk))&&(Je.action.diagnostics=[...X.filter(Lt=>Lt.relatedInformation)]);V.allActions.length===0&&H.push(...Gt.allActions),Math.abs(fe.column-at)<Be?Se.unshift(...Gt.validActions):Se.push(...Gt.validActions)}Be=Math.abs(fe.column-at)}}const ut=Se.filter((mt,at,hi)=>hi.findIndex(Ut=>Ut.action.title===mt.action.title)===at);return ut.sort((mt,at)=>mt.action.isPreferred&&!at.action.isPreferred?-1:!mt.action.isPreferred&&at.action.isPreferred||mt.action.isAI&&!at.action.isAI?1:!mt.action.isAI&&at.action.isAI?-1:0),{validActions:ut,allActions:H,documentation:V.documentation,hasAutoFix:V.hasAutoFix,hasAIFix:V.hasAIFix,allAIFixes:V.allAIFixes,dispose:()=>{V.dispose()}}}}if(i.trigger.type===1){const V=new xo,H=await wu(this._registry,e,i.selection,i.trigger,ll.None,h);return this._telemetryService&&this._telemetryService.publicLog2("codeAction.invokedDurations",{codeActions:H.validActions.length,duration:V.elapsed()}),H}return wu(this._registry,e,i.selection,i.trigger,ll.None,h)});i.trigger.type===1&&((c=this._progressService)==null||c.showWhile(s,250));const r=new td.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:Lo.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 iB=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},ma=function(o,e){return function(t,i){e(t,i,o)}},uu;const nB="quickfix-edit-highlight";var uc;let yg=(uc=class extends $e{static get(e){return e.getContribution(uu.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 Wo),this._showDisabled=!1,this._disposed=!1,this._editor=e,this._model=this._register(new tB(this._editor,s.codeActionProvider,t,i,r,c,this._telemetryService)),this._register(this._model.onDidChangeState(p=>this.update(p))),this._lightBulbWidget=new W0(()=>{const p=this._editor.getContribution(yp.ID);return p&&this._register(p.onClick(v=>this.showCodeActionsFromLightbulb(v.actions,v))),p}),this._resolver=n.createInstance(QS),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,ld.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=wo.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(V3,e,n,{preview:i,editor:this._editor})}finally{t&&this._trigger({type:2,triggerAction:Lo.QuickFix,filter:{}})}}hideLightBulbWidget(){var e,t;(e=this._lightBulbWidget.rawValue)==null||e.hide(),(t=this._lightBulbWidget.rawValue)==null||t.gutterHide()}async update(e){var n,s,r,a,c;if(e.type!==1){this.hideLightBulbWidget();return}let t;try{t=await e.actions}catch(h){Cn(h);return}if(this._disposed)return;const i=this._editor.getSelection();if((i==null?void 0:i.startLineNumber)===e.position.lineNumber)if((n=this._lightBulbWidget.value)==null||n.update(t,e.trigger,e.position),e.trigger.type===1){if((s=e.trigger.filter)!=null&&s.include){const g=this.tryGetValidActionToApply(e.trigger,t);if(g){try{this.hideLightBulbWidget(),await this._applyCodeAction(g,!1,!1,ld.FromCodeActions)}finally{t.dispose()}return}if(e.trigger.context){const f=this.getInvalidActionThatWouldHaveBeenApplied(e.trigger,t);if(f&&f.action.disabled){(r=wo.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=wo.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=Pt.isIPosition(t)?this.toCoords(t):t,c={onSelect:async(h,g)=>{this._applyCodeAction(h,!0,!!g,i.fromLightbulb?ld.FromAILightbulb:ld.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 An(p);f=[Dn.RefactorExtract,Dn.RefactorInline,Dn.RefactorRewrite,Dn.RefactorMove,Dn.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:uu.DECORATION})):p.map(w=>({range:w,options:uu.DECORATION}));n.set(_)}else if(v&&v.length>0){const _=v.map(S=>({range:S,options:uu.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;rg(y("editingNewSelection","Context: {0} at line {1} and column {2}.",S,w.startLineNumber,w.startColumn))}}}else n.clear()}};this._actionWidgetService.show("codeActionWidget",!0,K3(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=lo(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}},uu=uc,uc.ID="editor.contrib.codeActionController",uc.DECORATION=Ai.register({description:"quickfix-highlight",className:nB}),uc);yg=uu=iB([ma(1,$0),ma(2,Yi),ma(3,di),ma(4,Tt),ma(5,im),ma(6,Cs),ma(7,On),ma(8,Ah),ma(9,di),ma(10,ca)],yg);gy((o,e)=>{((n,s)=>{s&&e.addRule(`.monaco-editor ${n} { background-color: ${s}; }`)})(".quickfix-edit-highlight",o.getColor(TA));const i=o.getColor(_E);i&&e.addRule(`.monaco-editor .quickfix-edit-highlight { border: 1px ${rp(o.type)?"dotted":"solid"} ${i}; box-sizing: border-box; }`)});function wm(o){return ce.regex(yM.keys()[0],new RegExp("(\\s|^)"+ap(o.value)+"\\b"))}const M1={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 Oh(o,e,t,i,n=Lo.Default){if(o.hasModel()){const s=yg.get(o);s==null||s.manualTriggerAtCurrentPosition(e,n,t,i)}}class sB extends we{constructor(){super({id:T1,label:y("quickfix.trigger.label","Quick Fix..."),alias:"Quick Fix...",precondition:ce.and(R.writable,R.hasCodeActionsProvider),kbOpts:{kbExpr:R.textInputFocus,primary:2137,weight:100}})}run(e,t){return Oh(t,y("editor.action.quickFix.noneMessage","No code actions available"),void 0,void 0,Lo.QuickFix)}}class oB extends go{constructor(){super({id:hM,precondition:ce.and(R.writable,R.hasCodeActionsProvider),metadata:{description:"Trigger a code action",args:[{name:"args",schema:M1}]}})}runEditorCommand(e,t,i){const n=Pa.fromUser(i,{kind:An.Empty,apply:"ifSingle"});return Oh(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 rB extends we{constructor(){super({id:gM,label:y("refactor.label","Refactor..."),alias:"Refactor...",precondition:ce.and(R.writable,R.hasCodeActionsProvider),kbOpts:{kbExpr:R.textInputFocus,primary:3120,mac:{primary:1328},weight:100},contextMenuOpts:{group:"1_modification",order:2,when:ce.and(R.writable,wm(Dn.Refactor))},metadata:{description:"Refactor...",args:[{name:"args",schema:M1}]}})}run(e,t,i){const n=Pa.fromUser(i,{kind:Dn.Refactor,apply:"never"});return Oh(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:Dn.Refactor.contains(n.kind)?n.kind:An.None,onlyIncludePreferredActions:n.preferred},n.apply,Lo.Refactor)}}class aB extends we{constructor(){super({id:fM,label:y("source.label","Source Action..."),alias:"Source Action...",precondition:ce.and(R.writable,R.hasCodeActionsProvider),contextMenuOpts:{group:"1_modification",order:2.1,when:ce.and(R.writable,wm(Dn.Source))},metadata:{description:"Source Action...",args:[{name:"args",schema:M1}]}})}run(e,t,i){const n=Pa.fromUser(i,{kind:Dn.Source,apply:"never"});return Oh(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:Dn.Source.contains(n.kind)?n.kind:An.None,includeSourceActions:!0,onlyIncludePreferredActions:n.preferred},n.apply,Lo.SourceAction)}}class lB extends we{constructor(){super({id:ZS,label:y("organizeImports.label","Organize Imports"),alias:"Organize Imports",precondition:ce.and(R.writable,wm(Dn.SourceOrganizeImports)),kbOpts:{kbExpr:R.textInputFocus,primary:1581,weight:100}})}run(e,t){return Oh(t,y("editor.action.organize.noneMessage","No organize imports action available"),{include:Dn.SourceOrganizeImports,includeSourceActions:!0},"ifSingle",Lo.OrganizeImports)}}class cB extends we{constructor(){super({id:XS,label:y("fixAll.label","Fix All"),alias:"Fix All",precondition:ce.and(R.writable,wm(Dn.SourceFixAll))})}run(e,t){return Oh(t,y("fixAll.noneMessage","No fix all action available"),{include:Dn.SourceFixAll,includeSourceActions:!0},"ifSingle",Lo.FixAll)}}class dB extends we{constructor(){super({id:uM,label:y("autoFix.label","Auto Fix..."),alias:"Auto Fix...",precondition:ce.and(R.writable,wm(Dn.QuickFix)),kbOpts:{kbExpr:R.textInputFocus,primary:1625,mac:{primary:2649},weight:100}})}run(e,t){return Oh(t,y("editor.action.autoFix.noneMessage","No auto fixes available"),{include:Dn.QuickFix,onlyIncludePreferredActions:!0},"ifSingle",Lo.AutoFix)}}wi(yg.ID,yg,3);wi(yp.ID,yp,4);se(sB);se(rB);se(aB);se(lB);se(dB);se(cB);Mt(new oB);aa.as(nm.Configuration).registerConfiguration({...fy,properties:{"editor.codeActionWidget.showHeaders":{type:"boolean",scope:5,description:y("showCodeActionHeaders","Enable/disable showing group headers in the Code Action menu."),default:!0}}});aa.as(nm.Configuration).registerConfiguration({...fy,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}}});aa.as(nm.Configuration).registerConfiguration({...fy,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 iC{constructor(){this.lenses=[],this._disposables=new je}dispose(){this._disposables.dispose()}get isDisposed(){return this._disposables.isDisposed}add(e,t){this._disposables.add(e);for(const i of e.lenses)this.lenses.push({symbol:i,provider:t})}}async function SM(o,e,t){const i=o.ordered(e),n=new Map,s=new iC,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){ss(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}Pn.registerCommand("_executeCodeLensProvider",function(o,...e){let[t,i]=e;tn(bn.isUri(t)),tn(typeof i=="number"||!i);const{codeLensProvider:n}=o.get(Tt),s=o.get(no).getModel(t);if(!s)throw gl();const r=[],a=new je;return SM(n,s,_i.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,_i.None)).then(f=>r.push(f||g.symbol)));return Promise.all(h)}).then(()=>r).finally(()=>{setTimeout(()=>a.dispose(),100)})});var hB=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},uB=function(o,e){return function(t,i){e(t,i,o)}};const CM=El("ICodeLensCache");class Jk{constructor(e,t){this.lineCount=e,this.data=t}}let nC=class{constructor(e){this._fakeProvider=new class{provideCodeLenses(){throw new Error("not supported")}},this._cache=new sm(20,.75);const t="codelens/cache";MA(NA,()=>e.remove(t,1));const i="codelens/cache2",n=e.get(i,1,"{}");this._deserialize(n);const s=ms.filter(e.onWillSaveState,r=>r.reason===q0.SHUTDOWN);ms.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 iC;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 iC;r.add({lenses:s,dispose(){}},this._fakeProvider),this._cache.set(i,new Jk(n.lineCount,r))}}catch{}}};nC=hB([uB(0,Fc)],nC);Pl(CM,nC,1);class gB{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 ip=class ip{constructor(e,t){this.allowEditorOverflow=!1,this.suppressMouseDown=!0,this._commands=new Map,this._isEmpty=!0,this._editor=e,this._id=`codelens.widget-${ip._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=RA(r.command.title.trim());if(r.command.id){const c=`c${ip._idPool++}`;i.push(bt("a",{id:c,title:r.command.tooltip,role:"button"},...a)),this._commands.set(c,r.command)}else i.push(bt("span",{title:r.command.tooltip},...a));s+1<e.length&&i.push(bt("span",void 0," | "))}}n?(Z_(this._domNode,...i),this._isEmpty&&t&&this._domNode.classList.add("fadein"),this._isEmpty=!1):Z_(this._domNode,bt("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}};ip._idPool=0;let sC=ip;class Mw{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 eI=Ai.register({collapseOnReplaceEdit:!0,description:"codelens"});class tI{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:eI},f=>this._decorationIds[g]=f),a?a=z.plusRange(a,h.symbol.range):a=z.lift(h.symbol.range)}),this._viewZone=new gB(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 sC(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:eI},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 fB=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},uf=function(o,e){return function(t,i){e(t,i,o)}},Ku;let wp=(Ku=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 je,this._localToDispose=new je,this._lenses=[],this._oldCodeLensModels=new je,this._provideCodeLensDebounce=i.for(t.codeLensProvider,"CodeLensProvide",{min:250}),this._resolveCodeLensesDebounce=i.for(t.codeLensProvider,"CodeLensResolve",{min:250,salt:"resolve"}),this._resolveCodeLensesScheduler=new _s(()=>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",K0.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&&sp(()=>{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 _s(()=>{var s;const n=Date.now();(s=this._getCodeLensModelPromise)==null||s.cancel(),this._getCodeLensModelPromise=Ds(r=>SM(this._languageFeaturesService.codeLensProvider,e,r)),this._getCodeLensModelPromise.then(r=>{this._currentCodeLensModel&&this._oldCodeLensModels.add(this._currentCodeLensModel),this._currentCodeLensModel=r,this._codeLensCache.put(e,r);const a=this._provideCodeLensDebounce.update(e,Date.now()-n);i.delay=a,this._renderCodeLensSymbols(r),this._resolveCodeLensesInViewportSoon()},Cn)},this._provideCodeLensDebounce.get(e));this._localToDispose.add(i),this._localToDispose.add(Rn(()=>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 Mw;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(Rn(()=>{if(this._editor.getModel()){const n=ag.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 Mw;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=ag.capture(this._editor),r=this._getLayoutInfo();this._editor.changeDecorations(a=>{this._editor.changeViewZones(c=>{const h=new Mw;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 tI(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 tI(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=Ds(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},ss):(f[_]=v.symbol,Promise.resolve(void 0)));return Promise.all(p).then(()=>{!a.isCancellationRequested&&!i[g].isDisposed()&&i[g].updateCommands(f)})});return Promise.all(c)});this._resolveCodeLensesPromise=s,this._resolveCodeLensesPromise.then(()=>{const a=this._resolveCodeLensesDebounce.update(e,Date.now()-n);this._resolveCodeLensesScheduler.delay=a,this._currentCodeLensModel&&this._codeLensCache.put(e,this._currentCodeLensModel),this._oldCodeLensModels.clear(),s===this._resolveCodeLensesPromise&&(this._resolveCodeLensesPromise=void 0)},a=>{Cn(a),s===this._resolveCodeLensesPromise&&(this._resolveCodeLensesPromise=void 0)})}async getModel(){var e;return await this._getCodeLensModelPromise,await this._resolveCodeLensesPromise,(e=this._currentCodeLensModel)!=null&&e.isDisposed?void 0:this._currentCodeLensModel}},Ku.ID="css.editor.codeLens",Ku);wp=fB([uf(1,Tt),uf(2,nr),uf(3,Cs),uf(4,io),uf(5,CM)],wp);wi(wp.ID,wp,1);se(class extends we{constructor(){super({id:"codelens.showLensesInCurrentLine",precondition:R.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(Dl),n=e.get(Cs),s=e.get(io),r=t.getSelection().positionLineNumber,a=t.getContribution(wp.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 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},oC=function(o,e){return function(t,i){e(t,i,o)}};let Sp=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 Ni(new lg(Math.round(255*s.red),Math.round(255*s.green),Math.round(255*s.blue),r)),c=r?Ni.Format.CSS.formatRGB(a):Ni.Format.CSS.formatRGBA(a),h=r?Ni.Format.CSS.formatHSL(a):Ni.Format.CSS.formatHSLA(a),g=r?Ni.Format.CSS.formatHex(a):Ni.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}};Sp=xM([oC(0,Tl)],Sp);let rC=class extends $e{constructor(e,t){super(),this._register(e.colorProvider.register("*",new Sp(t)))}};rC=xM([oC(0,Tt),oC(1,Tl)],rC);Hg(rC);async function LM(o,e,t,i=!0){return N1(new pB,o,e,t,i)}function kM(o,e,t,i){return Promise.resolve(t.provideColorPresentations(o,e,i))}class pB{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 mB{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 _B{constructor(e){this.colorInfo=e}async compute(e,t,i,n){const s=await e.provideColorPresentations(t,this.colorInfo,_i.None);return Array.isArray(s)&&n.push(...s),Array.isArray(s)}}async function N1(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 Sp)r=g;else try{await o.compute(g,t,i,a)&&(s=!0)}catch(f){ss(f)}}return s?a:r&&n?(await o.compute(r,t,i,a),a):[]}function IM(o,e){const{colorProvider:t}=o.get(Tt),i=o.get(no).getModel(e);if(!i)throw gl();const n=o.get(On).getValue("editor.defaultColorDecorators",{resource:e});return{model:i,colorProviderRegistry:t,isDefaultColorDecoratorsEnabled:n}}Pn.registerCommand("_executeDocumentColorProvider",function(o,...e){const[t]=e;if(!(t instanceof bn))throw gl();const{model:i,colorProviderRegistry:n,isDefaultColorDecoratorsEnabled:s}=IM(o,t);return N1(new mB,n,i,_i.None,s)});Pn.registerCommand("_executeColorPresentationProvider",function(o,...e){const[t,i]=e,{uri:n,range:s}=i;if(!(n instanceof bn)||!Array.isArray(t)||t.length!==4||!z.isIRange(s))throw gl();const{model:r,colorProviderRegistry:a,isDefaultColorDecoratorsEnabled:c}=IM(o,n),[h,g,f,p]=t;return N1(new _B({range:s,color:{red:h,green:g,blue:f,alpha:p}}),a,r,_i.None,c)});var vB=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Nw=function(o,e){return function(t,i){e(t,i,o)}},aC;const DM=Object.create({});var gc;let wg=(gc=class extends $e{constructor(e,t,i,n){super(),this._editor=e,this._configurationService=t,this._languageFeaturesService=i,this._localToDispose=this._register(new je),this._decorationsIds=[],this._colorDatas=new Map,this._colorDecoratorIds=this._editor.createDecorationsCollection(),this._ruleFactory=new vE(this._editor),this._decoratorLimitReporter=new bB,this._colorDecorationClassRefs=this._register(new je),this._debounceInformation=n.for(i.colorProvider,"Document Colors",{min:aC.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 tm,this._timeoutTimer.cancelAndSet(()=>{this._timeoutTimer=null,this.beginCompute()},this._debounceInformation.get(e)))})),this.beginCompute())}async beginCompute(){this._computePromise=Ds(async e=>{const t=this._editor.getModel();if(!t)return[];const i=new xo(!1),n=await LM(this._languageFeaturesService.colorProvider,t,e,this._isDefaultColorDecoratorsEnabled);return this._debounceInformation.update(t,i.elapsed()),n});try{const e=await this._computePromise;this.updateDecorations(e),this.updateColorDecorators(e),this._computePromise=null}catch(e){Cn(e)}}stop(){this._timeoutTimer&&(this._timeoutTimer.cancel(),this._timeoutTimer=null),this._computePromise&&(this._computePromise.cancel(),this._computePromise=null),this._localToDispose.clear()}updateDecorations(e){const t=e.map(i=>({range:{startLineNumber:i.colorInfo.range.startLineNumber,startColumn:i.colorInfo.range.startColumn,endLineNumber:i.colorInfo.range.endLineNumber,endColumn:i.colorInfo.range.endColumn},options:Ai.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 lg(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:fE,inlineClassName:`${p.className} colorpicker-color-decoration`,inlineClassNameAffectsLetterSpacing:!0,attachedData:DM}}})}const n=i<e.length?i:!1;this._decoratorLimitReporter.update(e.length,n),this._colorDecoratorIds.set(t)}removeAllDecorations(){this._editor.removeDecorations(this._decorationsIds),this._decorationsIds=[],this._colorDecoratorIds.clear(),this._colorDecorationClassRefs.clear()}getColorData(e){const t=this._editor.getModel();if(!t)return null;const i=t.getDecorationsInRange(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)}},aC=gc,gc.ID="editor.contrib.colorDetector",gc.RECOMPUTE_TIME=1e3,gc);wg=aC=vB([Nw(1,On),Nw(2,Tt),Nw(3,nr)],wg);class bB{constructor(){this._onDidChange=new mi,this._computed=0,this._limited=!1}update(e,t){(e!==this._computed||t!==this._limited)&&(this._computed=e,this._limited=t,this._onDidChange.fire())}}wi(wg.ID,wg,1);class yB{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 mi,this.onColorFlushed=this._onColorFlushed.event,this._onDidChangeColor=new mi,this.onDidChangeColor=this._onDidChangeColor.event,this._onDidChangePresentation=new mi,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 Ao=bt;class wB extends $e{constructor(e,t,i,n=!1){super(),this.model=t,this.showingStandaloneColorPicker=n,this._closeButton=null,this._domNode=Ao(".colorpicker-header"),gt(e,this._domNode),this._pickedColorNode=gt(this._domNode,Ao(".picked-color")),gt(this._pickedColorNode,Ao("span.codicon.codicon-color-mode")),this._pickedColorPresentation=gt(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=gt(this._domNode,Ao(".original-color")),this._originalColorNode.style.backgroundColor=Ni.Format.CSS.format(this.model.originalColor)||"",this.backgroundColor=i.getColorTheme().getColor(ZL)||Ni.white,this._register(i.onDidColorThemeChange(r=>{this.backgroundColor=r.getColor(ZL)||Ni.white})),this._register(Xi(this._pickedColorNode,Un.CLICK,()=>this.model.selectNextColorPresentation())),this._register(Xi(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=Ni.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 SB(this._domNode)))}get closeButton(){return this._closeButton}get pickedColorNode(){return this._pickedColorNode}get originalColorNode(){return this._originalColorNode}onDidChangeColor(e){this._pickedColorNode.style.backgroundColor=Ni.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 SB extends $e{constructor(e){super(),this._onClicked=this._register(new mi),this.onClicked=this._onClicked.event,this._button=document.createElement("div"),this._button.classList.add("close-button"),gt(e,this._button);const t=document.createElement("div");t.classList.add("close-button-inner-div"),gt(this._button,t),gt(t,Ao(".button"+sn.asCSSSelector(ts("color-picker-close",Jt.close,y("closeIcon","Icon to close the color picker"))))).classList.add("close-icon"),this._register(Xi(this._button,Un.CLICK,()=>{this._onClicked.fire()}))}}class CB extends $e{constructor(e,t,i,n=!1){super(),this.model=t,this.pixelRatio=i,this._insertButton=null,this._domNode=Ao(".colorpicker-body"),gt(e,this._domNode),this._saturationBox=new xB(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 LB(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 kB(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 IB(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 Ni(new w_(i.h,e,t,i.a))}onDidOpacityChange(e){const t=this.model.color.hsva;this.model.color=new Ni(new w_(t.h,t.s,t.v,e))}onDidHueChange(e){const t=this.model.color.hsva,i=(1-e)*360;this.model.color=new Ni(new w_(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 xB extends $e{constructor(e,t,i){super(),this.model=t,this.pixelRatio=i,this._onDidChange=new mi,this.onDidChange=this._onDidChange.event,this._onColorFlushed=new mi,this.onColorFlushed=this._onColorFlushed.event,this._domNode=Ao(".saturation-wrap"),gt(e,this._domNode),this._canvas=document.createElement("canvas"),this._canvas.className="saturation-box",gt(this._domNode,this._canvas),this.selection=Ao(".saturation-selection"),gt(this._domNode,this.selection),this.layout(),this._register(Xi(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 bE);const t=lo(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=Xi(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 Ni(new w_(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=Ni.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 EM extends $e{constructor(e,t,i=!1){super(),this.model=t,this._onDidChange=new mi,this.onDidChange=this._onDidChange.event,this._onColorFlushed=new mi,this.onColorFlushed=this._onColorFlushed.event,i?(this.domNode=gt(e,Ao(".standalone-strip")),this.overlay=gt(this.domNode,Ao(".standalone-overlay"))):(this.domNode=gt(e,Ao(".strip")),this.overlay=gt(this.domNode,Ao(".overlay"))),this.slider=gt(this.domNode,Ao(".slider")),this.slider.style.top="0px",this._register(Xi(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 bE),i=lo(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=Xi(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 LB extends EM{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 Ni(new lg(t,i,n,1)),r=new Ni(new lg(t,i,n,0));this.overlay.style.background=`linear-gradient(to bottom, ${s} 0%, ${r} 100%)`}getValue(e){return e.hsva.a}}class kB extends EM{constructor(e,t,i=!1){super(e,t,i),this.domNode.classList.add("hue-strip")}getValue(e){return 1-e.hsva.h/360}}class IB extends $e{constructor(e){super(),this._onClicked=this._register(new mi),this.onClicked=this._onClicked.event,this._button=gt(e,document.createElement("button")),this._button.classList.add("insert-button"),this._button.textContent="Insert",this._register(Xi(this._button,Un.CLICK,()=>{this._onClicked.fire()}))}get button(){return this._button}}class DB extends om{constructor(e,t,i,n,s=!1){super(),this.model=t,this.pixelRatio=i,this._register(AA.getInstance(pd(e)).onDidChange(()=>this.layout())),this._domNode=Ao(".colorpicker-widget"),e.appendChild(this._domNode),this.header=this._register(new wB(this._domNode,this.model,n,s)),this.body=this._register(new CB(this._domNode,this.model,this.pixelRatio,s))}layout(){this.body.layout()}get domNode(){return this._domNode}}class Rw{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 N_{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 Ch{constructor(e){this.renderedHoverParts=e}dispose(){for(const e of this.renderedHoverParts)e.dispose()}}const Fh=new class{constructor(){this._participants=[]}register(e){this._participants.push(e)}getAll(){return this._participants}};var PM=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},TM=function(o,e){return function(t,i){e(t,i,o)}};class EB{constructor(e,t,i,n){this.owner=e,this.range=t,this.model=i,this.provider=n,this.forceShowAtRange=!0}isValidForHoverAnchor(e){return e.type===1&&this.range.startColumn<=e.range.startColumn&&this.range.endColumn>=e.range.endColumn}}let Cp=class{constructor(e,t){this._editor=e,this._themeService=t,this.hoverOrdinal=2}computeSync(e,t){return[]}computeAsync(e,t,i){return ta.fromPromise(this._computeAsync(e,t,i))}async _computeAsync(e,t,i){if(!this._editor.hasModel())return[];const n=wg.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 MM(this,this._editor.getModel(),r.colorInfo,r.provider)]}return[]}renderHoverParts(e,t){const i=NM(this,this._editor,this._themeService,t,e);if(!i)return new Ch([]);this._colorPicker=i.colorPicker;const n={hoverPart:i.hoverPart,hoverElement:this._colorPicker.domNode,dispose(){i.disposables.dispose()}};return new Ch([n])}handleResize(){var e;(e=this._colorPicker)==null||e.layout()}isColorPickerVisible(){return!!this._colorPicker}};Cp=PM([TM(1,Er)],Cp);class PB{constructor(e,t,i,n){this.owner=e,this.range=t,this.model=i,this.provider=n}}let xp=class{constructor(e,t){this._editor=e,this._themeService=t,this._color=null}async createColorHover(e,t,i){if(!this._editor.hasModel()||!wg.get(this._editor))return null;const s=await LM(i,this._editor.getModel(),_i.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 MM(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 R_(this._editor.getModel(),t,this._color,i,e),i=RM(this._editor,i,t))}renderHoverParts(e,t){return NM(this,this._editor,this._themeService,t,e)}set color(e){this._color=e}get color(){return this._color}};xp=PM([TM(1,Er)],xp);async function MM(o,e,t,i){const n=e.getValueInRange(t.range),{red:s,green:r,blue:a,alpha:c}=t.color,h=new lg(Math.round(s*255),Math.round(r*255),Math.round(a*255),c),g=new Ni(h),f=await kM(e,t,i,_i.None),p=new yB(g,[],0);return p.colorPresentations=f||[],p.guessColorPresentation(g,n),o instanceof Cp?new EB(o,z.lift(t.range),p,i):new PB(o,z.lift(t.range),p,i)}function NM(o,e,t,i,n){if(i.length===0||!e.hasModel())return;if(n.setMinimumDimensions){const p=e.getOption(67)+8;n.setMinimumDimensions(new In(302,p))}const s=new je,r=i[0],a=e.getModel(),c=r.model,h=s.add(new DB(n.fragment,c,e.getOption(144),t,o instanceof xp));let g=!1,f=new z(r.range.startLineNumber,r.range.startColumn,r.range.endLineNumber,r.range.endColumn);if(o instanceof xp){const p=r.model.color;o.color=p,R_(a,c,p,f,r),s.add(c.onColorFlushed(v=>{o.color=v}))}else s.add(c.onColorFlushed(async p=>{await R_(a,c,p,f,r),g=!0,f=RM(e,f,c)}));return s.add(c.onDidChangeColor(p=>{R_(a,c,p,f,r)})),s.add(e.onDidChangeModelContent(p=>{g?g=!1:(n.hide(),e.focus())})),{hoverPart:r,colorPicker:h,disposables:s}}function RM(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 R_(o,e,t,i,n){const s=await kM(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,_i.None);e.colorPresentations=s||[]}const AM="editor.action.showHover",TB="editor.action.showDefinitionPreviewHover",MB="editor.action.scrollUpHover",NB="editor.action.scrollDownHover",RB="editor.action.scrollLeftHover",AB="editor.action.scrollRightHover",OB="editor.action.pageUpHover",FB="editor.action.pageDownHover",HB="editor.action.goToTopHover",WB="editor.action.goToBottomHover",Wy="editor.action.increaseHoverVerbosityLevel",BB=y({key:"increaseHoverVerbosityLevel",comment:["Label for action that will increase the hover verbosity level."]},"Increase Hover Verbosity Level"),By="editor.action.decreaseHoverVerbosityLevel",zB=y({key:"decreaseHoverVerbosityLevel",comment:["Label for action that will decrease the hover verbosity level."]},"Decrease Hover Verbosity Level"),OM="editor.action.inlineSuggest.commit",FM="editor.action.inlineSuggest.showPrevious",HM="editor.action.inlineSuggest.showNext";var R1=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},_r=function(o,e){return function(t,i){e(t,i,o)}},A_;let lC=class extends $e{constructor(e,t,i){super(),this.editor=e,this.model=t,this.instantiationService=i,this.alwaysShowToolbar=vo(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(62).showToolbar==="always"),this.sessionPosition=void 0,this.position=fn(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 Pt(s.lineNumber,Math.min(r,((h=this.sessionPosition)==null?void 0:h.column)??Number.MAX_SAFE_INTEGER));return this.sessionPosition=a,a}),this._register(rm((n,s)=>{const r=this.model.read(n);if(!r||!this.alwaysShowToolbar.read(n))return;const a=CE((h,g)=>{const f=g.add(this.instantiationService.createInstance(Sg,this.editor,!0,this.position,r.selectedInlineCompletionIndex,r.inlineCompletionsCount,r.activeCommands));return e.addContentWidget(f),g.add(Rn(()=>e.removeContentWidget(f))),g.add(jn(p=>{this.position.read(p)&&r.lastTriggerKind.read(p)!==fl.Explicit&&r.triggerExplicitly()})),f}),c=py(this,(h,g)=>!!this.position.read(h)||!!g);s.add(jn(h=>{c.read(h)&&a.read(h)}))}))}};lC=R1([_r(2,di)],lC);const VB=ts("inline-suggestion-hints-next",Jt.chevronRight,y("parameterHintsNextIcon","Icon for show next parameter hint.")),jB=ts("inline-suggestion-hints-previous",Jt.chevronLeft,y("parameterHintsPreviousIcon","Icon for show previous parameter hint."));var fc;let Sg=(fc=class extends $e{static get dropDownVisible(){return this._dropDownVisible}createCommandAction(e,t,i){const n=new cg(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${A_.id++}`,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this.nodes=vr("div.inlineSuggestionsHints",{className:this.withBorder?".withBorder":""},[vr("div@toolBar")]),this.previousAction=this.createCommandAction(FM,y("previous","Previous"),sn.asClassName(jB)),this.availableSuggestionCountAction=new cg("inlineSuggestionHints.availableSuggestionCount","",void 0,!1),this.nextAction=this.createCommandAction(HM,y("next","Next"),sn.asClassName(VB)),this.inlineCompletionsActionsMenus=this._register(this._menuService.createMenu(ht.InlineCompletionsActions,this._contextKeyService)),this.clearAvailableSuggestionCountLabelDebounced=this._register(new _s(()=>{this.availableSuggestionCountAction.label=""},100)),this.disableButtonsDebounced=this._register(new _s(()=>{this.previousAction.enabled=this.nextAction.enabled=!1},100)),this.toolBar=this._register(c.createInstance(cC,this.nodes.toolBar,ht.InlineSuggestionToolbar,{menuOptions:{renderShortTitle:!0},toolbarOptions:{primaryGroup:p=>p.startsWith("primary")},actionViewItemProvider:(p,v)=>{if(p instanceof dg)return c.createInstance($B,p,void 0);if(p===this.availableSuggestionCountAction){const _=new UB(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=>{A_._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 dg&&_.push(D);_.length>0&&_.unshift(new lp),this.toolBar.setAdditionalSecondaryActions(_)}))}getId(){return this.id}getDomNode(){return this.nodes.root}getPosition(){return{position:this._position.get(),preference:[1,2],positionAffinity:3}}},A_=fc,fc._dropDownVisible=!1,fc.id=0,fc);Sg=A_=R1([_r(6,Cs),_r(7,di),_r(8,hs),_r(9,Yi),_r(10,Th)],Sg);class UB extends gS{constructor(){super(...arguments),this._className=void 0}setClass(e){this._className=e}render(e){super.render(e),this._className&&e.classList.add(this._className)}updateTooltip(){}}let $B=class extends yE{updateLabel(){const e=this._keybindingService.lookupKeybinding(this._action.id,this._contextKeyService);if(!e)return super.updateLabel();if(this.label){const t=vr("div.keybinding").root;this._register(new z0(t,V0,{disableTitle:!0,...wE})).set(e),this.label.textContent=this._action.label,this.label.appendChild(t),this.label.classList.add("inlineSuggestionStatusBarItemLabel")}}updateTooltip(){}},cC=class extends SE{constructor(e,t,i,n,s,r,a,c,h){super(e,{resetMenu:t,...i},n,s,r,a,c,h),this.menuId=t,this.options2=i,this.menuService=n,this.contextKeyService=s,this.menu=this._store.add(this.menuService.createMenu(this.menuId,this.contextKeyService,{emitEventsForSubmenuChanges:!0})),this.additionalActions=[],this.prependedPrimaryActions=[],this._store.add(this.menu.onDidChange(()=>this.updateToolbar())),this.updateToolbar()}updateToolbar(){var i,n,s,r,a,c,h;const e=[],t=[];G0(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){Ba(this.prependedPrimaryActions,e,(t,i)=>t===i)||(this.prependedPrimaryActions=e,this.updateToolbar())}setAdditionalSecondaryActions(e){Ba(this.additionalActions,e,(t,i)=>t===i)||(this.additionalActions=e,this.updateToolbar())}};cC=R1([_r(3,Th),_r(4,Yi),_r(5,Ag),_r(6,hs),_r(7,Cs),_r(8,ca)],cC);function zy(o,e,t){const i=lo(o);return!(e<i.left||e>i.left+i.width||t<i.top||t>i.top+i.height)}let qB=class{constructor(e,t,i){this.value=e,this.isComplete=t,this.hasLoadingMessage=i}};class WM extends $e{constructor(e,t){super(),this._editor=e,this._computer=t,this._onResult=this._register(new mi),this.onResult=this._onResult.event,this._firstWaitScheduler=this._register(new _s(()=>this._triggerAsyncComputation(),0)),this._secondWaitScheduler=this._register(new _s(()=>this._triggerSyncComputation(),0)),this._loadingMessageScheduler=this._register(new _s(()=>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=OA(e=>this._computer.computeAsync(e)),(async()=>{try{for await(const e of this._asyncIterable)e&&(this._result.push(e),this._fireResult());this._asyncIterableDone=!0,(this._state===3||this._state===4)&&this._setState(0)}catch(e){Cn(e)}})()):this._asyncIterableDone=!0}_triggerSyncComputation(){this._computer.computeSync&&(this._result=this._result.concat(this._computer.computeSync())),this._setState(this._asyncIterableDone?0:3)}_triggerLoadingMessage(){this._state===3&&this._setState(4)}_fireResult(){if(this._state===1||this._state===2)return;const e=this._state===0,t=this._state===4;this._onResult.fire(new qB(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 A1{constructor(){this._onDidWillResize=new mi,this.onDidWillResize=this._onDidWillResize.event,this._onDidResize=new mi,this.onDidResize=this._onDidResize.event,this._sashListener=new je,this._size=new In(0,0),this._minSize=new In(0,0),this._maxSize=new In(Number.MAX_SAFE_INTEGER,Number.MAX_SAFE_INTEGER),this.domNode=document.createElement("div"),this._eastSash=new mu(this.domNode,{getVerticalSashLeft:()=>this._size.width},{orientation:0}),this._westSash=new mu(this.domNode,{getVerticalSashLeft:()=>0},{orientation:0}),this._northSash=new mu(this.domNode,{getHorizontalSashTop:()=>0},{orientation:1,orthogonalEdge:XL.North}),this._southSash=new mu(this.domNode,{getHorizontalSashTop:()=>this._size.height},{orientation:1,orthogonalEdge:XL.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(ms.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(ms.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(ms.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(ms.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 In(t,e);In.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 KB=30,GB=24;class ZB extends $e{constructor(e,t=new In(10,10)){super(),this._editor=e,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this._resizableNode=this._register(new A1),this._contentPosition=null,this._isResizing=!1,this._resizableNode.domNode.style.position="absolute",this._resizableNode.minSize=In.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 In(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?Pt.lift(this._contentPosition.position):void 0}_availableVerticalSpaceAbove(e){const t=this._editor.getDomNode(),i=this._editor.getScrolledVisiblePosition(e);return!t||!i?void 0:lo(t).top+i.top-KB}_availableVerticalSpaceBelow(e){const t=this._editor.getDomNode(),i=this._editor.getScrolledVisiblePosition(e);if(!t||!i)return;const n=lo(t),s=am(t.ownerDocument.body),r=n.top+i.top+i.height;return s.height-r-GB}_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 XB=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Gm=function(o,e){return function(t,i){e(t,i,o)}},ba;const iI=30,YB=6;var pc;let dC=(pc=class extends ZB{get isVisibleFromKeyboard(){var e;return((e=this._renderedHover)==null?void 0:e.source)===1}get isVisible(){return this._hoverVisibleKey.get()??!1}get isFocused(){return this._hoverFocusedKey.get()??!1}constructor(e,t,i,n,s){const r=e.getOption(67)+8,a=150,c=new In(a,r);super(e,c),this._configurationService=i,this._accessibilityService=n,this._keybindingService=s,this._hover=this._register(new xE),this._onDidResize=this._register(new mi),this.onDidResize=this._onDidResize.event,this._minimumSize=c,this._hoverVisibleKey=R.hoverVisible.bindTo(t),this._hoverFocusedKey=R.hoverFocused.bindTo(t),gt(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(og(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 ba.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 ba._applyDimensions(i,e,t)}_setContainerDomNodeDimensions(e,t){const i=this._hover.containerDomNode;return ba._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){ba._applyMaxDimensions(this._hover.contentsDomNode,e,t),ba._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 In(e,t),this._setHoverWidgetMaxDimensions(e,t)}_resize(e){ba._lastDimensions=new In(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=YB;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?am(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=lo(this.getDomNode());this._renderedHover.closestMouseDistance===void 0&&(this._renderedHover.closestMouseDistance=nI(this._renderedHover.initialMousePosX,this._renderedHover.initialMousePosY,i.left,i.top,i.width,i.height));const n=nI(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,ba._lastDimensions.height),t=Math.max(this._editor.getLayoutInfo().width*.66,500,ba._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=_u(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&&FA(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 In(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 In(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 In(e,this._minimumSize.height)}onContentsChanged(){var n;this._removeConstraintsRenderNormally();const e=this._hover.containerDomNode;let t=_u(e),i=hr(e);if(this._resizableNode.layout(t,i),this._setHoverWidgetDimensions(i,t),t=_u(e),i=hr(e),this._contentWidth=i,this._updateMinimumWidth(),this._resizableNode.layout(t,i),(n=this._renderedHover)!=null&&n.showAtPosition){const s=_u(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-iI})}scrollRight(){const e=this._hover.scrollbar.getScrollPosition().scrollLeft;this._hover.scrollbar.setScrollPosition({scrollLeft:e+iI})}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})}},ba=pc,pc.ID="editor.contrib.resizableContentHoverWidget",pc._lastDimensions=new In(0,0),pc);dC=ba=XB([Gm(1,Yi),Gm(2,On),Gm(3,my),Gm(4,hs)],dC);function nI(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 pv{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 ta.EMPTY;const i=pv._getLineDecorations(this._editor,t);return ta.merge(this._participants.map(n=>n.computeAsync?n.computeAsync(t,i,e):ta.EMPTY))}computeSync(){if(!this._editor.hasModel()||!this._anchor)return[];const e=pv._getLineDecorations(this._editor,this._anchor);let t=[];for(const i of this._participants)t=t.concat(i.computeSync(this._anchor,e));return vl(t)}}class BM{constructor(e,t,i){this.anchor=e,this.hoverParts=t,this.isComplete=i}filter(e){const t=this.hoverParts.filter(i=>i.isValidForHoverAnchor(e));return t.length===this.hoverParts.length?this:new QB(this,this.anchor,t,this.isComplete)}}class QB extends BM{constructor(e,t,i,n){super(t,i,n),this.original=e}filter(e){return this.original.filter(e)}}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},e4=function(o,e){return function(t,i){e(t,i,o)}};const sI=bt;let mv=class extends $e{get hasContent(){return this._hasContent}constructor(e){super(),this._keybindingService=e,this.actions=[],this._hasContent=!1,this.hoverElement=sI("div.hover-row.status-bar"),this.hoverElement.tabIndex=0,this.actionsElement=gt(this.hoverElement,sI("div.actions"))}addAction(e){const t=this._keybindingService.lookupKeybinding(e.commandId),i=t?t.getLabel():null;this._hasContent=!0;const n=this._register(HA.render(this.actionsElement,e,i));return this.actions.push(n),n}append(e){const t=gt(this.actionsElement,e);return this._hasContent=!0,t}};mv=JB([e4(0,hs)],mv);class t4{constructor(e,t,i){this.provider=e,this.hover=t,this.ordinal=i}}async function i4(o,e,t,i,n){const s=await Promise.resolve(o.provideHover(t,i,n)).catch(ss);if(!(!s||!n4(s)))return new t4(o,s,e)}function O1(o,e,t,i,n=!1){const r=o.ordered(e,n).map((a,c)=>i4(a,c,e,t,i));return ta.fromPromises(r).coalesce()}function zM(o,e,t,i,n=!1){return O1(o,e,t,i,n).map(s=>s.hover).toPromise()}fo("_executeHoverProvider",(o,e,t)=>{const i=o.get(Tt);return zM(i.hoverProvider,e,t,_i.None)});fo("_executeHoverProvider_recursive",(o,e,t)=>{const i=o.get(Tt);return zM(i.hoverProvider,e,t,_i.None,!0)});function n4(o){const e=typeof o.range<"u",t=typeof o.contents<"u"&&o.contents&&o.contents.length>0;return e&&t}var s4=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},qc=function(o,e){return function(t,i){e(t,i,o)}};const Su=bt,o4=ts("hover-increase-verbosity",Jt.add,y("increaseHoverVerbosity","Icon for increaseing hover verbosity.")),r4=ts("hover-decrease-verbosity",Jt.remove,y("decreaseHoverVerbosity","Icon for decreasing hover verbosity."));class yr{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 VM{constructor(e,t,i){this.hover=e,this.hoverProvider=t,this.hoverPosition=i}supportsVerbosityAction(e){switch(e){case er.Increase:return this.hover.canIncreaseVerbosity??!1;case er.Decrease:return this.hover.canDecreaseVerbosity??!1}}}let Lp=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 yr(this,e.range,[new Gs().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 yr(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 yr(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||cp(D))continue;_.options.beforeContentClassName&&(v=!0);const P=new z(e.range.startLineNumber,w,e.range.startLineNumber,S);r.push(new yr(this,P,LE(D),v,a++))}return r}computeAsync(e,t,i){if(!this._editor.hasModel()||e.type!==1)return ta.EMPTY;const n=this._editor.getModel(),s=this._languageFeaturesService.hoverProvider;return s.has(n)?this._getMarkdownHovers(s,n,e,i):ta.EMPTY}_getMarkdownHovers(e,t,i,n){const s=i.range.getStartPosition();return O1(e,t,s,n).filter(c=>!cp(c.hover.contents)).map(c=>{const h=c.hover.range?z.lift(c.hover.range):i.range,g=new VM(c.hover,c.provider,s);return new yr(this,h,c.hover.contents,!1,c.ordinal,g)})}renderHoverParts(e,t){return this._renderedHoverParts=new a4(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))}};Lp=s4([qc(1,da),qc(2,la),qc(3,On),qc(4,Tt),qc(5,hs),qc(6,lm),qc(7,Cs)],Lp);class Zm{constructor(e,t,i){this.hoverPart=e,this.hoverElement=t,this.disposables=i}dispose(){this.disposables.dispose()}}class a4{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 je,this.renderedHoverParts=this._renderHoverParts(e,t,this._onFinishedRendering),this._disposables.add(Rn(()=>{this.renderedHoverParts.forEach(p=>{p.dispose()}),this._ongoingHoverOperations.forEach(p=>{p.tokenSource.dispose(!0)})}))}_renderHoverParts(e,t,i){return e.sort(cm(n=>n.ordinal,_y)),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 je;if(r.add(i),!s)return new Zm(e,n,r);const a=s.supportsVerbosityAction(er.Increase),c=s.supportsVerbosityAction(er.Decrease);if(!a&&!c)return new Zm(e,n,r);const h=Su("div.verbosity-actions");return n.prepend(h),r.add(this._renderHoverExpansionAction(h,er.Increase,a)),r.add(this._renderHoverExpansionAction(h,er.Decrease,c)),new Zm(e,n,r)}_renderMarkdownHover(e,t){return jM(this._editor,e,this._languageService,this._openerService,t)}_renderHoverExpansionAction(e,t,i){const n=new je,s=t===er.Increase,r=gt(e,Su(sn.asCSSSelector(s?o4:r4)));r.tabIndex=0;const a=new WA("mouse",!1,{target:e,position:{hoverPosition:0}},this._configurationService,this._hoverService);if(n.add(this._hoverService.setupManagedHover(a,r,c4(this._keybindingService,t))),!i)return r.classList.add("disabled"),n;r.classList.add("enabled");const c=()=>this._commandService.executeCommand(t===er.Increase?Wy:By);return n.add(new BA(r,c)),n.add(new zA(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 VM(a,r.hoverProvider,r.hoverPosition),h=s.hoverPart,g=new yr(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===er.Increase?1:-1;const s=e.hoverProvider,r=this._ongoingHoverOperations.get(s);r&&(r.tokenSource.cancel(),n+=r.verbosityDelta);const a=new Es;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){ss(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 Zm(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 l4(o,e,t,i,n){e.sort(cm(r=>r.ordinal,_y));const s=[];for(const r of e)s.push(jM(t,r,i,n,o.onContentsChanged));return new Ch(s)}function jM(o,e,t,i,n){const s=new je,r=Su("div.hover-row"),a=Su("div.hover-row-contents");r.appendChild(a);const c=e.contents;for(const g of c){if(cp(g))continue;const f=Su("div.markdown-hover"),p=gt(f,Su("div.hover-contents")),v=s.add(new Wg({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 c4(o,e){switch(e){case er.Increase:{const t=o.lookupKeybinding(Wy);return t?y("increaseVerbosityWithKb","Increase Hover Verbosity ({0})",t.getLabel()):y("increaseVerbosity","Increase Hover Verbosity")}case er.Decrease:{const t=o.lookupKeybinding(By);return t?y("decreaseVerbosityWithKb","Decrease Hover Verbosity ({0})",t.getLabel()):y("decreaseVerbosity","Decrease Hover Verbosity")}}}function hC(o,e){return!!o[e]}class Aw{constructor(e,t){this.target=e.target,this.isLeftClick=e.event.leftButton,this.isMiddleClick=e.event.middleButton,this.isRightClick=e.event.rightButton,this.hasTriggerModifier=hC(e.event,t.triggerModifier),this.hasSideBySideModifier=hC(e.event,t.triggerSideBySideModifier),this.isNoneOrSingleMouseDown=e.event.detail<=1}}class oI{constructor(e,t){this.keyCodeIsTriggerKey=e.keyCode===t.triggerKey,this.keyCodeIsSideBySideKey=e.keyCode===t.triggerSideBySideKey,this.hasTriggerModifier=hC(e,t.triggerModifier)}}class Xm{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 rI(o){return o==="altKey"?za?new Xm(57,"metaKey",6,"altKey"):new Xm(5,"ctrlKey",6,"altKey"):za?new Xm(6,"altKey",57,"metaKey"):new Xm(6,"altKey",5,"ctrlKey")}class Vy extends $e{constructor(e,t){super(),this._onMouseMoveOrRelevantKeyDown=this._register(new mi),this.onMouseMoveOrRelevantKeyDown=this._onMouseMoveOrRelevantKeyDown.event,this._onExecute=this._register(new mi),this.onExecute=this._onExecute.event,this._onCancel=this._register(new mi),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=rI(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=rI(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 Aw(i,this._opts)))),this._register(this._editor.onMouseDown(i=>this._onEditorMouseDown(new Aw(i,this._opts)))),this._register(this._editor.onMouseUp(i=>this._onEditorMouseUp(new Aw(i,this._opts)))),this._register(this._editor.onKeyDown(i=>this._onEditorKeyDown(new oI(i,this._opts)))),this._register(this._editor.onKeyUp(i=>this._onEditorKeyUp(new oI(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 UM{constructor(e,t){this.range=e,this.direction=t}}class F1{constructor(e,t,i){this.hint=e,this.anchor=t,this.provider=i,this._isResolved=!1}with(e){const t=new F1(this.hint,e.anchor,this.provider);return t._isResolved=this._isResolved,t._currentResolve=this._currentResolve,t}async resolve(e){if(typeof this.provider.resolveInlayHint=="function"){if(this._currentResolve)return await this._currentResolve,e.isCancellationRequested?void 0:this.resolve(e);this._isResolved||(this._currentResolve=this._doResolve(e).finally(()=>this._currentResolve=void 0)),await this._currentResolve}}async _doResolve(e){try{const t=await Promise.resolve(this.provider.resolveInlayHint(this.hint,e));this.hint.tooltip=(t==null?void 0:t.tooltip)??this.hint.tooltip,this.hint.label=(t==null?void 0:t.label)??this.hint.label,this.hint.textEdits=(t==null?void 0:t.textEdits)??this.hint.textEdits,this._isResolved=!0}catch(t){ss(t),this._isResolved=!1}}}const Eu=class Eu{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??Eu._emptyInlayHintList,a])}catch(h){ss(h)}}));if(await Promise.all(r.flat()),n.isCancellationRequested||t.isDisposed())throw new hy;return new Eu(i,s,t)}constructor(e,t,i){this._disposables=new je,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=Eu._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 F1(a,new UM(f,h),r))}}this.items=n.sort((s,r)=>Pt.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)}};Eu._emptyInlayHintList=Object.freeze({dispose(){},hints:[]});let _v=Eu;function d4(o){return bn.from({scheme:ro.command,path:o.id,query:o.arguments&&encodeURIComponent(JSON.stringify(o.arguments))}).toString()}var h4=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Qa=function(o,e){return function(t,i){e(t,i,o)}};let Dr=class extends VA{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){Z0(this._overwriteOptions,e,!0),super.updateOptions(this._overwriteOptions)}};Dr=h4([Qa(4,di),Qa(5,os),Qa(6,Cs),Qa(7,Yi),Qa(8,Er),Qa(9,io),Qa(10,my),Qa(11,xs),Qa(12,Tt)],Dr);const aI=new Ni(new lg(0,122,204)),u4={showArrow:!0,showFrame:!0,className:"",frameColor:aI,arrowColor:aI,keepEditorSelection:!1},g4="vs.editor.contrib.zoneWidget";class f4{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 p4{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(),YL(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(){YL(this._ruleName),$A(`.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 UA(".arrow-decoration-");let uC=Cb;class m4{constructor(e,t={}){this._arrow=null,this._overlayWidget=null,this._resizeSash=null,this._viewZone=null,this._disposables=new je,this.container=null,this._isShowing=!1,this.editor=e,this._positionMarkerId=this.editor.createDecorationsCollection(),this.options=jA(t),Z0(this.options,u4,!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 uC(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:Ai.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 f4(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 p4(g4+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 mu(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 $M=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},qM=function(o,e){return function(t,i){e(t,i,o)}};const KM=El("IPeekViewService");Pl(KM,class{constructor(){this._widgets=new Map}addExclusiveWidget(o,e){const t=this._widgets.get(o);t&&(t.listener.dispose(),t.widget.dispose());const i=()=>{const n=this._widgets.get(o);n&&n.widget===e&&(n.listener.dispose(),this._widgets.delete(o))};this._widgets.set(o,{widget:e,listener:e.onDidClose(i)})}},1);var co;(function(o){o.inPeekEditor=new Bi("inReferenceSearchEditor",!0,y("inReferenceSearchEditor","Whether the current code editor is embedded inside peek")),o.notInPeekEditor=o.inPeekEditor.toNegated()})(co||(co={}));var Gu;let vv=(Gu=class{constructor(e,t){e instanceof Dr&&co.inPeekEditor.bindTo(t)}dispose(){}},Gu.ID="editor.contrib.referenceController",Gu);vv=$M([qM(1,Yi)],vv);wi(vv.ID,vv,0);function _4(o){const e=o.get(os).getFocusedCodeEditor();return e instanceof Dr?e.getParentEditor():e}const v4={headerBackgroundColor:Ni.white,primaryHeadingColor:Ni.fromHex("#333333"),secondaryHeadingColor:Ni.fromHex("#6c6c6cb3")};let bv=class extends m4{constructor(e,t,i){super(e,t),this.instantiationService=i,this._onDidClose=new mi,this.onDidClose=this._onDidClose.event,Z0(this.options,v4,!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=bt(".head"),this._bodyElement=bt(".body"),this._fillHead(this._headElement),this._fillBody(this._bodyElement),e.appendChild(this._headElement),e.appendChild(this._bodyElement)}_fillHead(e,t){this._titleElement=bt(".peekview-title"),this.options.supportOnTitleClick&&(this._titleElement.classList.add("clickable"),yl(this._titleElement,"click",s=>this._onTitleClick(s))),gt(this._headElement,this._titleElement),this._fillTitleIcon(this._titleElement),this._primaryHeading=bt("span.filename"),this._secondaryHeading=bt("span.dirname"),this._metaHeading=bt("span.meta"),gt(this._titleElement,this._primaryHeading,this._secondaryHeading,this._metaHeading);const i=bt(".peekview-actions");gt(this._headElement,i);const n=this._getActionBarOptions();this._actionbarWidget=new op(i,n),this._disposables.add(this._actionbarWidget),t||this._actionbarWidget.push(new cg("peekview.close",y("label.close","Close"),sn.asClassName(Jt.close),!0,()=>(this.dispose(),Promise.resolve())),{label:!1,icon:!0})}_fillTitleIcon(e){}_getActionBarOptions(){return{actionViewItemProvider:qA.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:Fa(this._secondaryHeading))}setMetaTitle(e){this._metaHeading&&(e?(this._metaHeading.innerText=e,br(this._metaHeading)):Mo(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`)}};bv=$M([qM(2,di)],bv);const b4=yt("peekViewTitle.background",{dark:"#252526",light:"#F3F3F3",hcDark:Ni.black,hcLight:Ni.white},y("peekViewTitleBackground","Background color of the peek view title area.")),GM=yt("peekViewTitleLabel.foreground",{dark:Ni.white,light:Ni.black,hcDark:Ni.white,hcLight:dm},y("peekViewTitleForeground","Color of the peek view title.")),ZM=yt("peekViewTitleDescription.foreground",{dark:"#ccccccb3",light:"#616161",hcDark:"#FFFFFF99",hcLight:"#292929"},y("peekViewTitleInfoForeground","Color of the peek view title info.")),y4=yt("peekView.border",{dark:fS,light:fS,hcDark:bl,hcLight:bl},y("peekViewBorder","Color of the peek view borders and arrow.")),w4=yt("peekViewResult.background",{dark:"#252526",light:"#F3F3F3",hcDark:Ni.black,hcLight:Ni.white},y("peekViewResultsBackground","Background color of the peek view result list."));yt("peekViewResult.lineForeground",{dark:"#bbbbbb",light:"#646465",hcDark:Ni.white,hcLight:dm},y("peekViewResultsMatchForeground","Foreground color for line nodes in the peek view result list."));yt("peekViewResult.fileForeground",{dark:Ni.white,light:"#1E1E1E",hcDark:Ni.white,hcLight:dm},y("peekViewResultsFileForeground","Foreground color for file nodes in the peek view result list."));yt("peekViewResult.selectionBackground",{dark:"#3399ff33",light:"#3399ff33",hcDark:null,hcLight:null},y("peekViewResultsSelectionBackground","Background color of the selected entry in the peek view result list."));yt("peekViewResult.selectionForeground",{dark:Ni.white,light:"#6C6C6C",hcDark:Ni.white,hcLight:dm},y("peekViewResultsSelectionForeground","Foreground color of the selected entry in the peek view result list."));const XM=yt("peekViewEditor.background",{dark:"#001F33",light:"#F2F8FC",hcDark:Ni.black,hcLight:Ni.white},y("peekViewEditorBackground","Background color of the peek view editor."));yt("peekViewEditorGutter.background",XM,y("peekViewEditorGutterBackground","Background color of the gutter in the peek view editor."));yt("peekViewEditorStickyScroll.background",XM,y("peekViewEditorStickScrollBackground","Background color of sticky scroll in the peek view editor."));yt("peekViewResult.matchHighlightBackground",{dark:"#ea5c004d",light:"#ea5c004d",hcDark:null,hcLight:null},y("peekViewResultsMatchHighlight","Match highlight color in the peek view result list."));yt("peekViewEditor.matchHighlightBackground",{dark:"#ff8f0099",light:"#f5d802de",hcDark:null,hcLight:null},y("peekViewEditorMatchHighlight","Match highlight color in the peek view editor."));yt("peekViewEditor.matchHighlightBorder",{dark:null,light:null,hcDark:uh,hcLight:uh},y("peekViewEditorMatchHighlightBorder","Match highlight border in the peek view editor."));class Mc{constructor(e,t,i,n){this.isProviderFirst=e,this.parent=t,this.link=i,this._rangeCallback=n,this.id=KA.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,Va(this.uri),this.range.startLineNumber,this.range.startColumn):y("aria.oneReference","in {0} on line {1} at column {2}",Va(this.uri),this.range.startLineNumber,this.range.startColumn)}}class S4{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 kp{constructor(e,t){this.parent=e,this.uri=t,this.children=[],this._previews=new Ic}dispose(){Xs(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}",Va(this.uri),this.uri.fsPath):y("aria.fileReferences.N","{0} symbols in {1}, full path {2}",e,Va(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 S4(i))}catch(i){Cn(i)}return this}}class So{constructor(e,t){this.groups=[],this.references=[],this._onDidChangeReferenceRange=new mi,this.onDidChangeReferenceRange=this._onDidChangeReferenceRange.event,this._links=e,this._title=t;const[i]=e;e.sort(So._compareReferences);let n;for(const s of e)if((!n||!QL.isEqual(n.uri,s.uri,!0))&&(n=new kp(this,s.uri),this.groups.push(n)),n.children.length===0||So._compareReferences(s,n.children[n.children.length-1])!==0){const r=new Mc(i===s,n,s,a=>this._onDidChangeReferenceRange.fire(a));this.references.push(r),n.children.push(r)}}dispose(){Xs(this.groups),this._onDidChangeReferenceRange.dispose(),this.groups.length=0}clone(){return new So(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:hm(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 QL.compare(e.uri,t.uri)||z.compareRangesUsingStarts(e.range,t.range)}}var jy=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Uy=function(o,e){return function(t,i){e(t,i,o)}},gC;let fC=class{constructor(e){this._resolverService=e}hasChildren(e){return e instanceof So||e instanceof kp}getChildren(e){if(e instanceof So)return e.groups;if(e instanceof kp)return e.resolve(this._resolverService).then(t=>t.children);throw new Error("bad tree")}};fC=jy([Uy(0,ha)],fC);class C4{getHeight(){return 23}getTemplateId(e){return e instanceof kp?yv.id:wv.id}}let pC=class{constructor(e){this._keybindingService=e}getKeyboardNavigationLabel(e){var t;if(e instanceof Mc){const i=(t=e.parent.getPreview(e))==null?void 0:t.preview(e.range);if(i)return i.value}return Va(e.uri)}};pC=jy([Uy(0,hs)],pC);class x4{getId(e){return e instanceof Mc?e.id:e.uri}}let mC=class extends $e{constructor(e,t){super(),this._labelService=t;const i=document.createElement("div");i.classList.add("reference-file"),this.file=this._register(new kE(i,{supportHighlights:!0})),this.badge=new GA(gt(i,bt(".count")),{},ZA),e.appendChild(i)}set(e,t){const i=X0(e.uri);this.file.setLabel(this._labelService.getUriBasenameLabel(e.uri),this._labelService.getUriLabel(i,{relative:!0}),{title:this._labelService.getUriLabel(e.uri),matches:t});const n=e.children.length;this.badge.setCount(n),n>1?this.badge.setTitleFormat(y("referencesCount","{0} references",n)):this.badge.setTitleFormat(y("referenceCount","{0} reference",n))}};mC=jy([Uy(1,dp)],mC);var Ed;let yv=(Ed=class{constructor(e){this._instantiationService=e,this.templateId=gC.id}renderTemplate(e){return this._instantiationService.createInstance(mC,e)}renderElement(e,t,i){i.set(e.element,vy(e.filterData))}disposeTemplate(e){e.dispose()}},gC=Ed,Ed.id="FileReferencesRenderer",Ed);yv=gC=jy([Uy(0,di)],yv);class L4 extends $e{constructor(e){super(),this.label=this._register(new XA(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(`${Va(e.uri)}:${e.range.startLineNumber+1}:${e.range.startColumn+1}`);else{const{value:s,highlight:r}=i;t&&!hp.isDefault(t)?(this.label.element.classList.toggle("referenceMatch",!1),this.label.set(s,vy(t))):(this.label.element.classList.toggle("referenceMatch",!0),this.label.set(s,[r]))}}}const xb=class xb{constructor(){this.templateId=xb.id}renderTemplate(e){return new L4(e)}renderElement(e,t,i){i.set(e.element,e.filterData)}disposeTemplate(e){e.dispose()}};xb.id="OneReferenceRenderer";let wv=xb;class k4{getWidgetAriaLabel(){return y("treeAriaLabel","References")}getAriaLabel(e){return e.ariaMessage}}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},Yh=function(o,e){return function(t,i){e(t,i,o)}};const Lb=class Lb{constructor(e,t){this._editor=e,this._model=t,this._decorations=new Map,this._decorationIgnoreSet=new Set,this._callOnDispose=new je,this._callOnModelChange=new je,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:Lb.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()}};Lb.DecorationOptions=Ai.register({description:"reference-decoration",stickiness:1,className:"reference-decoration"});let _C=Lb;class D4{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 E4 extends JA{}let vC=class extends bv{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 je,this._callOnDispose=new je,this._onDidSelectReference=new mi,this.onDidSelectReference=this._onDidSelectReference.event,this._dim=new In(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(),Xs(this._preview),Xs(this._previewNotAvailableMessage),Xs(this._tree),Xs(this._previewModelReference),this._splitView.dispose(),super.dispose()}_applyTheme(e){const t=e.getColor(y4)||Ni.transparent;this.style({arrowColor:t,frameColor:t,headerBackgroundColor:e.getColor(b4)||Ni.transparent,primaryHeadingColor:e.getColor(GM),secondaryHeadingColor:e.getColor(ZM)})}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=gt(e,bt("div.messages")),Mo(this._messageContainer),this._splitView=new YA(e,{orientation:1}),this._previewContainer=gt(e,bt("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(Dr,this._previewContainer,t,{},this.editor),Mo(this._previewContainer),this._previewNotAvailableMessage=this._instantiationService.createInstance(ec,y("missingPreviewMessage","no preview available"),up,ec.DEFAULT_CREATION_OPTIONS,null),this._treeContainer=gt(e,bt("div.ref-tree.inline"));const i={keyboardSupport:this._defaultTreeKeyboardSupport,accessibilityProvider:new k4,keyboardNavigationLabelProvider:this._instantiationService.createInstance(pC),identityProvider:new x4,openOnSingleClick:!0,selectionNavigation:!0,overrideStyles:{listBackground:w4}};this._defaultTreeKeyboardSupport&&this._callOnDispose.add(yl(this._treeContainer,"keydown",s=>{s.equals(9)&&(this._keybindingService.dispatchEvent(s,s.target),s.stopPropagation())},!0)),this._tree=this._instantiationService.createInstance(E4,"ReferencesWidget",this._treeContainer,new C4,[this._instantiationService.createInstance(yv),this._instantiationService.createInstance(wv)],this._instantiationService.createInstance(fC),i),this._splitView.addView({onDidChange:ms.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:ms.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 Mc&&(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")})),Mo(this._treeContainer)}_onWidth(e){this._dim&&this._doLayoutBody(this._dim.height,e)}_doLayoutBody(e,t){super._doLayoutBody(e,t),this._dim=new In(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"),br(this._messageContainer),Promise.resolve(void 0)):(Mo(this._messageContainer),this._decorationsManager=new _C(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"),br(this._treeContainer),br(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 Mc)return e;if(e instanceof kp&&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!==ro.inMemory?this.setTitle(QA(e.uri),this._uriLabel.getUriLabel(X0(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}Xs(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()}};vC=I4([Yh(3,Er),Yh(4,ha),Yh(5,di),Yh(6,KM),Yh(7,dp),Yh(8,hs)],vC);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},Qh=function(o,e){return function(t,i){e(t,i,o)}},O_;const Hh=new Bi("referenceSearchVisible",!1,y("referenceSearchVisible","Whether reference peek is visible, like 'Peek References' or 'Peek Definition'"));var Pd;let xh=(Pd=class{static get(e){return e.getContribution(O_.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 je,this._requestIdPool=0,this._ignoreModelChangeEvent=!1,this._referenceSearchVisible=Hh.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=D4.fromJSON(this._storageService.get(s,0,"{}"));this._widget=this._instantiationService.createInstance(vC,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 Pt(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=O_.get(s),a=this._model.clone();this.closeWidget(),s.focus(),r==null||r.toggleWidget(i,Ds(c=>Promise.resolve(a)),this._peekMode??!1)}},s=>{this._ignoreModelChangeEvent=!1,Cn(s)})}openReference(e,t,i){t||this.closeWidget();const{uri:n,range:s}=e;this._editorService.openCodeEditor({resource:n,options:{selection:s,selectionSource:"code.jump",pinned:i}},this._editor,t)}},O_=Pd,Pd.ID="editor.contrib.referencesController",Pd);xh=O_=P4([Qh(2,Yi),Qh(3,os),Qh(4,io),Qh(5,di),Qh(6,Fc),Qh(7,On)],xh);function Wh(o,e){const t=_4(o);if(!t)return;const i=xh.get(t);i&&e(i)}$a.registerCommandAndKeybindingRule({id:"togglePeekWidgetFocus",weight:100,primary:ds(2089,60),when:ce.or(Hh,co.inPeekEditor),handler(o){Wh(o,e=>{e.changeFocusBetweenPreviewAndReferences()})}});$a.registerCommandAndKeybindingRule({id:"goToNextReference",weight:90,primary:62,secondary:[70],when:ce.or(Hh,co.inPeekEditor),handler(o){Wh(o,e=>{e.goToNextOrPreviousReference(!0)})}});$a.registerCommandAndKeybindingRule({id:"goToPreviousReference",weight:90,primary:1086,secondary:[1094],when:ce.or(Hh,co.inPeekEditor),handler(o){Wh(o,e=>{e.goToNextOrPreviousReference(!1)})}});Pn.registerCommandAlias("goToNextReferenceFromEmbeddedEditor","goToNextReference");Pn.registerCommandAlias("goToPreviousReferenceFromEmbeddedEditor","goToPreviousReference");Pn.registerCommandAlias("closeReferenceSearchEditor","closeReferenceSearch");Pn.registerCommand("closeReferenceSearch",o=>Wh(o,e=>e.closeWidget()));$a.registerKeybindingRule({id:"closeReferenceSearch",weight:-1,primary:9,secondary:[1033],when:ce.and(co.inPeekEditor,ce.not("config.editor.stablePeek"))});$a.registerKeybindingRule({id:"closeReferenceSearch",weight:250,primary:9,secondary:[1033],when:ce.and(Hh,ce.not("config.editor.stablePeek"),ce.or(R.editorTextFocus,eO.negate()))});$a.registerCommandAndKeybindingRule({id:"revealReference",weight:200,primary:3,mac:{primary:3,secondary:[2066]},when:ce.and(Hh,IE,DE.negate(),EE.negate()),handler(o){var i;const t=(i=o.get(Y0).lastFocusedList)==null?void 0:i.getFocus();Array.isArray(t)&&t[0]instanceof Mc&&Wh(o,n=>n.revealReference(t[0]))}});$a.registerCommandAndKeybindingRule({id:"openReferenceToSide",weight:100,primary:2051,mac:{primary:259},when:ce.and(Hh,IE,DE.negate(),EE.negate()),handler(o){var i;const t=(i=o.get(Y0).lastFocusedList)==null?void 0:i.getFocus();Array.isArray(t)&&t[0]instanceof Mc&&Wh(o,n=>n.openReference(t[0],!0,!0))}});Pn.registerCommand("openReference",o=>{var i;const t=(i=o.get(Y0).lastFocusedList)==null?void 0:i.getFocus();Array.isArray(t)&&t[0]instanceof Mc&&Wh(o,n=>n.openReference(t[0],!1,!0))});var YM=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Lf=function(o,e){return function(t,i){e(t,i,o)}};const H1=new Bi("hasSymbols",!1,y("hasSymbols","Whether there are symbol locations that can be navigated via keyboard-only.")),$y=El("ISymbolNavigationService");let bC=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=H1.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 yC(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(G_(f.uri,a.uri))h=!0,g=g||z.containsPosition(f.range,c);else if(h)break;(!h||!g)&&this.reset()});this._currentState=PE(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)}};bC=YM([Lf(0,Yi),Lf(1,os),Lf(2,io),Lf(3,hs)],bC);Pl($y,bC,1);Mt(new class extends go{constructor(){super({id:"editor.gotoNextSymbolFromResult",precondition:H1,kbOpts:{weight:100,primary:70}})}runEditorCommand(o,e){return o.get($y).revealNext(e)}});$a.registerCommandAndKeybindingRule({id:"editor.gotoNextSymbolFromResult.cancel",weight:100,when:H1,primary:9,handler(o){o.get($y).reset()}});let yC=class{constructor(e){this._listener=new Map,this._disposables=new je,this._onDidChange=new mi,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(),Xs(this._listener.values())}_onDidAddEditor(e){this._listener.set(e,PE(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)}};yC=YM([Lf(0,os)],yC);function wC(o,e){return e.uri.scheme===o.uri.scheme?!0:!tO(e.uri,ro.walkThroughSnippet,ro.vscodeChatCodeBlock,ro.vscodeChatCodeCompareBlock)}async function Sm(o,e,t,i,n){const r=t.ordered(o,i).map(c=>Promise.resolve(n(c,o,e)).then(void 0,h=>{ss(h)})),a=await Promise.all(r);return vl(a.flat()).filter(c=>wC(o,c))}function Cm(o,e,t,i,n){return Sm(e,t,o,i,(s,r,a)=>s.provideDefinition(r,a,n))}function W1(o,e,t,i,n){return Sm(e,t,o,i,(s,r,a)=>s.provideDeclaration(r,a,n))}function B1(o,e,t,i,n){return Sm(e,t,o,i,(s,r,a)=>s.provideImplementation(r,a,n))}function z1(o,e,t,i,n){return Sm(e,t,o,i,(s,r,a)=>s.provideTypeDefinition(r,a,n))}function xm(o,e,t,i,n,s){return Sm(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=>wC(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=>wC(a,v));return g&&g.length===1?g:h})}async function qa(o){const e=await o(),t=new So(e,""),i=t.references.map(n=>n.link);return t.dispose(),i}fo("_executeDefinitionProvider",(o,e,t)=>{const i=o.get(Tt),n=Cm(i.definitionProvider,e,t,!1,_i.None);return qa(()=>n)});fo("_executeDefinitionProvider_recursive",(o,e,t)=>{const i=o.get(Tt),n=Cm(i.definitionProvider,e,t,!0,_i.None);return qa(()=>n)});fo("_executeTypeDefinitionProvider",(o,e,t)=>{const i=o.get(Tt),n=z1(i.typeDefinitionProvider,e,t,!1,_i.None);return qa(()=>n)});fo("_executeTypeDefinitionProvider_recursive",(o,e,t)=>{const i=o.get(Tt),n=z1(i.typeDefinitionProvider,e,t,!0,_i.None);return qa(()=>n)});fo("_executeDeclarationProvider",(o,e,t)=>{const i=o.get(Tt),n=W1(i.declarationProvider,e,t,!1,_i.None);return qa(()=>n)});fo("_executeDeclarationProvider_recursive",(o,e,t)=>{const i=o.get(Tt),n=W1(i.declarationProvider,e,t,!0,_i.None);return qa(()=>n)});fo("_executeReferenceProvider",(o,e,t)=>{const i=o.get(Tt),n=xm(i.referenceProvider,e,t,!1,!1,_i.None);return qa(()=>n)});fo("_executeReferenceProvider_recursive",(o,e,t)=>{const i=o.get(Tt),n=xm(i.referenceProvider,e,t,!1,!0,_i.None);return qa(()=>n)});fo("_executeImplementationProvider",(o,e,t)=>{const i=o.get(Tt),n=B1(i.implementationProvider,e,t,!1,_i.None);return qa(()=>n)});fo("_executeImplementationProvider_recursive",(o,e,t)=>{const i=o.get(Tt),n=B1(i.implementationProvider,e,t,!0,_i.None);return qa(()=>n)});Lr.appendMenuItem(ht.EditorContext,{submenu:ht.EditorContextPeek,title:y("peek.submenu","Peek"),group:"navigation",order:100});class Cg{static is(e){return!e||typeof e!="object"?!1:!!(e instanceof Cg||Pt.isIPosition(e.position)&&e.model)}constructor(e,t){this.model=e,this.position=t}}const cr=class cr extends ra{static all(){return cr._allSymbolNavigationCommands.values()}static _patchConfig(e){const t={...e,f1:!0};if(t.menu)for(const i of ul.wrap(t.menu))(i.id===ht.EditorContext||i.id===ht.EditorContextPeek)&&(i.when=ce.and(e.precondition,i.when));return t}constructor(e,t){super(cr._patchConfig(t)),this.configuration=e,cr._allSymbolNavigationCommands.set(t.id,this)}runEditorCommand(e,t,i,n){if(!t.hasModel())return Promise.resolve(void 0);const s=e.get(io),r=e.get(os),a=e.get(im),c=e.get($y),h=e.get(Tt),g=e.get(di),f=t.getModel(),p=t.getPosition(),v=Cg.is(i)?i:new Cg(f,p),_=new sg(t,5),w=em(this._getLocationModel(h,v.model,v.position,_.token),_.token).then(async S=>{var A;if(!S||_.token.isCancellationRequested)return;kr(S.ariaMessage);let D;if(S.referenceAt(f.uri,p)){const V=this._getAlternativeCommand(t);!cr._activeAlternativeCommands.has(V)&&cr._allSymbolNavigationCommands.has(V)&&(D=cr._allSymbolNavigationCommands.get(V))}const P=S.references.length;if(P===0){if(!this.configuration.muteMessage){const V=f.getWordAtPosition(p);(A=wo.get(t))==null||A.showMessage(this._getNoResultFoundMessage(V),p)}}else if(P===1&&D)cr._activeAlternativeCommands.add(this.desc.id),g.invokeFunction(V=>D.runEditorCommand(V,t,i,n).finally(()=>{cr._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 Dr)&&(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(iO(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=xh.get(e);n&&e.hasModel()?n.toggleWidget(i??e.getSelection(),Ds(s=>Promise.resolve(t)),this.configuration.openInPeek):t.dispose()}};cr._allSymbolNavigationCommands=new Map,cr._activeAlternativeCommands=new Set;let Ll=cr;class Lm extends Ll{async _getLocationModel(e,t,i,n){return new So(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 mc;mn((mc=class extends Lm{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:mc.id,title:{...xt("actions.goToDecl.label","Go to Definition"),mnemonicTitle:y({key:"miGotoDefinition",comment:["&& denotes a mnemonic"]},"Go to &&Definition")},precondition:R.hasDefinitionProvider,keybinding:[{when:R.editorTextFocus,primary:70,weight:100},{when:ce.and(R.editorTextFocus,TE),primary:2118,weight:100}],menu:[{id:ht.EditorContext,group:"navigation",order:1.1},{id:ht.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:2}]}),Pn.registerCommandAlias("editor.action.goToDeclaration",mc.id)}},mc.id="editor.action.revealDefinition",mc));var _c;mn((_c=class extends Lm{constructor(){super({openToSide:!0,openInPeek:!1,muteMessage:!1},{id:_c.id,title:xt("actions.goToDeclToSide.label","Open Definition to the Side"),precondition:ce.and(R.hasDefinitionProvider,R.isInEmbeddedEditor.toNegated()),keybinding:[{when:R.editorTextFocus,primary:ds(2089,70),weight:100},{when:ce.and(R.editorTextFocus,TE),primary:ds(2089,2118),weight:100}]}),Pn.registerCommandAlias("editor.action.openDeclarationToTheSide",_c.id)}},_c.id="editor.action.revealDefinitionAside",_c));var vc;mn((vc=class extends Lm{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:vc.id,title:xt("actions.previewDecl.label","Peek Definition"),precondition:ce.and(R.hasDefinitionProvider,co.notInPeekEditor,R.isInEmbeddedEditor.toNegated()),keybinding:{when:R.editorTextFocus,primary:582,linux:{primary:3140},weight:100},menu:{id:ht.EditorContextPeek,group:"peek",order:2}}),Pn.registerCommandAlias("editor.action.previewDeclaration",vc.id)}},vc.id="editor.action.peekDefinition",vc));class QM extends Ll{async _getLocationModel(e,t,i,n){return new So(await W1(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 Td;mn((Td=class extends QM{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:Td.id,title:{...xt("actions.goToDeclaration.label","Go to Declaration"),mnemonicTitle:y({key:"miGotoDeclaration",comment:["&& denotes a mnemonic"]},"Go to &&Declaration")},precondition:ce.and(R.hasDeclarationProvider,R.isInEmbeddedEditor.toNegated()),menu:[{id:ht.EditorContext,group:"navigation",order:1.3},{id:ht.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")}},Td.id="editor.action.revealDeclaration",Td));mn(class extends QM{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:"editor.action.peekDeclaration",title:xt("actions.peekDecl.label","Peek Declaration"),precondition:ce.and(R.hasDeclarationProvider,co.notInPeekEditor,R.isInEmbeddedEditor.toNegated()),menu:{id:ht.EditorContextPeek,group:"peek",order:3}})}});class JM extends Ll{async _getLocationModel(e,t,i,n){return new So(await z1(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 Md;mn((Md=class extends JM{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:Md.ID,title:{...xt("actions.goToTypeDefinition.label","Go to Type Definition"),mnemonicTitle:y({key:"miGotoTypeDefinition",comment:["&& denotes a mnemonic"]},"Go to &&Type Definition")},precondition:R.hasTypeDefinitionProvider,keybinding:{when:R.editorTextFocus,primary:0,weight:100},menu:[{id:ht.EditorContext,group:"navigation",order:1.4},{id:ht.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:3}]})}},Md.ID="editor.action.goToTypeDefinition",Md));var Nd;mn((Nd=class extends JM{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:Nd.ID,title:xt("actions.peekTypeDefinition.label","Peek Type Definition"),precondition:ce.and(R.hasTypeDefinitionProvider,co.notInPeekEditor,R.isInEmbeddedEditor.toNegated()),menu:{id:ht.EditorContextPeek,group:"peek",order:4}})}},Nd.ID="editor.action.peekTypeDefinition",Nd));class eN extends Ll{async _getLocationModel(e,t,i,n){return new So(await B1(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 Rd;mn((Rd=class extends eN{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:Rd.ID,title:{...xt("actions.goToImplementation.label","Go to Implementations"),mnemonicTitle:y({key:"miGotoImplementation",comment:["&& denotes a mnemonic"]},"Go to &&Implementations")},precondition:R.hasImplementationProvider,keybinding:{when:R.editorTextFocus,primary:2118,weight:100},menu:[{id:ht.EditorContext,group:"navigation",order:1.45},{id:ht.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:4}]})}},Rd.ID="editor.action.goToImplementation",Rd));var Ad;mn((Ad=class extends eN{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:Ad.ID,title:xt("actions.peekImplementation.label","Peek Implementations"),precondition:ce.and(R.hasImplementationProvider,co.notInPeekEditor,R.isInEmbeddedEditor.toNegated()),keybinding:{when:R.editorTextFocus,primary:3142,weight:100},menu:{id:ht.EditorContextPeek,group:"peek",order:5}})}},Ad.ID="editor.action.peekImplementation",Ad));class tN extends Ll{_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}}mn(class extends tN{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:"editor.action.goToReferences",title:{...xt("goToReferences.label","Go to References"),mnemonicTitle:y({key:"miGotoReference",comment:["&& denotes a mnemonic"]},"Go to &&References")},precondition:ce.and(R.hasReferenceProvider,co.notInPeekEditor,R.isInEmbeddedEditor.toNegated()),keybinding:{when:R.editorTextFocus,primary:1094,weight:100},menu:[{id:ht.EditorContext,group:"navigation",order:1.45},{id:ht.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:5}]})}async _getLocationModel(e,t,i,n){return new So(await xm(e.referenceProvider,t,i,!0,!1,n),y("ref.title","References"))}});mn(class extends tN{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:"editor.action.referenceSearch.trigger",title:xt("references.action.label","Peek References"),precondition:ce.and(R.hasReferenceProvider,co.notInPeekEditor,R.isInEmbeddedEditor.toNegated()),menu:{id:ht.EditorContextPeek,group:"peek",order:6}})}async _getLocationModel(e,t,i,n){return new So(await xm(e.referenceProvider,t,i,!1,!1,n),y("ref.title","References"))}});class T4 extends Ll{constructor(e,t,i){super(e,{id:"editor.action.goToLocation",title:xt("label.generic","Go to Any Symbol"),precondition:ce.and(co.notInPeekEditor,R.isInEmbeddedEditor.toNegated())}),this._references=t,this._gotoMultipleBehaviour=i}async _getLocationModel(e,t,i,n){return new So(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""}}Pn.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:bn},{name:"position",description:"The position at which to start",constraint:Pt.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)=>{tn(bn.isUri(e)),tn(Pt.isIPosition(t)),tn(Array.isArray(i)),tn(typeof n>"u"||typeof n=="string"),tn(typeof r>"u"||typeof r=="boolean");const a=o.get(os),c=await a.openCodeEditor({resource:e},a.getFocusedCodeEditor());if(ME(c))return c.setPosition(t),c.revealPositionInCenterIfOutsideViewport(t,0),c.invokeWithinContext(h=>{const g=new class extends T4{_getNoResultFoundMessage(f){return s||super._getNoResultFoundMessage(f)}}({muteMessage:!s,openInPeek:!!r,openToSide:!1},i,n);h.get(di).invokeFunction(g.run.bind(g),c)})}});Pn.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:bn},{name:"position",description:"The position at which to start",constraint:Pt.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(Cs).executeCommand("editor.action.goToLocations",e,t,i,n,void 0,!0)}});Pn.registerCommand({id:"editor.action.findReferences",handler:(o,e,t)=>{tn(bn.isUri(e)),tn(Pt.isIPosition(t));const i=o.get(Tt),n=o.get(os);return n.openCodeEditor({resource:e},n.getFocusedCodeEditor()).then(s=>{if(!ME(s)||!s.hasModel())return;const r=xh.get(s);if(!r)return;const a=Ds(h=>xm(i.referenceProvider,s.getModel(),Pt.lift(t),!1,!1,h).then(g=>new So(g,y("ref.title","References")))),c=new z(t.lineNumber,t.column,t.lineNumber,t.column);return Promise.resolve(r.toggleWidget(c,a,!1))})}});Pn.registerCommandAlias("editor.action.showReferences","editor.action.peekLocations");async function M4(o,e,t,i){const n=o.get(ha),s=o.get(Ag),r=o.get(Cs),a=o.get(di),c=o.get(io);if(await i.item.resolve(_i.None),!i.part.location)return;const h=i.part.location,g=[],f=new Set(Lr.getMenuItems(ht.EditorContext).map(v=>nO(v)?v.command.id:Fy()));for(const v of Ll.all())f.has(v.desc.id)&&g.push(new cg(v.desc.id,dg.label(v.desc,{renderShortTitle:!0}),void 0,!0,async()=>{const _=await n.createModelReference(h.uri);try{const w=new Cg(_.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 lp),g.push(new cg(v.id,v.title,void 0,!0,async()=>{try{await r.executeCommand(v.id,...v.arguments??[])}catch(_){c.notify({severity:Q0.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=lo(t);return{x:v.left,y:v.top+v.height+8}},getActions:()=>g,onHide:()=>{e.focus()},autoSelectFirstItem:!0})}async function iN(o,e,t,i){const s=await o.get(ha).createModelReference(i.uri);await t.invokeWithinContext(async r=>{const a=e.hasSideBySideModifier,c=r.get(Yi),h=co.inPeekEditor.getValue(c),g=!a&&t.getOption(89)&&!h;return new Lm({openToSide:a,openInPeek:g,muteMessage:!0},{title:{value:"",original:""},id:"",precondition:void 0}).run(r,new Cg(s.object.textEditorModel,z.getStartPosition(i.range)),z.lift(i.range))}),s.dispose()}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},Jh=function(o,e){return function(t,i){e(t,i,o)}},gu;class Sv{constructor(){this._entries=new sm(50)}get(e){const t=Sv._key(e);return this._entries.get(t)}set(e,t){const i=Sv._key(e);this._entries.set(i,t)}static _key(e){return`${e.uri.toString()}/${e.getVersionId()}`}}const nN=El("IInlayHintsCache");Pl(nN,Sv,1);class SC{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 R4{constructor(e,t){this.part=e,this.hasTriggerModifier=t}}var hl;let Ip=(hl=class{static get(e){return e.getContribution(gu.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 je,this._sessionDisposables=new je,this._decorationsMetadata=new Map,this._ruleFactory=new vE(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(sO.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(Rn(()=>{t.isDisposed()||this._cacheHintsForFastRestore(t)}));let n;const s=new Set,r=new _s(async()=>{const a=Date.now();n==null||n.dispose(!0),n=new Es;const c=t.onWillDispose(()=>n==null?void 0:n.cancel());try{const h=n.token,g=await _v.create(this._languageFeaturesService.inlayHintsProvider,t,this._getHintsRanges(),h);if(r.delay=this._debounceInfo.update(t,Date.now()-a),h.isCancellationRequested){g.dispose();return}for(const f of g.provider)typeof f.onDidChangeInlayHints=="function"&&!s.has(f)&&(s.add(f),this._sessionDisposables.add(f.onDidChangeInlayHints(()=>{r.isScheduled()||r.schedule()})));this._sessionDisposables.add(g),this._updateHintsDecorators(g.ranges,g.items),this._cacheHintsForFastRestore(t)}catch(h){Cn(h)}finally{n.dispose(),c.dispose()}},this._debounceInfo.get(t));this._sessionDisposables.add(r),this._sessionDisposables.add(Rn(()=>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 je,t=e.add(new Vy(this._editor)),i=new je;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 Es;i.add(Rn(()=>c.dispose(!0))),r.item.resolve(c.token),this._activeInlayHintPart=r.part.command||r.part.location?new R4(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(Rn(()=>{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(iN,n,this._editor,r.location):oO.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(_i.None),Oo(i.item.hint.textEdits))){const n=i.item.hint.textEdits.map(s=>Gn.replace(z.lift(s.range),s.text));this._editor.executeEdits("inlayHint.default",n),e()}})}_installContextMenu(){return this._editor.onContextMenu(async e=>{if(!rO(e.event.target))return;const t=this._getInlayHintLabelPart(e);t&&await this._instaService.invokeFunction(M4,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 J0&&(t==null?void 0:t.attachedData)instanceof SC)return t.attachedData}async _invokeCommand(e,t){try{await this._commandService.executeCommand(e.id,...e.arguments??[])}catch(i){this._notificationService.notify({severity:Q0.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 UM(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,A,V)=>{const H={content:P,inlineClassNameAffectsLetterSpacing:!0,inlineClassName:D.className,cursorStops:A,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?H:void 0}}})},s=(S,D)=>{const P=this._ruleFactory.createClassNameRef({width:`${r/3|0}px`,display:"inline-block"});n(S,P," ",D?vu.Right:vu.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>gu._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 A=D[P],V=P===0,H=P===D.length-1,J={fontSize:`${r}px`,fontFamily:`var(${g}), ${K0.fontFamily}`,verticalAlign:h?"baseline":"middle",unicodeBidi:"isolate"};Oo(S.hint.textEdits)&&(J.cursor="default"),this._fillInColors(J,S.hint),(A.command||A.location)&&((_=this._activeInlayHintPart)==null?void 0:_.part.item)===S&&this._activeInlayHintPart.part.index===P&&(J.textDecoration="underline",this._activeInlayHintPart.hasTriggerModifier&&(J.color=fs(aO),J.cursor="pointer")),c&&(V&&H?(J.padding=`1px ${Math.max(1,r/4)|0}px`,J.borderRadius=`${r/4|0}px`):V?(J.padding=`1px 0 1px ${Math.max(1,r/4)|0}px`,J.borderRadius=`${r/4|0}px 0 0 ${r/4|0}px`):H?(J.padding=`1px ${Math.max(1,r/4)|0}px 1px 0`,J.borderRadius=`0 ${r/4|0}px ${r/4|0}px 0`):J.padding="1px 0 1px 0");let X=A.label;f.totalLen+=X.length;let fe=!1;const Ie=f.totalLen-gu._MAX_LABEL_LEN;if(Ie>0&&(X=X.slice(0,-Ie)+"…",fe=!0),n(S,this._ruleFactory.createClassNameRef(J),A4(X),H&&!S.hint.paddingRight?vu.Right:vu.None,new SC(S,P)),fe)break}if(S.hint.paddingRight&&s(S,!0),i.length>gu._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(A=>A.containsRange(P))&&(p.push(S),D.classNameRef.dispose(),this._decorationsMetadata.delete(S))}const v=ag.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 A=i[P];this._decorationsMetadata.set(D[P],A)}}),v.restore(this._editor)}_fillInColors(e,t){t.kind===ek.Parameter?(e.backgroundColor=fs(lO),e.color=fs(cO)):t.kind===ek.Type?(e.backgroundColor=fs(dO),e.color=fs(hO)):(e.backgroundColor=fs(uO),e.color=fs(gO))}_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()}},gu=hl,hl.ID="editor.contrib.InlayHints",hl._MAX_DECORATORS=1500,hl._MAX_LABEL_LEN=43,hl);Ip=gu=N4([Jh(1,Tt),Jh(2,nr),Jh(3,nN),Jh(4,Cs),Jh(5,io),Jh(6,di)],Ip);function A4(o){return o.replace(/[ \t]/g," ")}Pn.registerCommand("_executeInlayHintProvider",async(o,...e)=>{const[t,i]=e;tn(bn.isUri(t)),tn(z.isIRange(i));const{inlayHintsProvider:n}=o.get(Tt),s=await o.get(ha).createModelReference(t);try{const r=await _v.create(n,s.object.textEditorModel,[z.lift(i)],_i.None),a=r.items.map(c=>c.hint);return setTimeout(()=>r.dispose(),0),a}finally{s.dispose()}});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},Bl=function(o,e){return function(t,i){e(t,i,o)}};class lI extends N_{constructor(e,t,i,n){super(10,t,e.item.anchor.range,i,n,!0),this.part=e}}let Cv=class extends Lp{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(!Ip.get(this._editor)||e.target.type!==6)return null;const i=(n=e.target.detail.injectedText)==null?void 0:n.options;return i instanceof J0&&i.attachedData instanceof SC?new lI(i.attachedData,this,e.event.posx,e.event.posy):null}computeSync(){return[]}computeAsync(e,t,i){return e instanceof lI?new ta(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 Gs().appendText(s.item.hint.tooltip):s.item.hint.tooltip&&(r=s.item.hint.tooltip),r&&n.emitOne(new yr(this,e.range,[r],!1,0)),Oo(s.item.hint.textEdits)&&n.emitOne(new yr(this,e.range,[new Gs().appendText(y("hint.dbl","Double-click to insert"))],!1,10001));let a;if(typeof s.part.tooltip=="string"?a=new Gs().appendText(s.part.tooltip):s.part.tooltip&&(a=s.part.tooltip),a&&n.emitOne(new yr(this,e.range,[a],!1,1)),s.part.location||s.part.command){let h;const f=this._editor.getOption(78)==="altKey"?za?y("links.navigate.kb.meta.mac","cmd + click"):y("links.navigate.kb.meta","ctrl + click"):za?y("links.navigate.kb.alt.mac","option + click"):y("links.navigate.kb.alt","alt + click");s.part.location&&s.part.command?h=new Gs().appendText(y("hint.defAndCommand","Go to Definition ({0}), right click for more",f)):s.part.location?h=new Gs().appendText(y("hint.def","Go to Definition ({0})",f)):s.part.command&&(h=new Gs(`[${y("hint.cmd","Execute Command")}](${d4(s.part.command)} "${s.part.command.title}") (${f})`,{isTrusted:!0})),h&&n.emitOne(new yr(this,e.range,[h],!1,1e4))}const c=await this._resolveInlayHintLabelPartHover(s,i);for await(const h of c)n.emitOne(h)}):ta.EMPTY}async _resolveInlayHintLabelPartHover(e,t){if(!e.part.location)return ta.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)?O1(this._languageFeaturesService.hoverProvider,r,new Pt(n.startLineNumber,n.startColumn),t).filter(a=>!cp(a.hover.contents)).map(a=>new yr(this,e.item.anchor.range,a.hover.contents,!1,2+a.ordinal)):ta.EMPTY}finally{s.dispose()}}};Cv=O4([Bl(1,da),Bl(2,la),Bl(3,hs),Bl(4,lm),Bl(5,On),Bl(6,ha),Bl(7,Tt),Bl(8,Cs)],Cv);class V1 extends $e{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}=V1.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 Pt(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 Pt(s,r);return{showAtPosition:c,showAtSecondaryPosition:h}}}class F4{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 kb=class kb extends $e{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 $e.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:kb._DECORATION_OPTIONS}]),Rn(()=>{n.clear()})}_renderParts(e,t,i,n){const s=new mv(n),r={fragment:this._fragment,statusBar:s,...i},a=new je;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})),Rn(()=>{a.dispose()})}_renderHoverPartsForParticipant(e,t,i){const n=e.filter(r=>r.owner===t);return n.length>0?t.renderHoverParts(i,n):new Ch([])}_renderStatusBar(e,t){if(t.hasContent)return new F4(e,t)}_registerListenersOnRenderedParts(){const e=new je;return this._renderedParts.forEach((t,i)=>{const n=t.hoverElement;n.tabIndex=0,e.add(Xi(n,Un.FOCUS_IN,s=>{s.stopPropagation(),this._focusedHoverPartIndex=i})),e.add(Xi(n,Un.FOCUS_OUT,s=>{s.stopPropagation(),this._focusedHoverPartIndex=-1}))}),e}_updateMarkdownAndColorParticipantInfo(e){const t=e.find(i=>i instanceof Lp&&!(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 hg;return t-s}get domNode(){return this._fragment}get domNodeHasChildren(){return this._fragment.hasChildNodes()}get focusedHoverPartIndex(){return this._focusedHoverPartIndex}};kb._DECORATION_OPTIONS=Ai.register({description:"content-hover-highlight",className:"hoverHighlight"});let CC=kb;var H4=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},cI=function(o,e){return function(t,i){e(t,i,o)}};let xC=class extends $e{constructor(e,t,i){super(),this._editor=e,this._instantiationService=t,this._keybindingService=i,this._currentResult=null,this._onContentsChanged=this._register(new mi),this.onContentsChanged=this._onContentsChanged.event,this._contentHoverWidget=this._register(this._instantiationService.createInstance(dC,this._editor)),this._participants=this._initializeHoverParticipants(),this._computer=new pv(this._editor,this._participants),this._hoverOperation=this._register(new WM(this._editor,this._computer)),this._registerListeners()}_initializeHoverParticipants(){const e=[];for(const t of Fh.getAll()){const i=this._instantiationService.createInstance(t,this._editor);e.push(i)}return e.sort((t,i)=>t.hoverOrdinal-i.hoverOrdinal),this._register(this._contentHoverWidget.onDidResize(()=>{this._participants.forEach(t=>{var i;return(i=t.handleResize)==null?void 0:i.call(t)})})),e}_registerListeners(){this._register(this._hoverOperation.onResult(t=>{if(!this._computer.anchor)return;const i=t.hasLoadingMessage?this._addLoadingMessage(t.value):t.value;this._withResult(new BM(this._computer.anchor,i,t.isComplete))}));const e=this._contentHoverWidget.getDomNode();this._register(yl(e,"keydown",t=>{t.equals(9)&&this.hide()})),this._register(yl(e,"mouseleave",t=>{this._onMouseLeave(t)})),this._register(by.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 V1(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 Rw(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 Rw(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||!zy(t,e.x,e.y))&&this.hide()}startShowingAtRange(e,t,i,n){this._startShowingOrUpdateHover(new Rw(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}};xC=H4([cI(1,di),cI(2,hs)],xC);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},dI=function(o,e){return function(t,i){e(t,i,o)}},LC,Od;let $s=(Od=class extends $e{constructor(e,t,i){super(),this._editor=e,this._instantiationService=t,this._keybindingService=i,this._onHoverContentsChanged=this._register(new mi),this.shouldKeepOpenOnEditorMouseMoveOrLeave=!1,this._listenersStore=new je,this._hoverState={mouseDown:!1,activatedByDecoratorClick:!1},this._reactToEditorMouseMoveRunner=this._register(new _s(()=>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(LC.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?zy(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===AM||t.commandId===Wy||t.commandId===By)&&((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)||Sg.dropDownVisible||(this._hoverState.activatedByDecoratorClick=!1,(t=this._contentWidget)==null||t.hide())}_getOrCreateContentWidget(){return this._contentWidget||(this._contentWidget=this._instantiationService.createInstance(xC,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()}},LC=Od,Od.ID="editor.contrib.contentHover",Od);$s=LC=W4([dI(1,di),dI(2,hs)],$s);const DL=class DL extends $e{constructor(e){super(),this._editor=e,this._register(e.onMouseDown(t=>this.onMouseDown(t)))}dispose(){super.dispose()}onMouseDown(e){const t=this._editor.getOption(149);if(t!=="click"&&t!=="clickAndHover")return;const i=e.target;if(i.type!==6||!i.detail.injectedText||i.detail.injectedText.options.attachedData!==DM||!i.range)return;const n=this._editor.getContribution($s.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)}}};DL.ID="editor.contrib.colorContribution";let xv=DL;wi(xv.ID,xv,2);Fh.register(Cp);var sN=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Cu=function(o,e){return function(t,i){e(t,i,o)}},kC,IC,Fd;let Lh=(Fd=class extends $e{constructor(e,t,i){super(),this._editor=e,this._instantiationService=i,this._standaloneColorPickerWidget=null,this._standaloneColorPickerVisible=R.standaloneColorPickerVisible.bindTo(t),this._standaloneColorPickerFocused=R.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(DC,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(kC.ID)}},kC=Fd,Fd.ID="editor.contrib.standaloneColorPickerController",Fd);Lh=kC=sN([Cu(1,Yi),Cu(2,di)],Lh);wi(Lh.ID,Lh,1);const hI=8,B4=22;var Hd;let DC=(Hd=class extends $e{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 mi),this.onResult=this._onResult.event,this._standaloneColorPickerVisible.set(!0),this._standaloneColorPickerParticipant=n.createInstance(xp,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(og(this._body));this._register(g.onDidBlur(p=>{this.hide()})),this._register(g.onDidFocus(p=>{this.focus()})),this._register(this._editor.onDidChangeCursorPosition(()=>{this._selectionSetInEditor?this._selectionSetInEditor=!1:this.hide()})),this._register(this._editor.onMouseMove(p=>{var _;const v=(_=p.target.element)==null?void 0:_.classList;v&&v.contains("colorpicker-color-decoration")&&this.hide()})),this._register(this.onResult(p=>{this._render(p.value,p.foundInEditor)})),this._start(h),this._body.style.zIndex="50",this._editor.addContentWidget(this)}updateEditor(){this._colorHover&&this._standaloneColorPickerParticipant.updateEditorModel(this._colorHover)}getId(){return IC.ID}getDomNode(){return this._body}getPosition(){if(!this._position)return null;const e=this._editor.getOption(60).above;return{position:this._position,secondaryPosition:this._position,preference:e?[1,2]:[2,1],positionAffinity:2}}hide(){this.dispose(),this._standaloneColorPickerVisible.set(!1),this._standaloneColorPickerFocused.set(!1),this._editor.removeContentWidget(this),this._editor.focus()}focus(){this._standaloneColorPickerFocused.set(!0),this._body.focus()}async _start(e){const t=await this._computeAsync(e);t&&this._onResult.fire(new z4(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 Sp(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 mv(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-B4-hI,f=a.body.enterButton;f==null||f.onClicked(()=>{this.updateEditor(),this.hide()});const p=a.header,v=p.pickedColorNode;v.style.width=h+hI+"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)}},IC=Hd,Hd.ID="editor.contrib.standaloneColorPickerWidget",Hd);DC=IC=sN([Cu(3,di),Cu(4,hs),Cu(5,Tt),Cu(6,Tl)],DC);class z4{constructor(e,t){this.value=e,this.foundInEditor=t}}class V4 extends ra{constructor(){super({id:"editor.action.showOrFocusStandaloneColorPicker",title:{...xt("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:ht.CommandPalette}],metadata:{description:xt("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=Lh.get(t))==null||i.showOrFocus()}}class j4 extends we{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:R.standaloneColorPickerVisible.isEqualTo(!0),kbOpts:{primary:9,weight:100},metadata:{description:xt("hideColorPickerDescription","Hide the standalone color picker.")}})}run(e,t){var i;(i=Lh.get(t))==null||i.hide()}}class U4 extends we{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:R.standaloneColorPickerFocused.isEqualTo(!0),kbOpts:{primary:3,weight:100},metadata:{description:xt("insertColorWithStandaloneColorPickerDescription","Insert hex/rgb/hsl colors with the focused standalone color picker.")}})}run(e,t){var i;(i=Lh.get(t))==null||i.insertColor()}}se(j4);se(U4);mn(V4);class nc{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=nc._createRemoveBlockCommentOperations(new z(a,v+t.length+1,h,_+1),t,i)):(w=nc._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(Gn.delete(new z(e.startLineNumber,e.startColumn-t.length,e.endLineNumber,e.endColumn+i.length))):(n.push(Gn.delete(new z(e.startLineNumber,e.startColumn-t.length,e.startLineNumber,e.startColumn))),n.push(Gn.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(Gn.replace(new z(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn),t+" "+i)):(s.push(Gn.insert(new Pt(e.startLineNumber,e.startColumn),t+(n?" ":""))),s.push(Gn.insert(new Pt(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 Kt(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 Kt(n.endLineNumber,n.endColumn+s,n.endLineNumber,n.endColumn+s)}}}class el{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=pS(w);if(S===-1){v.ignore=r,v.commentStrOffset=w.length;continue}if(h=!1,v.ignore=!1,v.commentStrOffset=S,g&&!nc._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=el._gatherPreflightCommentStrings(i,n,s,c);return h===null?{supported:!1}:el._analyzeLines(e,t,i,h,n,r,a,c)}_executeLineComments(e,t,i,n){let s;i.shouldRemoveComments?s=el._createRemoveLineCommentsOperations(i.lines,n.startLineNumber):(el._normalizeInsertionPoint(e,i.lines,n.startLineNumber,this._indentSize),s=this._createAddLineCommentsOperations(i.lines,n.startLineNumber));const r=new Pt(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?nc._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=pS(h);g===-1&&(g=h.length),c=nc._createAddBlockCommentOperations(new z(i.startLineNumber,g+1,i.startLineNumber,h.length+1),r,a,this._insertSpace)}else c=nc._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=el._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 Kt(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(Gn.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(Gn.insert(new Pt(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=el.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=el.nextVisibleColumn(f,n,g.charCodeAt(r)===9,1);f>s?t[c].commentStrOffset=r-1:t[c].commentStrOffset=r}}}class j1 extends we{constructor(e,t){super(t),this._type=e}run(e,t){const i=e.get(xs);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 el(i,g.selection,r.indentSize,this._type,a.insertSpace,a.ignoreEmptyLines,g.ignoreFirstLine));t.pushUndoStop(),t.executeCommands(this.id,s),t.pushUndoStop()}}class $4 extends j1{constructor(){super(0,{id:"editor.action.commentLine",label:y("comment.line","Toggle Line Comment"),alias:"Toggle Line Comment",precondition:R.writable,kbOpts:{kbExpr:R.editorTextFocus,primary:2138,weight:100},menuOpts:{menuId:ht.MenubarEditMenu,group:"5_insert",title:y({key:"miToggleLineComment",comment:["&& denotes a mnemonic"]},"&&Toggle Line Comment"),order:1}})}}class q4 extends j1{constructor(){super(1,{id:"editor.action.addCommentLine",label:y("comment.line.add","Add Line Comment"),alias:"Add Line Comment",precondition:R.writable,kbOpts:{kbExpr:R.editorTextFocus,primary:ds(2089,2081),weight:100}})}}class K4 extends j1{constructor(){super(2,{id:"editor.action.removeCommentLine",label:y("comment.line.remove","Remove Line Comment"),alias:"Remove Line Comment",precondition:R.writable,kbOpts:{kbExpr:R.editorTextFocus,primary:ds(2089,2099),weight:100}})}}class G4 extends we{constructor(){super({id:"editor.action.blockComment",label:y("comment.block","Toggle Block Comment"),alias:"Toggle Block Comment",precondition:R.writable,kbOpts:{kbExpr:R.editorTextFocus,primary:1567,linux:{primary:3103},weight:100},menuOpts:{menuId:ht.MenubarEditMenu,group:"5_insert",title:y({key:"miToggleBlockComment",comment:["&& denotes a mnemonic"]},"Toggle &&Block Comment"),order:2}})}run(e,t){const i=e.get(xs);if(!t.hasModel())return;const n=t.getOption(23),s=[],r=t.getSelections();for(const a of r)s.push(new nc(a,n.insertSpace,i));t.pushUndoStop(),t.executeCommands(this.id,s),t.pushUndoStop()}}se($4);se(q4);se(K4);se(G4);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},Kc=function(o,e){return function(t,i){e(t,i,o)}},EC,Wd;let xg=(Wd=class{static get(e){return e.getContribution(EC.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 je,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&&fO(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 pO){const h=this._getMenuActions(e,c.item.submenu);h.length>0&&(i.push(new tk(c.id,c.label,h)),a++)}else i.push(c),a++;a&&i.push(new lp)}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=lo(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)&&!mS;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 gS(r,r,{label:!0,keybinding:a.getLabel(),isMenu:!0});const c=r;return typeof c.getActionViewItem=="function"?c.getActionViewItem():new gS(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()||mO(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 tk(`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 lp),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)&&!mS;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()}},EC=Wd,Wd.ID="editor.contrib.contextmenu",Wd);xg=EC=Z4([Kc(1,Ag),Kc(2,uy),Kc(3,Yi),Kc(4,hs),Kc(5,Th),Kc(6,On),Kc(7,ng)],xg);class X4 extends we{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:R.textInputFocus,primary:1092,weight:100}})}run(e,t){var i;(i=xg.get(t))==null||i.showContextMenu()}}wi(xg.ID,xg,2);se(X4);class Ow{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 Fw{constructor(e,t,i){this.cursorState=e,this.scrollTop=t,this.scrollLeft=i}}const Ib=class Ib extends $e{static get(e){return e.getContribution(Ib.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 Ow(t.oldSelections);this._undoStack.length>0&&this._undoStack[this._undoStack.length-1].cursorState.equals(i)||(this._undoStack.push(new Fw(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 Fw(new Ow(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 Fw(new Ow(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}};Ib.ID="editor.contrib.cursorUndoRedoController";let Lg=Ib;class Y4 extends we{constructor(){super({id:"cursorUndo",label:y("cursor.undo","Cursor Undo"),alias:"Cursor Undo",precondition:void 0,kbOpts:{kbExpr:R.textInputFocus,primary:2099,weight:100}})}run(e,t,i){var n;(n=Lg.get(t))==null||n.cursorUndo()}}class Q4 extends we{constructor(){super({id:"cursorRedo",label:y("cursor.redo","Cursor Redo"),alias:"Cursor Redo",precondition:void 0})}run(e,t,i){var n;(n=Lg.get(t))==null||n.cursorRedo()}}wi(Lg.ID,Lg,0);se(Y4);se(Q4);class J4{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 Kt(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 Kt(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 Kt(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 Kt(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 Kt(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 eu(o){return za?o.altKey:o.ctrlKey}const Kl=class Kl extends $e{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)||(eu(e)&&(this._modifierPressed=!0),this._mouseDown&&eu(e)&&this._editor.updateOptions({mouseStyle:"copy"}))}onEditorKeyUp(e){!this._editor.getOption(35)||this._editor.getOption(22)||(eu(e)&&(this._modifierPressed=!1),this._mouseDown&&e.keyCode===Kl.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}eu(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 Pt(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 Kt(s,r,t.lineNumber,t.column)]}}else i=(this._editor.getSelections()||[]).map(n=>n.containsPosition(t)?new Kt(t.lineNumber,t.column,t.lineNumber,t.column):n);this._editor.setSelections(i||[],"mouse",3)}else(!this._dragSelection.containsPosition(t)||(eu(e.event)||this._modifierPressed)&&(this._dragSelection.getEndPosition().equals(t)||this._dragSelection.getStartPosition().equals(t)))&&(this._editor.pushUndoStop(),this._editor.executeCommand(Kl.ID,new J4(this._dragSelection,t,eu(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:Kl._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()}};Kl.ID="editor.contrib.dragAndDrop",Kl.TRIGGER_KEY_VALUE=za?6:5,Kl._DECORATION_OPTIONS=Ai.register({description:"dnd-target",className:"dnd-target"});let Lv=Kl;wi(Lv.ID,Lv,2);wi(xl.ID,xl,0);Hg(US);Mt(new class extends go{constructor(){super({id:aM,precondition:E1,kbOpts:{weight:100,primary:2137}})}runEditorCommand(o,e){var t;return(t=xl.get(e))==null?void 0:t.changePasteType()}});Mt(new class extends go{constructor(){super({id:"editor.hidePasteWidget",precondition:E1,kbOpts:{weight:100,primary:9}})}runEditorCommand(o,e){var t;(t=xl.get(e))==null||t.clearWidgets()}});var Bd;se((Bd=class extends we{constructor(){super({id:"editor.action.pasteAs",label:y("pasteAs","Paste As..."),alias:"Paste As...",precondition:R.writable,metadata:{description:"Paste as",args:[{name:"args",schema:Bd.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=xl.get(t))==null?void 0:s.pasteAs(n?new An(n):void 0)}},Bd.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.")}}},Bd));se(class extends we{constructor(){super({id:"editor.action.pasteAsText",label:y("pasteAsText","Paste as Text"),alias:"Paste as Text",precondition:R.writable})}run(o,e){var t;return(t=xl.get(e))==null?void 0:t.pasteAs({providerId:vh.id})}});class ez{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 uI{constructor(e){this.identifier=e}}const oN=El("treeViewsDndService");Pl(oN,ez,1);var tz=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Ym=function(o,e){return function(t,i){e(t,i,o)}},PC;const rN="editor.experimental.dropIntoEditor.defaultProvider",aN="editor.changeDropType",U1=new Bi("dropWidgetVisible",!1,y("dropWidgetVisible","Whether the drop widget is showing"));var zd;let kg=(zd=class extends $e{static get(e){return e.getContribution(PC.ID)}constructor(e,t,i,n,s){super(),this._configService=i,this._languageFeaturesService=n,this._treeViewsDragAndDropService=s,this.treeItemsTransfer=VS.getInstance(),this._dropProgressManager=this._register(t.createInstance(uv,"dropIntoEditor",e)),this._postDropWidgetManager=this._register(t.createInstance(fv,"dropIntoEditor",e,U1,{id:aN,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=Ds(async r=>{const a=new je,c=a.add(new sg(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 je,a=await em(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=vl(a??[]).flat();return{edits:oM(c),dispose:()=>r.dispose()}}getInitialActiveEditIndex(e,t){const i=this._configService.getValue(rN,{resource:e.uri});for(const[n,s]of Object.entries(i)){const r=new An(s),a=t.findIndex(c=>r.value===c.providerId&&c.handledMimeType&&XT(n,[c.handledMimeType]));if(a>=0)return a}return 0}async extractDataTransferData(e){if(!e.dataTransfer)return new ZT;const t=JT(e.dataTransfer);if(this.treeItemsTransfer.hasData(uI.prototype)){const i=this.treeItemsTransfer.getData(uI.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}},PC=zd,zd.ID="editor.contrib.dropIntoEditorController",zd);kg=PC=tz([Ym(1,di),Ym(2,On),Ym(3,Tt),Ym(4,oN)],kg);wi(kg.ID,kg,2);Hg(jS);Mt(new class extends go{constructor(){super({id:aN,precondition:U1,kbOpts:{weight:100,primary:2137}})}runEditorCommand(o,e,t){var i;(i=kg.get(e))==null||i.changeDropType()}});Mt(new class extends go{constructor(){super({id:"editor.hideDropWidget",precondition:U1,kbOpts:{weight:100,primary:9}})}runEditorCommand(o,e,t){var i;(i=kg.get(e))==null||i.clearWidgets()}});aa.as(nm.Configuration).registerConfiguration({...fy,properties:{[rN]:{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 zs=class zs{constructor(e){this._editor=e,this._decorations=[],this._overviewRulerApproximateDecorations=[],this._findScopeDecorationIds=[],this._rangeHighlightDecorationId=null,this._highlightedDecorationId=null,this._startPosition=this._editor.getPosition()}dispose(){this._editor.removeDecorations(this._allDecorations()),this._decorations=[],this._overviewRulerApproximateDecorations=[],this._findScopeDecorationIds=[],this._rangeHighlightDecorationId=null,this._highlightedDecorationId=null}reset(){this._decorations=[],this._overviewRulerApproximateDecorations=[],this._findScopeDecorationIds=[],this._rangeHighlightDecorationId=null,this._highlightedDecorationId=null}getCount(){return this._decorations.length}getFindScope(){return this._findScopeDecorationIds[0]?this._editor.getModel().getDecorationRange(this._findScopeDecorationIds[0]):null}getFindScopes(){if(this._findScopeDecorationIds.length){const e=this._findScopeDecorationIds.map(t=>this._editor.getModel().getDecorationRange(t)).filter(t=>!!t);if(e.length)return e}return null}getStartPosition(){return this._startPosition}setStartPosition(e){this._startPosition=e,this.setCurrentFindMatch(null)}_getDecorationIndex(e){const t=this._decorations.indexOf(e);return t>=0?t+1:1}getDecorationRangeAt(e){const t=e<this._decorations.length?this._decorations[e]:null;return t?this._editor.getModel().getDecorationRange(t):null}getCurrentMatchesPosition(e){const t=this._editor.getModel().getDecorationsInRange(e);for(const i of t){const n=i.options;if(n===zs._FIND_MATCH_DECORATION||n===zs._CURRENT_FIND_MATCH_DECORATION)return this._getDecorationIndex(i.id)}return 0}setCurrentFindMatch(e){let t=null,i=0;if(e)for(let n=0,s=this._decorations.length;n<s;n++){const r=this._editor.getModel().getDecorationRange(this._decorations[n]);if(e.equalsRange(r)){t=this._decorations[n],i=n+1;break}}return(this._highlightedDecorationId!==null||t!==null)&&this._editor.changeDecorations(n=>{if(this._highlightedDecorationId!==null&&(n.changeDecorationOptions(this._highlightedDecorationId,zs._FIND_MATCH_DECORATION),this._highlightedDecorationId=null),t!==null&&(this._highlightedDecorationId=t,n.changeDecorationOptions(this._highlightedDecorationId,zs._CURRENT_FIND_MATCH_DECORATION)),this._rangeHighlightDecorationId!==null&&(n.removeDecoration(this._rangeHighlightDecorationId),this._rangeHighlightDecorationId=null),t!==null){let s=this._editor.getModel().getDecorationRange(t);if(s.startLineNumber!==s.endLineNumber&&s.endColumn===1){const r=s.endLineNumber-1,a=this._editor.getModel().getLineMaxColumn(r);s=new z(s.startLineNumber,s.startColumn,r,a)}this._rangeHighlightDecorationId=n.addDecoration(s,zs._RANGE_HIGHLIGHT_DECORATION)}}),i}set(e,t){this._editor.changeDecorations(i=>{let n=zs._FIND_MATCH_DECORATION;const s=[];if(e.length>1e3){n=zs._FIND_MATCH_NO_OVERVIEW_DECORATION;const a=this._editor.getModel().getLineCount(),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:zs._FIND_MATCH_ONLY_OVERVIEW_DECORATION}),f=w.startLineNumber,p=w.endLineNumber)}s.push({range:new z(f,1,p,1),options:zs._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,zs._FIND_SCOPE_DECORATION)))})}matchBeforePosition(e){if(this._decorations.length===0)return null;for(let t=this._decorations.length-1;t>=0;t--){const i=this._decorations[t],n=this._editor.getModel().getDecorationRange(i);if(!(!n||n.endLineNumber>e.lineNumber)){if(n.endLineNumber<e.lineNumber)return n;if(!(n.endColumn>e.column))return n}}return this._editor.getModel().getDecorationRange(this._decorations[this._decorations.length-1])}matchAfterPosition(e){if(this._decorations.length===0)return null;for(let t=0,i=this._decorations.length;t<i;t++){const n=this._decorations[t],s=this._editor.getModel().getDecorationRange(n);if(!(!s||s.startLineNumber<e.lineNumber)){if(s.startLineNumber>e.lineNumber)return s;if(!(s.startColumn<e.column))return s}}return this._editor.getModel().getDecorationRange(this._decorations[0])}_allDecorations(){let e=[];return e=e.concat(this._decorations),e=e.concat(this._overviewRulerApproximateDecorations),this._findScopeDecorationIds.length&&e.push(...this._findScopeDecorationIds),this._rangeHighlightDecorationId&&e.push(this._rangeHighlightDecorationId),e}};zs._CURRENT_FIND_MATCH_DECORATION=Ai.register({description:"current-find-match",stickiness:1,zIndex:13,className:"currentFindMatch",inlineClassName:"currentFindMatchInline",showIfCollapsed:!0,overviewRuler:{color:fs(pw),position:Oa.Center},minimap:{color:fs(ik),position:1}}),zs._FIND_MATCH_DECORATION=Ai.register({description:"find-match",stickiness:1,zIndex:10,className:"findMatch",inlineClassName:"findMatchInline",showIfCollapsed:!0,overviewRuler:{color:fs(pw),position:Oa.Center},minimap:{color:fs(ik),position:1}}),zs._FIND_MATCH_NO_OVERVIEW_DECORATION=Ai.register({description:"find-match-no-overview",stickiness:1,className:"findMatch",showIfCollapsed:!0}),zs._FIND_MATCH_ONLY_OVERVIEW_DECORATION=Ai.register({description:"find-match-only-overview",stickiness:1,overviewRuler:{color:fs(pw),position:Oa.Center}}),zs._RANGE_HIGHLIGHT_DECORATION=Ai.register({description:"find-range-highlight",stickiness:1,className:"rangeHighlight",isWholeLine:!0}),zs._FIND_SCOPE_DECORATION=Ai.register({description:"find-scope",className:"findScope",isWholeLine:!0});let TC=zs;class iz{constructor(e,t,i){this._editorSelection=e,this._ranges=t,this._replaceStrings=i,this._trackedEditorSelectionId=null}getEditOperations(e,t){if(this._ranges.length>0){const i=[];for(let r=0;r<this._ranges.length;r++)i.push({range:this._ranges[r],text:this._replaceStrings[r]});i.sort((r,a)=>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 lN(o,e){if(o&&o[0]!==""){const t=gI(o,e,"-"),i=gI(o,e,"_");return t&&!i?fI(o,e,"-"):!t&&i?fI(o,e,"_"):o[0].toUpperCase()===o[0]?e.toUpperCase():o[0].toLowerCase()===o[0]?e.toLowerCase():_O(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 gI(o,e,t){return o[0].indexOf(t)!==-1&&e.indexOf(t)!==-1&&o[0].split(t).length===e.split(t).length}function fI(o,e,t){const i=e.split(t),n=o[0].split(t);let s="";return i.forEach((r,a)=>{s+=lN([n[a]],r)+t}),s.slice(0,-1)}class pI{constructor(e){this.staticValue=e,this.kind=0}}class nz{constructor(e){this.pieces=e,this.kind=1}}class Ig{static fromStaticValue(e){return new Ig([Sd.staticValue(e)])}get hasReplacementPatterns(){return this._state.kind===1}constructor(e){!e||e.length===0?this._state=new pI(""):e.length===1&&e[0].staticValue!==null?this._state=new pI(e[0].staticValue):this._state=new nz(e)}buildReplaceString(e,t){if(this._state.kind===0)return t?lN(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=Ig._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 Sd{static staticValue(e){return new Sd(e,-1,null)}static caseOps(e,t){return new Sd(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 sz{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++]=Sd.staticValue(this._currentStaticPiece),this._currentStaticPiece=""),this._result[this._resultLen++]=Sd.caseOps(e,i),this._lastCharIndex=t}finalize(){return this.emitUnchanged(this._source.length),this._currentStaticPiece.length!==0&&(this._result[this._resultLen++]=Sd.staticValue(this._currentStaticPiece),this._currentStaticPiece=""),new Ig(this._result)}}function oz(o){if(!o||o.length===0)return new Ig(null);const e=[],t=new sz(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 Rl=new Bi("findWidgetVisible",!1);Rl.toNegated();const qy=new Bi("findInputFocussed",!1),$1=new Bi("replaceInputFocussed",!1),Qm={primary:545,mac:{primary:2593}},Jm={primary:565,mac:{primary:2613}},e_={primary:560,mac:{primary:2608}},t_={primary:554,mac:{primary:2602}},i_={primary:558,mac:{primary:2606}},Sn={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"},sc=19999,rz=240;class $f{constructor(e,t){this._toDispose=new je,this._editor=e,this._state=t,this._isDisposed=!1,this._startSearchingTimer=new tm,this._decorations=new TC(e),this._toDispose.add(this._decorations),this._updateDecorationsScheduler=new _s(()=>{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,Xs(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)},rz)):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,sc);this._decorations.set(n,i);const s=this._editor.getSelection();let r=this._decorations.getCurrentMatchesPosition(s);if(r===0&&n.length>0){const a=NE(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 Pt(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()<sc){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=$f._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 Pt(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 Pt(i,n)}_moveToNextMatch(e){if(!this._state.canNavigateForward()){const i=this._decorations.matchBeforePosition(e);i&&this._setCurrentFindMatch(i);return}if(this._decorations.getCount()<sc){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=$f._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 Pt(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?oz(this._state.replaceString):Ig.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 Jp(t,n);this._executeEditorCommand("replace",s),this._decorations.setStartPosition(new Pt(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=>$f._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>=sc?this._largeReplaceAll():this._regularReplaceAll(e),this.research(!1)}_largeReplaceAll(){const t=new vO(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 RE(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 iz(this._editor.getSelection(),i.map(r=>r.range),n);this._executeEditorCommand("replaceAll",s)}selectAllMatches(){if(!this._hasMatches())return;const e=this._decorations.getFindScopes();let i=this._findMatches(e,!1,1073741824).map(s=>new Kt(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 Db=class Db extends om{constructor(e,t,i){super(),this._hideSoon=this._register(new _s(()=>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:fd(OE),inputActiveOptionForeground:fd(AE),inputActiveOptionBackground:fd(U0)},s=this._register(_S());this.caseSensitive=this._register(new bO({appendTitle:this._keybindingLabelFor(Sn.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 yO({appendTitle:this._keybindingLabelFor(Sn.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 wO({appendTitle:this._keybindingLabelFor(Sn.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(Xi(this._domNode,Un.MOUSE_LEAVE,r=>this._onMouseLeave())),this._register(Xi(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 Db.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")}};Db.ID="editor.contrib.findOptionsWidget";let MC=Db;function n_(o,e){return o===1?!0:o===2?!1:e}class az extends $e{get searchString(){return this._searchString}get replaceString(){return this._replaceString}get isRevealed(){return this._isRevealed}get isReplaceRevealed(){return this._isReplaceRevealed}get isRegex(){return n_(this._isRegexOverride,this._isRegex)}get wholeWord(){return n_(this._wholeWordOverride,this._wholeWord)}get matchCase(){return n_(this._matchCaseOverride,this._matchCase)}get preserveCase(){return n_(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 mi),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>=sc}}const lz=y("defaultLabel","input"),cz=y("label.preserveCaseToggle","Preserve Case");class dz extends FE{constructor(e){super({icon:Jt.preserveCase,title:cz+e.appendTitle,isChecked:e.isChecked,hoverDelegate:e.hoverDelegate??yy("element"),inputActiveOptionBorder:e.inputActiveOptionBorder,inputActiveOptionForeground:e.inputActiveOptionForeground,inputActiveOptionBackground:e.inputActiveOptionBackground})}}class hz extends om{constructor(e,t,i,n){super(),this._showOptionButtons=i,this.fixFocusOnOptionClickEnabled=!0,this.cachedOptionsWidth=0,this._onDidOptionChange=this._register(new mi),this.onDidOptionChange=this._onDidOptionChange.event,this._onKeyDown=this._register(new mi),this.onKeyDown=this._onKeyDown.event,this._onMouseDown=this._register(new mi),this._onInput=this._register(new mi),this._onKeyUp=this._register(new mi),this._onPreserveCaseKeyDown=this._register(new mi),this.onPreserveCaseKeyDown=this._onPreserveCaseKeyDown.event,this.contextViewProvider=t,this.placeholder=n.placeholder||"",this.validation=n.validation,this.label=n.label||lz;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 SO(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 dz({appendTitle:s,isChecked:!1,...n.toggleStyles})),this._register(this.preserveCase.onChange(p=>{this._onDidOptionChange.fire(p),!p&&this.fixFocusOnOptionClickEnabled&&this.inputBox.focus(),this.validate()})),this._register(this.preserveCase.onKeyDown(p=>{this._onPreserveCaseKeyDown.fire(p)})),this._showOptionButtons?this.cachedOptionsWidth=this.preserveCase.width():this.cachedOptionsWidth=0;const g=[this.preserveCase.domNode];this.onkeydown(this.domNode,p=>{if(p.equals(15)||p.equals(17)||p.equals(9)){const v=g.indexOf(this.domNode.ownerDocument.activeElement);if(v>=0){let _=-1;p.equals(17)?_=(v+1)%g.length:p.equals(15)&&(v===0?_=g.length-1:_=v-1),p.equals(9)?(g[v].blur(),this.inputBox.focus()):_>=0&&g[_].focus(),X_.stop(p,!0)}}});const f=document.createElement("div");f.className="controls",f.style.display=this._showOptionButtons?"block":"none",f.appendChild(this.preserveCase.domNode),this.domNode.appendChild(f),e==null||e.appendChild(this.domNode),this.onkeydown(this.inputBox.inputElement,p=>this._onKeyDown.fire(p)),this.onkeyup(this.inputBox.inputElement,p=>this._onKeyUp.fire(p)),this.oninput(this.inputBox.inputElement,p=>this._onInput.fire()),this.onmousedown(this.inputBox.inputElement,p=>this._onMouseDown.fire(p))}enable(){this.domNode.classList.remove("disabled"),this.inputBox.enable(),this.preserveCase.enable()}disable(){this.domNode.classList.add("disabled"),this.inputBox.disable(),this.preserveCase.disable()}setEnabled(e){e?this.enable():this.disable()}select(){this.inputBox.select()}focus(){this.inputBox.focus()}getPreserveCase(){return this.preserveCase.checked}setPreserveCase(e){this.preserveCase.checked=e}focusOnPreserve(){this.preserveCase.focus()}validate(){var e;(e=this.inputBox)==null||e.validate()}set width(e){this.inputBox.paddingRight=this.cachedOptionsWidth,this.domNode.style.width=e+"px"}dispose(){super.dispose()}}var cN=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},dN=function(o,e){return function(t,i){e(t,i,o)}};const q1=new Bi("suggestWidgetVisible",!1,y("suggestWidgetVisible","Whether suggestion are visible")),K1="historyNavigationWidgetFocus",hN="historyNavigationForwardsEnabled",uN="historyNavigationBackwardsEnabled";let ml;const s_=[];function gN(o,e){if(s_.includes(e))throw new Error("Cannot register the same widget multiple times");s_.push(e);const t=new je,i=new Bi(K1,!1).bindTo(o),n=new Bi(hN,!0).bindTo(o),s=new Bi(uN,!0).bindTo(o),r=()=>{i.set(!0),ml=e},a=()=>{i.set(!1),ml===e&&(ml=void 0)};return xO(e.element)&&r(),t.add(e.onDidFocus(()=>r())),t.add(e.onDidBlur(()=>a())),t.add(Rn(()=>{s_.splice(s_.indexOf(e),1),a()})),{historyNavigationForwardsEnablement:n,historyNavigationBackwardsEnablement:s,dispose(){t.dispose()}}}let NC=class extends CO{constructor(e,t,i,n){super(e,t,i);const s=this._register(n.createScoped(this.inputBox.element));this._register(gN(s,this.inputBox))}};NC=cN([dN(3,Yi)],NC);let RC=class extends hz{constructor(e,t,i,n,s=!1){super(e,t,s,i);const r=this._register(n.createScoped(this.inputBox.element));this._register(gN(r,this.inputBox))}};RC=cN([dN(3,Yi)],RC);$a.registerCommandAndKeybindingRule({id:"history.showPrevious",weight:200,when:ce.and(ce.has(K1),ce.equals(uN,!0),ce.not("isComposing"),q1.isEqualTo(!1)),primary:16,secondary:[528],handler:o=>{ml==null||ml.showPreviousValue()}});$a.registerCommandAndKeybindingRule({id:"history.showNext",weight:200,when:ce.and(ce.has(K1),ce.equals(hN,!0),ce.not("isComposing"),q1.isEqualTo(!1)),primary:18,secondary:[530],handler:o=>{ml==null||ml.showNextValue()}});function mI(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 _I=ts("find-collapsed",Jt.chevronRight,y("findCollapsedIcon","Icon to indicate that the editor find widget is collapsed.")),vI=ts("find-expanded",Jt.chevronDown,y("findExpandedIcon","Icon to indicate that the editor find widget is expanded.")),uz=ts("find-selection",Jt.selection,y("findSelectionIcon","Icon for 'Find in Selection' in the editor find widget.")),gz=ts("find-replace",Jt.replace,y("findReplaceIcon","Icon for 'Replace' in the editor find widget.")),fz=ts("find-replace-all",Jt.replaceAll,y("findReplaceAllIcon","Icon for 'Replace All' in the editor find widget.")),pz=ts("find-previous-match",Jt.arrowUp,y("findPreviousMatchIcon","Icon for 'Find Previous' in the editor find widget.")),mz=ts("find-next-match",Jt.arrowDown,y("findNextMatchIcon","Icon for 'Find Next' in the editor find widget.")),_z=y("label.findDialog","Find / Replace"),vz=y("label.find","Find"),bz=y("placeholder.find","Find"),yz=y("label.previousMatchButton","Previous Match"),wz=y("label.nextMatchButton","Next Match"),Sz=y("label.toggleSelectionFind","Find in Selection"),Cz=y("label.closeButton","Close"),xz=y("label.replace","Replace"),Lz=y("placeholder.replace","Replace"),kz=y("label.replaceButton","Replace"),Iz=y("label.replaceAllButton","Replace All"),Dz=y("label.toggleReplaceButton","Toggle Replace"),Ez=y("title.matchesCountLimit","Only the first {0} results are highlighted, but all find operations work on the entire text.",sc),Pz=y("label.matchesLocation","{0} of {1}"),bI=y("label.noResults","No results"),_a=419,Tz=275,Mz=Tz-54;let gf=69;const Nz=33,yI="ctrlEnterReplaceAll.windows.donotask",wI=za?256:2048;class Hw{constructor(e){this.afterLineNumber=e,this.heightInPx=Nz,this.suppressMouseDown=!1,this.domNode=document.createElement("div"),this.domNode.className="dock-find-viewzone"}}function SI(o,e,t){const i=!!e.match(/\n/);if(t&&i&&t.selectionStart>0){o.stopPropagation();return}}function CI(o,e,t){const i=!!e.match(/\n/);if(t&&i&&t.selectionEnd<t.value.length){o.stopPropagation();return}}const Eb=class Eb extends om{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(yI,0),this._isVisible=!1,this._isReplaceVisible=!1,this._ignoreChangeEvent=!1,this._updateHistoryDelayer=new Dc(500),this._register(Rn(()=>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 Hw(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=qy.bindTo(r),this._findFocusTracker=this._register(og(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=$1.bindTo(r),this._replaceFocusTracker=this._register(og(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 Hw(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 Eb.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=hr(this._findInput.domNode),this._updateButtons(),this._replaceInput.inputBox.layout()):this._isReplaceVisible&&(this._isReplaceVisible=!1,this._updateButtons())),(e.isRevealed||e.isReplaceRevealed)&&(this._state.isRevealed||this._state.isReplaceRevealed)&&this._tryUpdateHeight()&&this._showViewZone(),e.isRegex&&this._findInput.setRegex(this._state.isRegex),e.wholeWord&&this._findInput.setWholeWords(this._state.wholeWord),e.matchCase&&this._findInput.setCaseSensitive(this._state.matchCase),e.preserveCase&&this._replaceInput.setPreserveCase(this._state.preserveCase),e.searchScope&&(this._state.searchScope?this._toggleSelectionFind.checked=!0:this._toggleSelectionFind.checked=!1,this._updateToggleSelectionFindButton()),e.searchString||e.matchesCount||e.matchesPosition){const t=this._state.searchString.length>0&&this._state.matchesCount===0;this._domNode.classList.toggle("no-results",t),this._updateMatchesCount(),this._updateButtons()}(e.searchString||e.currentMatch)&&this._layoutViewZone(),e.updateHistory&&this._delayedUpdateHistory(),e.loop&&this._updateButtons()}_delayedUpdateHistory(){this._updateHistoryDelayer.trigger(this._updateHistory.bind(this)).then(void 0,Cn)}_updateHistory(){this._state.searchString&&this._findInput.inputBox.addToHistory(),this._state.replaceString&&this._replaceInput.inputBox.addToHistory()}_updateMatchesCount(){var t;this._matchesCount.style.minWidth=gf+"px",this._state.matchesCount>=sc?this._matchesCount.title=Ez: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>=sc&&(i+="+");let n=String(this._state.matchesPosition);n==="0"&&(n="?"),e=e1(Pz,n,i)}else e=bI;this._matchesCount.appendChild(document.createTextNode(e)),kr(this._getAriaLabel(e,this._state.currentMatch,this._state.searchString)),gf=Math.max(gf,this._matchesCount.clientWidth)}_getAriaLabel(e,t,i){if(e===bI)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=lo(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=LO(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 Hw(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&&hr(this._domNode)>_a){this._domNode.style.maxWidth=`${i-28-n-15}px`,this._replaceInput.width=hr(this._findInput.domNode);return}if(_a+28+n>=i&&(r=!0),_a+28+n-gf>=i&&(a=!0),_a+28+n-gf>=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=hr(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(wI|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 SI(e,this._findInput.getValue(),this._findInput.domNode.querySelector("textarea"));if(e.equals(18))return CI(e,this._findInput.getValue(),this._findInput.domNode.querySelector("textarea"))}_onReplaceInputKeyDown(e){if(e.equals(wI|3))if(this._keybindingService.dispatchEvent(e,e.target)){e.preventDefault();return}else{cy&&Fg&&!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(yI,!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 SI(e,this._replaceInput.inputBox.value,this._replaceInput.inputBox.element.querySelector("textarea"));if(e.equals(18))return CI(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 NC(null,this._contextViewProvider,{width:Mz,label:vz,placeholder:bz,appendCaseSensitiveLabel:this._keybindingLabelFor(Sn.ToggleCaseSensitiveCommand),appendWholeWordsLabel:this._keybindingLabelFor(Sn.ToggleWholeWordCommand),appendRegexLabel:this._keybindingLabelFor(Sn.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:()=>mI(this._keybindingService),inputBoxStyles:sk,toggleStyles:nk},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()})),kO&&this._register(this._findInput.onMouseDown(g=>this._onFindInputMouseDown(g))),this._matchesCount=document.createElement("div"),this._matchesCount.className="matchesCount",this._updateMatchesCount();const i=this._register(_S());this._prevBtn=this._register(new tu({label:yz+this._keybindingLabelFor(Sn.PreviousMatchFindAction),icon:pz,hoverDelegate:i,onTrigger:()=>{bu(this._codeEditor.getAction(Sn.PreviousMatchFindAction)).run().then(void 0,Cn)}},this._hoverService)),this._nextBtn=this._register(new tu({label:wz+this._keybindingLabelFor(Sn.NextMatchFindAction),icon:mz,hoverDelegate:i,onTrigger:()=>{bu(this._codeEditor.getAction(Sn.NextMatchFindAction)).run().then(void 0,Cn)}},this._hoverService));const n=document.createElement("div");n.className="find-part",n.appendChild(this._findInput.domNode);const s=document.createElement("div");s.className="find-actions",n.appendChild(s),s.appendChild(this._matchesCount),s.appendChild(this._prevBtn.domNode),s.appendChild(this._nextBtn.domNode),this._toggleSelectionFind=this._register(new FE({icon:uz,title:Sz+this._keybindingLabelFor(Sn.ToggleSearchScopeCommand),isChecked:!1,hoverDelegate:i,inputActiveOptionBackground:fd(U0),inputActiveOptionBorder:fd(OE),inputActiveOptionForeground:fd(AE)})),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 tu({label:Cz+this._keybindingLabelFor(Sn.CloseFindWidgetCommand),icon:HE,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 RC(null,void 0,{label:xz,placeholder:Lz,appendPreserveCaseLabel:this._keybindingLabelFor(Sn.TogglePreserveCaseCommand),history:[],flexibleHeight:!0,flexibleWidth:!0,flexibleMaxHeight:118,showHistoryHint:()=>mI(this._keybindingService),inputBoxStyles:sk,toggleStyles:nk},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(_S());this._replaceBtn=this._register(new tu({label:kz+this._keybindingLabelFor(Sn.ReplaceOneAction),icon:gz,hoverDelegate:r,onTrigger:()=>{this._controller.replace()},onKeyDown:g=>{g.equals(1026)&&(this._closeBtn.focus(),g.preventDefault())}},this._hoverService)),this._replaceAllBtn=this._register(new tu({label:Iz+this._keybindingLabelFor(Sn.ReplaceAllAction),icon:fz,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 tu({label:Dz,className:"codicon toggle left",onTrigger:()=>{this._state.change({isReplaceRevealed:!this._isReplaceVisible},!1),this._isReplaceVisible&&(this._replaceInput.width=hr(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=_z,this._domNode.role="dialog",this._domNode.style.width=`${_a}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 mu(this._domNode,this,{orientation:0,size:2})),this._resized=!1;let h=_a;this._register(this._resizeSash.onDidStart(()=>{h=hr(this._domNode)})),this._register(this._resizeSash.onDidChange(g=>{this._resized=!0;const f=h+g.startX-g.currentX;if(f<_a)return;const p=parseFloat(IO(this._domNode).maxWidth)||0;f>p||(this._domNode.style.width=`${f}px`,this._isReplaceVisible&&(this._replaceInput.width=hr(this._findInput.domNode)),this._findInput.inputBox.layout(),this._tryUpdateHeight())})),this._register(this._resizeSash.onDidReset(()=>{const g=hr(this._domNode);if(g<_a)return;let f=_a;if(!this._resized||g===_a){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=hr(this._findInput.domNode)),this._findInput.inputBox.layout()}))}updateAccessibilitySupport(){const e=this._codeEditor.getOption(2);this._findInput.setFocusInputOnOptionClick(e!==2)}};Eb.ID="editor.contrib.findWidget";let AC=Eb;class tu extends om{constructor(e,t){super(),this._opts=e;let i="button";this._opts.className&&(i=i+" "+this._opts.className),this._opts.icon&&(i=i+" "+sn.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??yy("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(...sn.asClassNameArray(_I)),this._domNode.classList.add(...sn.asClassNameArray(vI))):(this._domNode.classList.remove(...sn.asClassNameArray(vI)),this._domNode.classList.add(...sn.asClassNameArray(_I)))}}gy((o,e)=>{const t=o.getColor(_E);t&&e.addRule(`.monaco-editor .findMatch { border: 1px ${rp(o.type)?"dotted":"solid"} ${t}; box-sizing: border-box; }`);const i=o.getColor(DO);i&&e.addRule(`.monaco-editor .findScope { border: 1px ${rp(o.type)?"dashed":"solid"} ${i}; }`);const n=o.getColor(bl);n&&e.addRule(`.monaco-editor .find-widget { border: 1px solid ${n}; }`);const s=o.getColor(EO);s&&e.addRule(`.monaco-editor .findMatchInline { color: ${s}; }`);const r=o.getColor(PO);r&&e.addRule(`.monaco-editor .currentFindMatchInline { color: ${r}; }`)});var fN=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Qo=function(o,e){return function(t,i){e(t,i,o)}},OC;const Rz=524288;function FC(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)<Rz)return o.getModel().getValueInRange(i)}return null}var Vd;let ho=(Vd=class extends $e{get editor(){return this._editor}static get(e){return e.getContribution(OC.ID)}constructor(e,t,i,n,s,r){super(),this._editor=e,this._findWidgetVisible=Rl.bindTo(t),this._contextKeyService=t,this._storageService=i,this._clipboardService=n,this._notificationService=s,this._hoverService=r,this._updateHistoryDelayer=new Dc(500),this._state=this._register(new az),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!!qy.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=ap(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=FC(this._editor,e.seedSearchStringFromSelection,e.seedSearchStringFromNonEmptySelection);n&&(this._state.isRegex?i.searchString=ap(n):i.searchString=n)}else if(e.seedSearchStringFromSelection==="multiple"&&!e.updateSearchScope){const n=FC(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 $f(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)}},OC=Vd,Vd.ID="editor.contrib.findController",Vd);ho=OC=fN([Qo(1,Yi),Qo(2,Fc),Qo(3,Og),Qo(4,io),Qo(5,lm)],ho);let HC=class extends ho{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 AC(this._editor,this,this._state,this._contextViewService,this._keybindingService,this._contextKeyService,this._themeService,this._storageService,this._notificationService,this._hoverService)),this._findOptionsWidget=this._register(new MC(this._editor,this._state,this._keybindingService))}};HC=fN([Qo(1,uy),Qo(2,Yi),Qo(3,hs),Qo(4,Er),Qo(5,io),Qo(6,Fc),Qo(7,Og),Qo(8,lm)],HC);const Az=WE(new BE({id:Sn.StartFindAction,label:y("startFindAction","Find"),alias:"Find",precondition:ce.or(R.focus,ce.has("editorIsOpen")),kbOpts:{kbExpr:null,primary:2084,weight:100},menuOpts:{menuId:ht.MenubarEditMenu,group:"3_find",title:y({key:"miFind",comment:["&& denotes a mnemonic"]},"&&Find"),order:1}}));Az.addImplementation(0,(o,e,t)=>{const i=ho.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 Oz={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 Fz extends we{constructor(){super({id:Sn.StartFindWithArgs,label:y("startFindWithArgsAction","Find With Arguments"),alias:"Find With Arguments",precondition:void 0,kbOpts:{kbExpr:null,primary:0,weight:100},metadata:Oz})}async run(e,t,i){const n=ho.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 Hz extends we{constructor(){super({id:Sn.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=ho.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 pN extends we{async run(e,t){const i=ho.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 Wz extends pN{constructor(){super({id:Sn.NextMatchFindAction,label:y("findNextMatchAction","Find Next"),alias:"Find Next",precondition:void 0,kbOpts:[{kbExpr:R.focus,primary:61,mac:{primary:2085,secondary:[61]},weight:100},{kbExpr:ce.and(R.focus,qy),primary:3,weight:100}]})}_run(e){return e.moveToNextMatch()?(e.editor.pushUndoStop(),!0):!1}}class Bz extends pN{constructor(){super({id:Sn.PreviousMatchFindAction,label:y("findPreviousMatchAction","Find Previous"),alias:"Find Previous",precondition:void 0,kbOpts:[{kbExpr:R.focus,primary:1085,mac:{primary:3109,secondary:[1085]},weight:100},{kbExpr:ce.and(R.focus,qy),primary:1027,weight:100}]})}_run(e){return e.moveToPrevMatch()}}class zz extends we{constructor(){super({id:Sn.GoToMatchFindAction,label:y("findMatchAction.goToMatch","Go to Match..."),alias:"Go to Match...",precondition:Rl}),this._highlightDecorations=[]}run(e,t,i){const n=ho.get(t);if(!n)return;const s=n.getState().matchesCount;if(s<1){e.get(io).notify({severity:Q0.Warning,message:y("findMatchAction.noResults","No matches. Try searching for something else.")});return}const r=e.get(Dl),a=new je,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:fs(zE),position:Oa.Full}}}])})}}class mN extends we{async run(e,t){const i=ho.get(t);if(!i)return;const n=FC(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 Vz extends mN{constructor(){super({id:Sn.NextSelectionMatchFindAction,label:y("nextSelectionMatchFindAction","Find Next Selection"),alias:"Find Next Selection",precondition:void 0,kbOpts:{kbExpr:R.focus,primary:2109,weight:100}})}_run(e){return e.moveToNextMatch()}}class jz extends mN{constructor(){super({id:Sn.PreviousSelectionMatchFindAction,label:y("previousSelectionMatchFindAction","Find Previous Selection"),alias:"Find Previous Selection",precondition:void 0,kbOpts:{kbExpr:R.focus,primary:3133,weight:100}})}_run(e){return e.moveToPrevMatch()}}const Uz=WE(new BE({id:Sn.StartFindReplaceAction,label:y("startReplace","Replace"),alias:"Replace",precondition:ce.or(R.focus,ce.has("editorIsOpen")),kbOpts:{kbExpr:null,primary:2086,mac:{primary:2596},weight:100},menuOpts:{menuId:ht.MenubarEditMenu,group:"3_find",title:y({key:"miReplace",comment:["&& denotes a mnemonic"]},"&&Replace"),order:2}}));Uz.addImplementation(0,(o,e,t)=>{if(!e.hasModel()||e.getOption(92))return!1;const i=ho.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})});wi(ho.ID,HC,0);se(Fz);se(Hz);se(Wz);se(Bz);se(zz);se(Vz);se(jz);const ua=go.bindToContribution(ho.get);Mt(new ua({id:Sn.CloseFindWidgetCommand,precondition:Rl,handler:o=>o.closeFindWidget(),kbOpts:{weight:105,kbExpr:ce.and(R.focus,ce.not("isComposing")),primary:9,secondary:[1033]}}));Mt(new ua({id:Sn.ToggleCaseSensitiveCommand,precondition:void 0,handler:o=>o.toggleCaseSensitive(),kbOpts:{weight:105,kbExpr:R.focus,primary:Qm.primary,mac:Qm.mac,win:Qm.win,linux:Qm.linux}}));Mt(new ua({id:Sn.ToggleWholeWordCommand,precondition:void 0,handler:o=>o.toggleWholeWords(),kbOpts:{weight:105,kbExpr:R.focus,primary:Jm.primary,mac:Jm.mac,win:Jm.win,linux:Jm.linux}}));Mt(new ua({id:Sn.ToggleRegexCommand,precondition:void 0,handler:o=>o.toggleRegex(),kbOpts:{weight:105,kbExpr:R.focus,primary:e_.primary,mac:e_.mac,win:e_.win,linux:e_.linux}}));Mt(new ua({id:Sn.ToggleSearchScopeCommand,precondition:void 0,handler:o=>o.toggleSearchScope(),kbOpts:{weight:105,kbExpr:R.focus,primary:t_.primary,mac:t_.mac,win:t_.win,linux:t_.linux}}));Mt(new ua({id:Sn.TogglePreserveCaseCommand,precondition:void 0,handler:o=>o.togglePreserveCase(),kbOpts:{weight:105,kbExpr:R.focus,primary:i_.primary,mac:i_.mac,win:i_.win,linux:i_.linux}}));Mt(new ua({id:Sn.ReplaceOneAction,precondition:Rl,handler:o=>o.replace(),kbOpts:{weight:105,kbExpr:R.focus,primary:3094}}));Mt(new ua({id:Sn.ReplaceOneAction,precondition:Rl,handler:o=>o.replace(),kbOpts:{weight:105,kbExpr:ce.and(R.focus,$1),primary:3}}));Mt(new ua({id:Sn.ReplaceAllAction,precondition:Rl,handler:o=>o.replaceAll(),kbOpts:{weight:105,kbExpr:R.focus,primary:2563}}));Mt(new ua({id:Sn.ReplaceAllAction,precondition:Rl,handler:o=>o.replaceAll(),kbOpts:{weight:105,kbExpr:ce.and(R.focus,$1),primary:void 0,mac:{primary:2051}}}));Mt(new ua({id:Sn.SelectAllMatchesAction,precondition:Rl,handler:o=>o.selectAllMatches(),kbOpts:{weight:105,kbExpr:R.focus,primary:515}}));const $z={0:" ",1:"u",2:"r"},xI=65535,Gr=16777215,LI=4278190080;class Ww{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 Ro{constructor(e,t,i){if(e.length!==t.length||e.length>xI)throw new Error("invalid startIndexes or endIndexes size");this._startIndexes=e,this._endIndexes=t,this._collapseStates=new Ww(e.length),this._userDefinedStates=new Ww(e.length),this._recoveredStates=new Ww(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>Gr||r>Gr)throw new Error("startLineNumber or endLineNumber must not exceed "+Gr);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]&Gr}getEndLineNumber(e){return this._endIndexes[e]&Gr}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 qz(this,e)}getParentIndex(e){this.ensureParentIndices();const t=((this._startIndexes[e]&LI)>>>24)+((this._endIndexes[e]&LI)>>>16);return t===xI?-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]=`[${$z[this.getSource(t)]}${this.isCollapsed(t)?"+":"-"}] ${this.getStartLineNumber(t)}/${this.getEndLineNumber(t)}`;return e.join(", ")}toFoldRange(e){return{startLineNumber:this._startIndexes[e]&Gr,endLineNumber:this._endIndexes[e]&Gr,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 Ro(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 qz{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 Kz{get regions(){return this._regions}get textModel(){return this._textModel}constructor(e,t){this._updateEventEmitter=new mi,this.onDidChange=this._updateEventEmitter.event,this._textModel=e,this._decorationProvider=t,this._regions=new Ro(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(Ro.fromFoldRanges(t))}update(e,t){const i=this._currentFoldedOrManualRanges(t),n=Ro.sanitizeAndMerge(e,i,this._textModel.getLineCount(),t);this.updatePost(Ro.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=Ro.sanitizeAndMerge(this._regions,t,i);this.updatePost(Ro.fromFoldRanges(n))}_getLinesChecksum(e,t){return VE(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 G1(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 $g(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 _N(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 Gz(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 Zz(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 vN(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 Z1(o,e,t){const i=o.textModel,n=o.regions,s=[];for(let r=n.length-1;r>=0;r--)if(t!==n.isCollapsed(r)){const a=n.getStartLineNumber(r);e.test(i.getLineContent(a))&&s.push(n.toRegion(r))}o.toggleCollapseState(s)}function X1(o,e,t){const i=o.regions,n=[];for(let s=i.length-1;s>=0;s--)t!==i.isCollapsed(s)&&e===i.getType(s)&&n.push(i.toRegion(s));o.toggleCollapseState(n)}function Xz(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 Yz(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 Jz{get onDidChange(){return this._updateEventEmitter.event}get hiddenRanges(){return this._hiddenRanges}constructor(e){this._updateEventEmitter=new mi,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||TO(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 kI(this._hiddenRanges,e)!==null}adjustSelections(e){let t=!1;const i=this._foldingModel.textModel;let n=null;const s=r=>((!n||!eV(r,n))&&(n=kI(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 eV(o,e){return o>=e.startLineNumber&&o<=e.endLineNumber}function kI(o,e){const t=NE(o,i=>e<i.startLineNumber)-1;return t>=0&&o[t].endLineNumber>=e?o[t]:null}const tV=5e3,iV="indent";class Y1{constructor(e,t,i){this.editorModel=e,this.languageConfigurationService=t,this.foldingRangesLimit=i,this.id=iV}dispose(){}compute(e){const t=this.languageConfigurationService.getLanguageConfiguration(this.editorModel.getLanguageId()).foldingRules,i=t&&!!t.offSide,n=t&&t.markers;return Promise.resolve(oV(this.editorModel,i,n,this.foldingRangesLimit))}}let nV=class{constructor(e){this._startIndexes=[],this._endIndexes=[],this._indentOccurrences=[],this._length=0,this._foldingRangesLimit=e}insertFirst(e,t,i){if(e>Gr||t>Gr)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 Ro(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=B0(f,s);(p<n||p===n&&i++<t)&&(r[h]=g,a[h]=this._endIndexes[c],h++)}return new Ro(r,a)}}};const sV={limit:tV,update:()=>{}};function oV(o,e,t,i=sV){const n=o.getOptions().tabSize,s=new nV(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=B0(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 rV=yt("editor.foldBackground",{light:Ha(ok,.3),dark:Ha(ok,.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);yt("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."));yt("editorGutter.foldingControlForeground",MO,y("editorGutter.foldingControlForeground","Color of the folding control in the editor gutter."));const kv=ts("folding-expanded",Jt.chevronDown,y("foldingExpandedIcon","Icon for expanded ranges in the editor glyph margin.")),Iv=ts("folding-collapsed",Jt.chevronRight,y("foldingCollapsedIcon","Icon for collapsed ranges in the editor glyph margin.")),II=ts("folding-manual-collapsed",Iv,y("foldingManualCollapedIcon","Icon for manually collapsed ranges in the editor glyph margin.")),DI=ts("folding-manual-expanded",kv,y("foldingManualExpandedIcon","Icon for manually expanded ranges in the editor glyph margin.")),Bw={color:fs(rV),position:1},iu=y("linesCollapsed","Click to expand the range."),o_=y("linesExpanded","Click to collapse the range."),ns=class ns{constructor(e){this.editor=e,this.showFoldingControls="mouseover",this.showFoldingHighlights=!0}getDecorationOption(e,t,i){return t?ns.HIDDEN_RANGE_DECORATION:this.showFoldingControls==="never"?e?this.showFoldingHighlights?ns.NO_CONTROLS_COLLAPSED_HIGHLIGHTED_RANGE_DECORATION:ns.NO_CONTROLS_COLLAPSED_RANGE_DECORATION:ns.NO_CONTROLS_EXPANDED_RANGE_DECORATION:e?i?this.showFoldingHighlights?ns.MANUALLY_COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION:ns.MANUALLY_COLLAPSED_VISUAL_DECORATION:this.showFoldingHighlights?ns.COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION:ns.COLLAPSED_VISUAL_DECORATION:this.showFoldingControls==="mouseover"?i?ns.MANUALLY_EXPANDED_AUTO_HIDE_VISUAL_DECORATION:ns.EXPANDED_AUTO_HIDE_VISUAL_DECORATION:i?ns.MANUALLY_EXPANDED_VISUAL_DECORATION:ns.EXPANDED_VISUAL_DECORATION}changeDecorations(e){return this.editor.changeDecorations(e)}removeDecorations(e){this.editor.removeDecorations(e)}};ns.COLLAPSED_VISUAL_DECORATION=Ai.register({description:"folding-collapsed-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:!0,linesDecorationsTooltip:iu,firstLineDecorationClassName:sn.asClassName(Iv)}),ns.COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION=Ai.register({description:"folding-collapsed-highlighted-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",className:"folded-background",minimap:Bw,isWholeLine:!0,linesDecorationsTooltip:iu,firstLineDecorationClassName:sn.asClassName(Iv)}),ns.MANUALLY_COLLAPSED_VISUAL_DECORATION=Ai.register({description:"folding-manually-collapsed-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:!0,linesDecorationsTooltip:iu,firstLineDecorationClassName:sn.asClassName(II)}),ns.MANUALLY_COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION=Ai.register({description:"folding-manually-collapsed-highlighted-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",className:"folded-background",minimap:Bw,isWholeLine:!0,linesDecorationsTooltip:iu,firstLineDecorationClassName:sn.asClassName(II)}),ns.NO_CONTROLS_COLLAPSED_RANGE_DECORATION=Ai.register({description:"folding-no-controls-range-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:!0,linesDecorationsTooltip:iu}),ns.NO_CONTROLS_COLLAPSED_HIGHLIGHTED_RANGE_DECORATION=Ai.register({description:"folding-no-controls-range-decoration",stickiness:0,afterContentClassName:"inline-folded",className:"folded-background",minimap:Bw,isWholeLine:!0,linesDecorationsTooltip:iu}),ns.EXPANDED_VISUAL_DECORATION=Ai.register({description:"folding-expanded-visual-decoration",stickiness:1,isWholeLine:!0,firstLineDecorationClassName:"alwaysShowFoldIcons "+sn.asClassName(kv),linesDecorationsTooltip:o_}),ns.EXPANDED_AUTO_HIDE_VISUAL_DECORATION=Ai.register({description:"folding-expanded-auto-hide-visual-decoration",stickiness:1,isWholeLine:!0,firstLineDecorationClassName:sn.asClassName(kv),linesDecorationsTooltip:o_}),ns.MANUALLY_EXPANDED_VISUAL_DECORATION=Ai.register({description:"folding-manually-expanded-visual-decoration",stickiness:0,isWholeLine:!0,firstLineDecorationClassName:"alwaysShowFoldIcons "+sn.asClassName(DI),linesDecorationsTooltip:o_}),ns.MANUALLY_EXPANDED_AUTO_HIDE_VISUAL_DECORATION=Ai.register({description:"folding-manually-expanded-auto-hide-visual-decoration",stickiness:0,isWholeLine:!0,firstLineDecorationClassName:sn.asClassName(DI),linesDecorationsTooltip:o_}),ns.NO_CONTROLS_EXPANDED_RANGE_DECORATION=Ai.register({description:"folding-no-controls-range-decoration",stickiness:0,isWholeLine:!0}),ns.HIDDEN_RANGE_DECORATION=Ai.register({description:"folding-hidden-range-decoration",stickiness:1});let WC=ns;const aV={},lV="syntax";class Q1{constructor(e,t,i,n,s){this.editorModel=e,this.providers=t,this.handleFoldingRangesChange=i,this.foldingRangesLimit=n,this.fallbackRangeProvider=s,this.id=lV,this.disposables=new je,s&&this.disposables.add(s);for(const r of t)typeof r.onDidChange=="function"&&this.disposables.add(r.onDidChange(i))}compute(e){return cV(this.providers,this.editorModel,e).then(t=>{var i;return t?hV(t,this.foldingRangesLimit):((i=this.fallbackRangeProvider)==null?void 0:i.compute(e))??null})}dispose(){this.disposables.dispose()}}function cV(o,e,t){let i=null;const n=o.map((s,r)=>Promise.resolve(s.provideFoldingRanges(e,aV,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})}},ss));return Promise.all(n).then(s=>i)}class dV{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>Gr||t>Gr)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 Ro(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 Ro(n,s,r)}}}function hV(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 dV(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 uV=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},ff=function(o,e){return function(t,i){e(t,i,o)}},Qc;const Ms=new Bi("foldingEnabled",!1);var jd;let Nc=(jd=class extends $e{static get(e){return e.getContribution(Qc.ID)}static getFoldingRangeProviders(e,t){var n;const i=e.foldingRangeProvider.ordered(t);return((n=Qc._foldingRangeSelector)==null?void 0:n.call(Qc,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 je),this.editor=e,this._foldingLimitReporter=new bN(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 WC(e),this.foldingDecorationProvider.showFoldingControls=a.get(111),this.foldingDecorationProvider.showFoldingHighlights=a.get(45),this.foldingEnabled=Ms.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 Kz(e,this.foldingDecorationProvider),this.localToDispose.add(this.foldingModel),this.hiddenRangeModel=new Jz(this.foldingModel),this.localToDispose.add(this.hiddenRangeModel),this.localToDispose.add(this.hiddenRangeModel.onDidChange(t=>this.onHiddenRangesChanges(t))),this.updateScheduler=new Dc(this.updateDebounceInfo.get(e)),this.cursorChangedScheduler=new _s(()=>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 Y1(e,this.languageConfigurationService,this._foldingLimitReporter);if(this.rangeProvider=t,this._useFoldingProviders&&this.foldingModel){const i=Qc.getFoldingRangeProviders(this.languageFeaturesService,e);i.length>0&&(this.rangeProvider=new Q1(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 xo,i=this.getRangeProvider(e.textModel),n=this.foldingRegionPromise=Ds(s=>i.compute(s));return n.then(s=>{if(s&&n===this.foldingRegionPromise){let r;if(this._foldingImportsByDefault&&!this._currentModelHasFoldedImports){const h=s.setCollapsedAllOfType(um.Imports.value,!0);h&&(r=ag.capture(this.editor),this._currentModelHasFoldedImports=h)}const a=this.editor.getSelections();e.update(s,gV(a)),r==null||r.restore(this.editor);const c=this.updateDebounceInfo.update(e.textModel,t.elapsed());this.updateScheduler&&(this.updateScheduler.defaultDelay=c)}return e})}).then(void 0,e=>(Cn(e),null)))}onHiddenRangesChanges(e){if(this.hiddenRangeModel&&e.length&&!this._restoringViewState){const t=this.editor.getSelections();t&&this.hiddenRangeModel.adjustSelections(t)&&this.editor.setSelections(t)}this.editor.setHiddenAreas(e,this)}onCursorPositionChanged(){this.hiddenRangeModel&&this.hiddenRangeModel.hasRanges()&&this.cursorChangedScheduler.schedule()}revealCursor(){const e=this.getFoldingModel();e&&e.then(t=>{if(t){const i=this.editor.getSelections();if(i&&i.length>0){const n=[];for(const s of i){const r=s.selectionStartLineNumber;this.hiddenRangeModel&&this.hiddenRangeModel.isHidden(r)&&n.push(...t.getAllRegionsAtLine(r,a=>a.isCollapsed&&r>a.startLineNumber))}n.length&&(t.toggleCollapseState(n),this.reveal(i[0].getPosition()))}}}).then(void 0,Cn)}onEditorMouseDown(e){if(this.mouseDownInfo=null,!this.hiddenRangeModel||!e.target||!e.target.range||!e.event.leftButton&&!e.event.middleButton)return;const t=e.target.range;let i=!1;switch(e.target.type){case 4:{const n=e.target.detail,s=e.target.element.offsetLeft;if(n.offsetX-s<4)return;i=!0;break}case 7:{if(this._unfoldOnClickAfterEndOfLine&&this.hiddenRangeModel.hasRanges()&&!e.target.detail.isAfterLines)break;return}case 6:{if(this.hiddenRangeModel.hasRanges()){const n=this.editor.getModel();if(n&&t.startColumn===n.getLineMaxColumn(t.startLineNumber))break}return}default:return}this.mouseDownInfo={lineNumber:t.startLineNumber,iconClicked:i}}onEditorMouseUp(e){const t=this.foldingModel;if(!t||!this.mouseDownInfo||!e.target)return;const i=this.mouseDownInfo.lineNumber,n=this.mouseDownInfo.iconClicked,s=e.target.range;if(!s||s.startLineNumber!==i)return;if(n){if(e.target.type!==4)return}else{const a=this.editor.getModel();if(!a||s.startColumn!==a.getLineMaxColumn(i))return}const r=t.getRegionAtLine(i);if(r&&r.startLineNumber===i){const a=r.isCollapsed;if(n||a){const c=e.event.altKey;let h=[];if(c){const g=p=>!p.containedBy(r)&&!r.containedBy(p),f=t.getRegionsInside(null,g);for(const p of f)p.isCollapsed&&h.push(p);h.length===0&&(h=f)}else{const g=e.event.middleButton||e.event.shiftKey;if(g)for(const f of t.getRegionsInside(r))f.isCollapsed===a&&h.push(f);(a||!g||h.length===0)&&h.push(r)}t.toggleCollapseState(h),this.reveal({lineNumber:i,column:1})}}}reveal(e){this.editor.revealPositionInCenterIfOutsideViewport(e,0)}},Qc=jd,jd.ID="editor.contrib.folding",jd);Nc=Qc=uV([ff(1,Yi),ff(2,xs),ff(3,io),ff(4,nr),ff(5,Tt)],Nc);class bN{constructor(e){this.editor=e,this._onDidChange=new mi,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 Ws extends we{runEditorCommand(e,t,i){const n=e.get(xs),s=Nc.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 gV(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 yN(o){if(!yf(o)){if(!jE(o))return!1;const e=o;if(!yf(e.levels)&&!rk(e.levels)||!yf(e.direction)&&!pE(e.direction)||!yf(e.selectionLines)&&(!Array.isArray(e.selectionLines)||!e.selectionLines.every(rk)))return!1}return!0}class fV extends Ws{constructor(){super({id:"editor.unfold",label:y("unfoldAction.label","Unfold"),alias:"Unfold",precondition:Ms,kbOpts:{kbExpr:R.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:yN,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"?_N(t,!1,s,r):$g(t,!1,s,r)}}class pV extends Ws{constructor(){super({id:"editor.unfoldRecursively",label:y("unFoldRecursivelyAction.label","Unfold Recursively"),alias:"Unfold Recursively",precondition:Ms,kbOpts:{kbExpr:R.editorTextFocus,primary:ds(2089,2142),weight:100}})}invoke(e,t,i,n){$g(t,!1,Number.MAX_VALUE,this.getSelectedLines(i))}}class mV extends Ws{constructor(){super({id:"editor.fold",label:y("foldAction.label","Fold"),alias:"Fold",precondition:Ms,kbOpts:{kbExpr:R.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:yN,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"?Gz(t,!0,s):a==="up"?_N(t,!0,r||1,s):$g(t,!0,r||1,s)}}class _V extends Ws{constructor(){super({id:"editor.toggleFold",label:y("toggleFoldAction.label","Toggle Fold"),alias:"Toggle Fold",precondition:Ms,kbOpts:{kbExpr:R.editorTextFocus,primary:ds(2089,2090),weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);G1(t,1,n)}}class vV extends Ws{constructor(){super({id:"editor.foldRecursively",label:y("foldRecursivelyAction.label","Fold Recursively"),alias:"Fold Recursively",precondition:Ms,kbOpts:{kbExpr:R.editorTextFocus,primary:ds(2089,2140),weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);$g(t,!0,Number.MAX_VALUE,n)}}class bV extends Ws{constructor(){super({id:"editor.toggleFoldRecursively",label:y("toggleFoldRecursivelyAction.label","Toggle Fold Recursively"),alias:"Toggle Fold Recursively",precondition:Ms,kbOpts:{kbExpr:R.editorTextFocus,primary:ds(2089,3114),weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);G1(t,Number.MAX_VALUE,n)}}class yV extends Ws{constructor(){super({id:"editor.foldAllBlockComments",label:y("foldAllBlockComments.label","Fold All Block Comments"),alias:"Fold All Block Comments",precondition:Ms,kbOpts:{kbExpr:R.editorTextFocus,primary:ds(2089,2138),weight:100}})}invoke(e,t,i,n,s){if(t.regions.hasTypes())X1(t,um.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*"+ap(a.blockCommentStartToken));Z1(t,c,!0)}}}}class wV extends Ws{constructor(){super({id:"editor.foldAllMarkerRegions",label:y("foldAllMarkerRegions.label","Fold All Regions"),alias:"Fold All Regions",precondition:Ms,kbOpts:{kbExpr:R.editorTextFocus,primary:ds(2089,2077),weight:100}})}invoke(e,t,i,n,s){if(t.regions.hasTypes())X1(t,um.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);Z1(t,c,!0)}}}}class SV extends Ws{constructor(){super({id:"editor.unfoldAllMarkerRegions",label:y("unfoldAllMarkerRegions.label","Unfold All Regions"),alias:"Unfold All Regions",precondition:Ms,kbOpts:{kbExpr:R.editorTextFocus,primary:ds(2089,2078),weight:100}})}invoke(e,t,i,n,s){if(t.regions.hasTypes())X1(t,um.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);Z1(t,c,!1)}}}}class CV extends Ws{constructor(){super({id:"editor.foldAllExcept",label:y("foldAllExcept.label","Fold All Except Selected"),alias:"Fold All Except Selected",precondition:Ms,kbOpts:{kbExpr:R.editorTextFocus,primary:ds(2089,2136),weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);vN(t,!0,n)}}class xV extends Ws{constructor(){super({id:"editor.unfoldAllExcept",label:y("unfoldAllExcept.label","Unfold All Except Selected"),alias:"Unfold All Except Selected",precondition:Ms,kbOpts:{kbExpr:R.editorTextFocus,primary:ds(2089,2134),weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);vN(t,!1,n)}}class LV extends Ws{constructor(){super({id:"editor.foldAll",label:y("foldAllAction.label","Fold All"),alias:"Fold All",precondition:Ms,kbOpts:{kbExpr:R.editorTextFocus,primary:ds(2089,2069),weight:100}})}invoke(e,t,i){$g(t,!0)}}class kV extends Ws{constructor(){super({id:"editor.unfoldAll",label:y("unfoldAllAction.label","Unfold All"),alias:"Unfold All",precondition:Ms,kbOpts:{kbExpr:R.editorTextFocus,primary:ds(2089,2088),weight:100}})}invoke(e,t,i){$g(t,!1)}}const Pu=class Pu extends Ws{getFoldingLevel(){return parseInt(this.id.substr(Pu.ID_PREFIX.length))}invoke(e,t,i){Zz(t,this.getFoldingLevel(),!0,this.getSelectedLines(i))}};Pu.ID_PREFIX="editor.foldLevel",Pu.ID=e=>Pu.ID_PREFIX+e;let Dv=Pu;class IV extends Ws{constructor(){super({id:"editor.gotoParentFold",label:y("gotoParentFold.label","Go to Parent Fold"),alias:"Go to Parent Fold",precondition:Ms,kbOpts:{kbExpr:R.editorTextFocus,weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);if(n.length>0){const s=Xz(n[0],t);s!==null&&i.setSelection({startLineNumber:s,startColumn:1,endLineNumber:s,endColumn:1})}}}class DV extends Ws{constructor(){super({id:"editor.gotoPreviousFold",label:y("gotoPreviousFold.label","Go to Previous Folding Range"),alias:"Go to Previous Folding Range",precondition:Ms,kbOpts:{kbExpr:R.editorTextFocus,weight:100}})}invoke(e,t,i){const n=this.getSelectedLines(i);if(n.length>0){const s=Yz(n[0],t);s!==null&&i.setSelection({startLineNumber:s,startColumn:1,endLineNumber:s,endColumn:1})}}}class EV extends Ws{constructor(){super({id:"editor.gotoNextFold",label:y("gotoNextFold.label","Go to Next Folding Range"),alias:"Go to Next Folding Range",precondition:Ms,kbOpts:{kbExpr:R.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 PV extends Ws{constructor(){super({id:"editor.createFoldingRangeFromSelection",label:y("createManualFoldRange.label","Create Folding Range from Selection"),alias:"Create Folding Range from Selection",precondition:Ms,kbOpts:{kbExpr:R.editorTextFocus,primary:ds(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=Ro.sanitizeAndMerge(t.regions,n,(r=i.getModel())==null?void 0:r.getLineCount());t.updatePost(Ro.fromFoldRanges(a))}}}}class TV extends Ws{constructor(){super({id:"editor.removeManualFoldingRanges",label:y("removeManualFoldingRanges.label","Remove Manual Folding Ranges"),alias:"Remove Manual Folding Ranges",precondition:Ms,kbOpts:{kbExpr:R.editorTextFocus,primary:ds(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()}}}wi(Nc.ID,Nc,0);se(fV);se(pV);se(mV);se(vV);se(bV);se(LV);se(kV);se(yV);se(wV);se(SV);se(CV);se(xV);se(_V);se(IV);se(DV);se(EV);se(PV);se(TV);for(let o=1;o<=7;o++)NO(new Dv({id:Dv.ID(o),label:y("foldLevelAction.label","Fold Level {0}",o),alias:`Fold Level ${o}`,precondition:Ms,kbOpts:{kbExpr:R.editorTextFocus,primary:ds(2089,2048|21+o),weight:100}}));Pn.registerCommand("_executeFoldingRangeProvider",async function(o,...e){const[t]=e;if(!(t instanceof bn))throw gl();const i=o.get(Tt),n=o.get(no).getModel(t);if(!n)throw gl();const s=o.get(On);if(!s.getValue("editor.folding",{resource:t}))return[];const r=o.get(xs),a=s.getValue("editor.foldingStrategy",{resource:t}),c={get limit(){return s.getValue("editor.foldingMaximumRegions",{resource:t})},update:(v,_)=>{}},h=new Y1(n,r,c);let g=h;if(a!=="indentation"){const v=Nc.getFoldingRangeProviders(i,n);v.length&&(g=new Q1(n,v,()=>{},c,h))}const f=await g.compute(_i.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:_?um.fromValue(_):void 0})}return p}finally{g.dispose()}});class MV extends we{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){gp.setZoomLevel(gp.getZoomLevel()+1)}}class NV extends we{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){gp.setZoomLevel(gp.getZoomLevel()-1)}}class RV extends we{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){gp.setZoomLevel(0)}}se(MV);se(NV);se(RV);var wN=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},qf=function(o,e){return function(t,i){e(t,i,o)}},Zu;let Ev=(Zu=class{constructor(e,t,i,n){this._editor=e,this._languageFeaturesService=t,this._workerService=i,this._accessibilitySignalService=n,this._disposables=new je,this._sessionDisposables=new je,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 Y_;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 Es,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}});RO(this._workerService,this._languageFeaturesService,t,i,e,t.getFormattingOptions(),n.token).then(r=>{n.token.isCancellationRequested||Oo(r)&&(this._accessibilitySignalService.playSignal($E.format,{userGesture:!1}),AO.execute(this._editor,r,!0))}).finally(()=>{s.dispose()})}},Zu.ID="editor.contrib.autoFormat",Zu);Ev=wN([qf(1,Tt),qf(2,Tl),qf(3,UE)],Ev);var Xu;let Pv=(Xu=class{constructor(e,t,i){this.editor=e,this._languageFeaturesService=t,this._instantiationService=i,this._callOnDispose=new je,this._callOnModel=new je,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(qE,this.editor,e,2,ll.None,_i.None,!1).catch(Cn))}},Xu.ID="editor.contrib.formatOnPaste",Xu);Pv=wN([qf(1,Tt),qf(2,di)],Pv);class AV extends we{constructor(){super({id:"editor.action.formatDocument",label:y("formatDocument.label","Format Document"),alias:"Format Document",precondition:ce.and(R.notInCompositeEditor,R.writable,R.hasDocumentFormattingProvider),kbOpts:{kbExpr:R.editorTextFocus,primary:1572,linux:{primary:3111},weight:100},contextMenuOpts:{group:"1_modification",order:1.3}})}async run(e,t){if(t.hasModel()){const i=e.get(di);await e.get(im).showWhile(i.invokeFunction(OO,t,1,ll.None,_i.None,!0),250)}}}class OV extends we{constructor(){super({id:"editor.action.formatSelection",label:y("formatSelection.label","Format Selection"),alias:"Format Selection",precondition:ce.and(R.writable,R.hasDocumentSelectionFormattingProvider),kbOpts:{kbExpr:R.editorTextFocus,primary:ds(2089,2084),weight:100},contextMenuOpts:{when:R.hasNonEmptySelection,group:"1_modification",order:1.31}})}async run(e,t){if(!t.hasModel())return;const i=e.get(di),n=t.getModel(),s=t.getSelections().map(a=>a.isEmpty()?new z(a.startLineNumber,1,a.startLineNumber,n.getLineMaxColumn(a.startLineNumber)):a);await e.get(im).showWhile(i.invokeFunction(qE,t,s,1,ll.None,_i.None,!0),250)}}wi(Ev.ID,Ev,2);wi(Pv.ID,Pv,2);se(AV);se(OV);Pn.registerCommand("editor.action.format",async o=>{const e=o.get(os).getFocusedCodeEditor();if(!e||!e.hasModel())return;const t=o.get(Cs);e.getSelection().isEmpty()?await t.executeCommand("editor.action.formatDocument"):await t.executeCommand("editor.action.formatSelection")});var FV=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},zw=function(o,e){return function(t,i){e(t,i,o)}};class xu{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 BC extends xu{constructor(e,t,i){super(),this.id=e,this.parent=t,this.symbol=i,this.children=new Map}}class SN extends xu{constructor(e,t,i,n){super(),this.id=e,this.parent=t,this.label=i,this.order=n,this.children=new Map}}class il extends xu{static create(e,t,i){const n=new Es(i),s=new il(t.uri),r=e.ordered(t),a=r.map((h,g)=>{const f=xu.findId(`provider_${g}`,s),p=new SN(f,s,h.displayName??"Unknown Outline Provider",g);return Promise.resolve(h.provideDocumentSymbols(t,n.token)).then(v=>{for(const _ of v||[])il._makeOutlineElement(_,p);return p},v=>(ss(v),p)).then(v=>{xu.empty(v)?v.remove():s._groups.set(f,v)})}),c=e.onDidChange(()=>{const h=e.ordered(t);Ba(h,r)||n.cancel()});return Promise.all(a).then(()=>n.token.isCancellationRequested&&!i.isCancellationRequested?il.create(e,t,i):s._compact()).finally(()=>{n.dispose(),c.dispose(),n.dispose()})}static _makeOutlineElement(e,t){const i=xu.findId(e,t),n=new BC(i,t,e);if(e.children)for(const s of e.children)il._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=ul.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 BC?e.push(t.symbol):e.push(...ul.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 il._flattenDocumentSymbols(t,e,""),t.sort((i,n)=>Pt.compare(z.getStartPosition(i.range),z.getStartPosition(n.range))||Pt.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&&il._flattenDocumentSymbols(e,n.children,n.name)}}const km=El("IOutlineModelService");let zC=class{constructor(e,t,i){this._languageFeaturesService=e,this._disposables=new je,this._cache=new sm(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()||!Ba(s.provider,n)){const a=new Es;s={versionId:e.getVersionId(),provider:n,promiseCnt:0,source:a,promise:il.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()}}};zC=FV([zw(0,Tt),zw(1,nr),zw(2,no)],zC);Pl(km,zC,1);Pn.registerCommand("_executeDocumentSymbolProvider",async function(o,...e){const[t]=e;tn(bn.isUri(t));const i=o.get(km),s=await o.get(ha).createModelReference(t);try{return(await i.getOrCreate(s.object.textEditorModel,_i.None)).getTopLevelSymbols()}finally{s.dispose()}});const Sa=class Sa extends $e{constructor(e,t){super(),this.contextKeyService=e,this.model=t,this.inlineCompletionVisible=Sa.inlineSuggestionVisible.bindTo(this.contextKeyService),this.inlineCompletionSuggestsIndentation=Sa.inlineSuggestionHasIndentation.bindTo(this.contextKeyService),this.inlineCompletionSuggestsIndentationLessThanTabSize=Sa.inlineSuggestionHasIndentationLessThanTabSize.bindTo(this.contextKeyService),this.suppressSuggestions=Sa.suppressSuggestions.bindTo(this.contextKeyService),this._register(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=pS(g);v===-1&&(v=g.length-1),s=v>0;const _=n.textModel.getOptions().tabSize;r=FO.visibleColumnFromColumn(g,v+1,_)<_}}this.inlineCompletionSuggestsIndentation.set(s),this.inlineCompletionSuggestsIndentationLessThanTabSize.set(r)}))}};Sa.inlineSuggestionVisible=new Bi("inlineSuggestionVisible",!1,y("inlineSuggestionVisible","Whether an inline suggestion is visible")),Sa.inlineSuggestionHasIndentation=new Bi("inlineSuggestionHasIndentation",!1,y("inlineSuggestionHasIndentation","Whether the inline suggestion starts with whitespace")),Sa.inlineSuggestionHasIndentationLessThanTabSize=new Bi("inlineSuggestionHasIndentationLessThanTabSize",!0,y("inlineSuggestionHasIndentationLessThanTabSize","Whether the inline suggestion starts with whitespace that is less than what would be inserted by tab")),Sa.suppressSuggestions=new Bi("inlineSuggestionSuppressSuggestions",void 0,y("suppressSuggestions","Whether suggestions should be suppressed for the current suggestion"));let Co=Sa;function HV(o){const e=new je,t=e.add(KE());return e.add(jn(i=>{t.setStyle(o.read(i))})),e}class Dp{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 GE([...this.parts.map(s=>new wl(z.fromPositions(new Pt(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 Tv{constructor(e,t,i){this.column=e,this.text=t,this.preview=i,this.lines=wy(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 VC{constructor(e,t,i,n=0){this.lineNumber=e,this.columnRange=t,this.text=i,this.additionalReservedLineCount=n,this.parts=[new Tv(this.columnRange.endColumnExclusive,this.text,!1)],this.newLines=wy(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 EI(o,e){return Ba(o,e,CN)}function CN(o,e){return o===e?!0:!o||!e?!1:o instanceof Dp&&e instanceof Dp||o instanceof VC&&e instanceof VC?o.equals(e):!1}const WV=[];function BV(){return WV}class xN{constructor(e,t){if(this.startColumn=e,this.endColumnExclusive=t,e>t)throw new hg(`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 LN(o,e){const t=new je,i=o.createDecorationsCollection();return t.add(HO({debugName:()=>`Apply decorations from ${e.debugName}`},n=>{const s=e.read(n);i.set(s)})),t.add({dispose:()=>{i.clear()}}),t}function zV(o,e){return new Pt(o.lineNumber+e.lineNumber-1,e.lineNumber===1?o.column+e.column-1:e.column)}function PI(o,e){return new Pt(o.lineNumber-e.lineNumber+1,o.lineNumber-e.lineNumber===0?o.column-e.column+1:o.column)}var VV=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},jV=function(o,e){return function(t,i){e(t,i,o)}};const TI="ghost-text";let jC=class extends $e{constructor(e,t,i){super(),this.editor=e,this.model=t,this.languageService=i,this.isDisposed=Fo(this,!1),this.currentTextModel=vo(this,this.editor.onDidChangeModel,()=>this.editor.getModel()),this.uiState=fn(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 VC?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 fp(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 fp(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,TI),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 xN(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=fn(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 Pt(s.lineNumber,a.column)),options:{description:TI,after:{content:a.text,inlineClassName:a.preview?"ghost-text-decoration-preview":"ghost-text-decoration",cursorStops:vu.Left},showIfCollapsed:!0}});return r}),this.additionalLinesWidget=this._register(new UV(this.editor,this.languageService.languageIdCodec,fn(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(Rn(()=>{this.isDisposed.set(!0,void 0)})),this._register(LN(this.editor,this.decorations))}ownsViewZone(e){return this.additionalLinesWidget.viewZoneId===e}};jC=VV([jV(2,da)],jC);class UV extends $e{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=md("editorOptionChanged",ms.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");$V(c,s,t,this.editor.getOptions(),this.languageIdCodec),this._viewZoneId=r.addZone({afterLineNumber:e,heightInLines:a,domNode:c,afterColumnAffinity:1})}})}}function $V(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 XE(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 A=eP(P),V=WO(P),H=BO.createEmpty(P,n);YE(new QE(g.isMonospace&&!s,g.canUseHalfwidthRightwardsArrow,P,!1,A,V,0,H,D.decorations,e,0,g.spaceWidth,g.middotWidth,g.wsmiddotWidth,r,a,c,h!==zO.OFF,null),p),p.appendString("</div>")}p.appendString("</div>"),JE(o,g);const v=p.build(),_=MI?MI.createHTML(v):v;o.innerHTML=_}const MI=ZE("editorGhostText",{createHTML:o=>o});function qV(o,e){const t=new $O,i=new jO(t,h=>e.getLanguageConfiguration(h)),n=new VO(new KV([o]),i),s=UO(n,[],void 0,!0);let r="";const a=o.getLineContent();function c(h,g){if(h.kind===2)if(c(h.openingBracket,g),g=cf(g,h.openingBracket.length),h.child&&(c(h.child,g),g=cf(g,h.child.length)),h.closingBracket)c(h.closingBracket,g),g=cf(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(ak(g),ak(cf(g,h.length)));else if(h.kind===4)for(const f of h.children)c(f,g),g=cf(g,f.length)}}return c(s,qO),r}class KV{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 kN(o,e,t,i,n=_i.None,s){const r=e instanceof Pt?XV(e,t):e,a=o.all(t),c=new KO;for(const D of a)D.groupId&&c.add(D.groupId,D);function h(D){if(!D.yieldsToGroupIds)return[];const P=[];for(const A of D.yieldsToGroupIds||[]){const V=c.get(A);for(const H of V)P.push(H)}return P}const g=new Map,f=new Set;function p(D,P){if(P=[...P,D],f.has(D))return P;f.add(D);try{const A=h(D);for(const V of A){const H=p(V,P);if(H)return H}}finally{f.delete(D)}}function v(D){const P=g.get(D);if(P)return P;const A=p(D,[]);A&&ss(new Error(`Inline completions: cyclic yield-to dependency detected. Path: ${A.map(H=>H.toString?H.toString():""+H).join(" -> ")}`));const V=new dy;return g.set(D,V.p),(async()=>{var H;if(!A){const J=h(D);for(const X of J){const fe=await v(X);if(fe&&fe.items.length>0)return}}try{return e instanceof Pt?await D.provideInlineCompletions(t,e,i,n):await((H=D.provideInlineEdits)==null?void 0:H.call(D,t,e,i,n))}catch(J){ss(J);return}})().then(H=>V.complete(H),H=>V.error(H)),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 A=new ZV(P,D.provider);S.push(A);for(const V of P.items){const H=Mv.from(V,A,r,t,s);w.set(H.hash(),H)}}return new GV(Array.from(w.values()),new Set(w.keys()),S)}class GV{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 ZV{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 Mv{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=NI(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=NI(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 bh().parse(e.insertText.snippet);g.children.length===1&&g.children[0]instanceof bo?(r=g.children[0].value,a=void 0):(r=g.toString(),a={snippet:e.insertText.snippet,range:c})}else GO(e.insertText);return new Mv(r,e.command,c,r,a,e.additionalTextEdits||BV(),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 Mv(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 wl(this.range,this.insertText)}}function XV(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 NI(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?qV(a,i):o}function Cd(o,e,t){const i=t?o.range.intersectRanges(t):o.range;if(!i)return o;const n=e.getValueInRange(i,1),s=hm(n,o.text),r=Q_.ofText(n.substring(0,s)).addToPosition(o.range.getStartPosition()),a=o.text.substring(s),c=z.fromPositions(r,o.range.getEndPosition());return new wl(c,a)}function IN(o,e){return o.text.startsWith(e.text)&&YV(o.range,e.range)}function RI(o,e,t,i,n=0){let s=Cd(o,e);if(s.range.endLineNumber!==s.range.startLineNumber)return;const r=e.getLineContent(s.range.startLineNumber),a=Fs(r).length;if(s.range.startColumn-1<=a){const _=Fs(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,A=z.fromPositions(P,D),V=s.text.startsWith(w)?s.text.substring(w.length):s.text.substring(_);s=new wl(A,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),A=s.text.substring(D,Math.max(_.modifiedStart,S));P.length>0&&p.push(new Tv(w,P,!1)),A.length>0&&p.push(new Tv(w,A,!0))}return new Dp(f,p)}function YV(o,e){return e.getStartPosition().equals(o.getStartPosition())&&e.getEndPosition().isBeforeOrEqual(o.getEndPosition())}let va;function QV(o,e){if((va==null?void 0:va.originalValue)===o&&(va==null?void 0:va.newValue)===e)return va==null?void 0:va.changes;{let t=OI(o,e,!0);if(t){const i=AI(t);if(i>0){const n=OI(o,e,!1);n&&AI(n)<i&&(t=n)}}return va={originalValue:o,newValue:e,changes:t},t}}function AI(o){let e=0;for(const t of o)e+=t.originalLength;return e}function OI(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 ZO({getElements:()=>a},{getElements:()=>c}).ComputeDiff(!1).changes}var JV=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},FI=function(o,e){return function(t,i){e(t,i,o)}};let UC=class extends $e{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 Wo),this.inlineCompletions=vS("inlineCompletions",void 0),this.suggestWidgetInlineCompletions=vS("suggestWidgetInlineCompletions",void 0),this._register(this.textModel.onDidChangeContent(()=>{this._updateOperation.clear()}))}fetch(e,t,i){var g,f;const n=new tj(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 Es,c=(async()=>{if((r||t.triggerKind===fl.Automatic)&&await ej(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 kN(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 nj(_,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(),Mh(D=>{s.set(S,D)}),!0})(),h=new ij(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()}};UC=JV([FI(3,Tt),FI(4,xs)],UC);function ej(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 tj{constructor(e,t,i){this.position=e,this.context=t,this.versionId=i}satisfies(e){return this.position.equals(e.position)&&XO(this.context.selectedSuggestionInfo,e.context.selectedSuggestionInfo,QO())&&(e.context.triggerKind===fl.Automatic||this.context.triggerKind===fl.Explicit)&&this.versionId===e.versionId}}class ij{constructor(e,t,i){this.request=e,this.cancellationTokenSource=t,this.promise=i}dispose(){this.cancellationTokenSource.cancel()}}class nj{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 HI(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 HI(e,n,this._textModel,this._versionId)),this._prependedInlineCompletionItems.push(e)}}class HI{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=al({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)??Vw)}toSingleTextEdit(e){return new wl(this._updatedRange.read(e)??Vw,this.inlineCompletion.insertText)}isVisible(e,t,i){const n=Cd(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)&&!!YO(p,g)}canBeReused(e,t){const i=this._updatedRange.read(void 0);return!!i&&i.containsPosition(t)&&this.isVisible(e,t,void 0)&&Q_.ofRange(i).isGreaterThanOrEqualTo(Q_.ofRange(this.inlineCompletion.range))}_toFilterTextReplacement(e){return new wl(this._updatedRange.read(e)??Vw,this.inlineCompletion.filterText)}}const Vw=new z(1,1,1,1),Xt={Visible:q1,HasFocusedSuggestion:new Bi("suggestWidgetHasFocusedSuggestion",!1,y("suggestWidgetHasSelection","Whether any suggestion is focused")),DetailsVisible:new Bi("suggestWidgetDetailsVisible",!1,y("suggestWidgetDetailsVisible","Whether suggestion details are visible")),MultipleSuggestions:new Bi("suggestWidgetMultipleSuggestions",!1,y("suggestWidgetMultipleSuggestions","Whether there are multiple suggestions to pick from")),MakesTextEdit:new Bi("suggestionMakesTextEdit",!0,y("suggestionMakesTextEdit","Whether inserting the current suggestion yields in a change or has everything already been typed")),AcceptSuggestionsOnEnter:new Bi("acceptSuggestionOnEnter",!0,y("acceptSuggestionOnEnter","Whether suggestions are inserted when pressing Enter")),HasInsertAndReplaceRange:new Bi("suggestionHasInsertAndReplaceRange",!1,y("suggestionHasInsertAndReplaceRange","Whether the current suggestion has insert and replace behaviour")),InsertMode:new Bi("suggestionInsertMode",void 0,{type:"string",description:y("suggestionInsertMode","Whether the default behaviour is to insert or replace")}),CanResolve:new Bi("suggestionCanResolve",!1,y("suggestionCanResolve","Whether the current suggestion supports to resolve further details"))},dc=new ht("suggestWidgetStatusBar");class sj{constructor(e,t,i,n){var s;this.position=e,this.completion=t,this.container=i,this.provider=n,this.isInvalid=!1,this.score=hp.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 Pt(t.range.startLineNumber,t.range.startColumn),this.editInsertEnd=new Pt(t.range.endLineNumber,t.range.endColumn),this.editReplaceEnd=new Pt(t.range.endLineNumber,t.range.endColumn),this.isInvalid=this.isInvalid||z.spansMultipleLines(t.range)||t.range.startLineNumber!==e.lineNumber):(this.editStart=new Pt(t.range.insert.startLineNumber,t.range.insert.startColumn),this.editInsertEnd=new Pt(t.range.insert.endLineNumber,t.range.insert.endColumn),this.editReplaceEnd=new Pt(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 xo(!0);this._resolveCache=Promise.resolve(this.provider.resolveCompletionItem(this.completion,e)).then(n=>{Object.assign(this.completion,n),this._resolveDuration=i.elapsed()},n=>{Oc(n)&&(this._resolveCache=void 0,this._resolveDuration=void 0)}).finally(()=>{t.dispose()})}return this._resolveCache}}const Pb=class Pb{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}};Pb.default=new Pb;let Ep=Pb;class oj{constructor(e,t,i,n){this.items=e,this.needsClipboard=t,this.durations=i,this.disposable=n}}async function J1(o,e,t,i=Ep.default,n={triggerKind:0},s=_i.None){const r=new xo;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 je,p=[];let v=!1;const _=(S,D,P)=>{var V;let A=!1;if(!D)return A;for(const H of D.suggestions)if(!i.kindFilter.has(H.kind)){if(!i.showDeprecated&&((V=H==null?void 0:H.tags)!=null&&V.includes(1)))continue;H.range||(H.range=h),H.sortText||(H.sortText=typeof H.label=="string"?H.label:H.label.label),!v&&H.insertTextRules&&H.insertTextRules&4&&(v=bh.guessNeedsClipboard(H.insertText)),g.push(new sj(t,H,D,S)),A=!0}return tP(D)&&f.add(D),p.push({providerName:S._debugDisplayName??"unknown_provider",elapsedProvider:D.duration??-1,elapsedOverall:P.elapsed()}),A},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 A=i.providerItemsToReuse.get(P);A.forEach(V=>g.push(V)),D=D||A.length>0;return}if(!(i.providerFilter.size>0&&!i.providerFilter.has(P)))try{const A=new xo,V=await P.provideCompletionItems(e,t,n,s);D=_(P,V,A)||D}catch(A){ss(A)}})),D||s.isCancellationRequested)break}return await w,s.isCancellationRequested?(f.dispose(),Promise.reject(new hy)):new oj(g.sort(lj(i.snippetSortOrder)),v,{entries:p,elapsed:r.elapsed()},f)}function eL(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 rj(o,e){if(o.completion.kind!==e.completion.kind){if(o.completion.kind===27)return-1;if(e.completion.kind===27)return 1}return eL(o,e)}function aj(o,e){if(o.completion.kind!==e.completion.kind){if(o.completion.kind===27)return 1;if(e.completion.kind===27)return-1}return eL(o,e)}const Ky=new Map;Ky.set(0,rj);Ky.set(2,aj);Ky.set(1,eL);function lj(o){return Ky.get(o)}Pn.registerCommand("_executeCompletionItemProvider",async(o,...e)=>{const[t,i,n,s]=e;tn(bn.isUri(t)),tn(Pt.isIPosition(i)),tn(typeof n=="string"||!n),tn(typeof s=="number"||!s);const{completionProvider:r}=o.get(Tt),a=await o.get(ha).createModelReference(t);try{const c={incomplete:!1,suggestions:[]},h=[],g=a.object.textEditorModel.validatePosition(i),f=await J1(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(_i.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 cj(o,e){var t;(t=o.getContribution("editor.contrib.suggestController"))==null||t.triggerSuggest(new Set().add(e),void 0,!0)}class Lu{static isAllOff(e){return e.other==="off"&&e.comments==="off"&&e.strings==="off"}static isAllOn(e){return e.other==="on"&&e.comments==="on"&&e.strings==="on"}static valueFor(e,t){switch(t){case 1:return e.comments;case 2:return e.strings;default:return e.other}}}function WI(o,e=cy){return JO(o,e)?o.charAt(0).toUpperCase()+o.slice(1):o}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},hj=function(o,e){return function(t,i){e(t,i,o)}};class BI{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 zI{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=Fs(s,0,this._selection.startColumn-1);let a=r;e.snippet.walk(h=>h===e?!1:(h instanceof bo&&(a=Fs(wy(h.value).pop())),!0));const c=hm(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 VI{constructor(e,t){this._labelService=e,this._model=t}resolve(e){const{name:t}=e;if(t==="TM_FILENAME")return Hf(this._model.uri.fsPath);if(t==="TM_FILENAME_BASE"){const i=Hf(this._model.uri.fsPath),n=i.lastIndexOf(".");return n<=0?i:i.slice(0,n)}else{if(t==="TM_DIRECTORY")return e2(this._model.uri.fsPath)==="."?"":this._labelService.getUriLabel(X0(this._model.uri));if(t==="TM_FILEPATH")return this._labelService.getUriLabel(this._model.uri);if(t==="RELATIVE_FILEPATH")return this._labelService.getUriLabel(this._model.uri,{relative:!0,noPrefix:!0})}}}class jI{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=>!t2(n));if(i.length===this._selectionCount)return i[this._selectionIdx]}return t}}}let Nv=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}}};Nv=dj([hj(2,xs)],Nv);const Ca=class Ca{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 Ca.dayNames[this._date.getDay()];if(t==="CURRENT_DAY_NAME_SHORT")return Ca.dayNamesShort[this._date.getDay()];if(t==="CURRENT_MONTH_NAME")return Ca.monthNames[this._date.getMonth()];if(t==="CURRENT_MONTH_NAME_SHORT")return Ca.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}}};Ca.dayNames=[y("Sunday","Sunday"),y("Monday","Monday"),y("Tuesday","Tuesday"),y("Wednesday","Wednesday"),y("Thursday","Thursday"),y("Friday","Friday"),y("Saturday","Saturday")],Ca.dayNamesShort=[y("SundayShort","Sun"),y("MondayShort","Mon"),y("TuesdayShort","Tue"),y("WednesdayShort","Wed"),y("ThursdayShort","Thu"),y("FridayShort","Fri"),y("SaturdayShort","Sat")],Ca.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")],Ca.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 Rv=Ca;class UI{constructor(e){this._workspaceService=e}resolve(e){if(!this._workspaceService)return;const t=i2(this._workspaceService.getWorkspace());if(!n2(t)){if(e.name==="WORKSPACE_NAME")return this._resolveWorkspaceName(t);if(e.name==="WORKSPACE_FOLDER")return this._resoveWorkspacePath(t)}}_resolveWorkspaceName(e){if(lk(e))return Hf(e.uri.path);let t=Hf(e.configPath.path);return t.endsWith(ck)&&(t=t.substr(0,t.length-ck.length-1)),t}_resoveWorkspacePath(e){if(lk(e))return WI(e.uri.fsPath);const t=Hf(e.configPath.path);let i=e.configPath.fsPath;return i.endsWith(t)&&(i=i.substr(0,i.length-t.length-1)),i?WI(i):"/"}}class $I{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 Fy()}}var uj=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},gj=function(o,e){return function(t,i){e(t,i,o)}},zr;const dr=class dr{constructor(e,t,i){this._editor=e,this._snippet=t,this._snippetLineLeadingWhitespace=i,this._offset=-1,this._nestingLevel=1,this._placeholderGroups=dk(t.placeholders,tr.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?dr._decor.inactiveFinal:dr._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(Gn.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 Kt(h.startLineNumber,h.startColumn,h.endLineNumber,h.endColumn)),t=t&&this._hasPlaceholderBeenCollapsed(a),n.changeDecorationOptions(c,a.isFinalTabstop?dr._decor.activeFinal:dr._decor.active),s.add(a);for(const g of this._snippet.enclosingPlaceholders(a)){const f=this._placeholderDecorations.get(g);n.changeDecorationOptions(f,g.isFinalTabstop?dr._decor.activeFinal:dr._decor.active),s.add(g)}}for(const[a,c]of this._placeholderDecorations)s.has(a)||n.changeDecorationOptions(c,a.isFinalTabstop?dr._decor.inactiveFinal:dr._decor.inactive);return r});return t?this.move(e):i??[]}_hasPlaceholderBeenCollapsed(e){let t=e;for(;t;){if(t instanceof tr){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 Ug,!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,dr._decor.inactive);this._placeholderDecorations.set(c,p)}}this._placeholderGroups=dk(this._snippet.placeholders,tr.compareByIndex)})}};dr._decor={active:Ai.register({description:"snippet-placeholder-1",stickiness:0,className:"snippet-placeholder"}),inactive:Ai.register({description:"snippet-placeholder-2",stickiness:1,className:"snippet-placeholder"}),activeFinal:Ai.register({description:"snippet-placeholder-3",stickiness:1,className:"finish-snippet-placeholder"}),inactiveFinal:Ai.register({description:"snippet-placeholder-4",stickiness:1,className:"finish-snippet-placeholder"})};let Av=dr;const qI={overwriteBefore:0,overwriteAfter:0,adjustWhitespace:!0,clipboardText:void 0,overtypingCapturer:void 0};let Ov=zr=class{static adjustWhitespace(e,t,i,n,s){const r=e.getLineContent(t.lineNumber),a=Fs(r,0,t.column-1);let c;return n.walk(h=>{if(!(h instanceof bo)||h.parent instanceof Ug||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 bo(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=Kt.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(ng)),_=e.invokeWithinContext(V=>new VI(V.get(dp),p)),w=()=>a,S=p.getValueInRange(zr.adjustSelection(p,e.getSelection(),i,0)),D=p.getValueInRange(zr.adjustSelection(p,e.getSelection(),0,n)),P=p.getLineFirstNonWhitespaceColumn(e.getSelection().positionLineNumber),A=e.getSelections().map((V,H)=>({selection:V,idx:H})).sort((V,H)=>z.compareRangesUsingStarts(V.selection,H.selection));for(const{selection:V,idx:H}of A){let J=zr.adjustSelection(p,V,i,0),X=zr.adjustSelection(p,V,0,n);S!==p.getValueInRange(J)&&(J=V),D!==p.getValueInRange(X)&&(X=V);const fe=V.setStartPosition(J.startLineNumber,J.startColumn).setEndPosition(X.endLineNumber,X.endColumn),Ie=new bh().parse(t,!0,s),Be=fe.getStartPosition(),Se=zr.adjustWhitespace(p,Be,r||H>0&&P!==p.getLineFirstNonWhitespaceColumn(V.positionLineNumber),Ie);Ie.resolveVariables(new BI([_,new jI(w,H,A.length,e.getOption(79)==="spread"),new zI(p,V,H,c),new Nv(p,V,h),new Rv,new UI(v),new $I])),g[H]=Gn.replace(fe,Ie.toString()),g[H].identifier={major:H,minor:0},g[H]._isTracked=!0,f[H]=new Av(e,Ie,Se)}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 bh,f=new bm,p=new BI([e.invokeWithinContext(_=>new VI(_.get(dp),h)),new jI(()=>s,0,e.getSelections().length,e.getOption(79)==="spread"),new zI(h,e.getSelection(),0,r),new Nv(h,e.getSelection(),a),new Rv,new UI(e.invokeWithinContext(_=>_.get(ng))),new $I]);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 H=t[_-1].range,J=z.fromPositions(H.getEndPosition(),w.getStartPosition()),X=new bo(h.getValueInRange(J));f.appendChild(X),v+=X.value.length}const D=g.parseFragment(S,f);zr.adjustWhitespace(h,w.getStartPosition(),!0,f,new Set(D)),f.resolveVariables(p);const P=f.toString(),A=P.slice(v);v=P.length;const V=Gn.replace(w,A);V.identifier={major:_,minor:0},V._isTracked=!0,c.push(V)}return g.ensureFinalTabstop(f,i,!0),{edits:c,snippets:[new Av(e,f,"")]}}constructor(e,t,i=qI,n){this._editor=e,this._template=t,this._options=i,this._languageConfigurationService=n,this._templateMerges=[],this._snippets=[]}dispose(){Xs(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"?zr.createEditsAndSnippetsFromSelections(this._editor,this._template,this._options.overwriteBefore,this._options.overwriteAfter,!1,this._options.adjustWhitespace,this._options.clipboardText,this._options.overtypingCapturer,this._languageConfigurationService):zr.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=>Kt.fromPositions(s.range.getEndPosition()))}),this._editor.revealRange(this._editor.getSelections()[0])}merge(e,t=qI){if(!this._editor.hasModel())return;this._templateMerges.push([this._snippets[0]._nestingLevel,this._snippets[0]._placeholderGroupsIdx,e]);const{edits:i,snippets:n}=zr.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=>Kt.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}};Ov=zr=uj([gj(3,xs)],Ov);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},r_=function(o,e){return function(t,i){e(t,i,o)}},fu;const KI={overwriteBefore:0,overwriteAfter:0,undoStopBefore:!0,undoStopAfter:!0,adjustWhitespace:!0,clipboardText:void 0,overtypingCapturer:void 0};var Ta;let to=(Ta=class{static get(e){return e.getContribution(fu.ID)}constructor(e,t,i,n,s){this._editor=e,this._logService=t,this._languageFeaturesService=i,this._languageConfigurationService=s,this._snippetListener=new je,this._modelVersionId=-1,this._inSnippet=fu.InSnippetMode.bindTo(n),this._hasNextTabstop=fu.HasNextTabstop.bindTo(n),this._hasPrevTabstop=fu.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"?KI:{...KI,...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?(tn(typeof e=="string"),this._session.merge(e,t)):(this._modelVersionId=this._editor.getModel().getAlternativeVersionId(),this._session=new Ov(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()||!Pt.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(()=>{cj(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()}},fu=Ta,Ta.ID="snippetController2",Ta.InSnippetMode=new Bi("inSnippetMode",!1,y("inSnippetMode","Whether the editor in current in snippet mode")),Ta.HasNextTabstop=new Bi("hasNextTabstop",!1,y("hasNextTabstop","Whether there is a next tab stop when in snippet mode")),Ta.HasPrevTabstop=new Bi("hasPrevTabstop",!1,y("hasPrevTabstop","Whether there is a previous tab stop when in snippet mode")),Ta);to=fu=fj([r_(1,Nh),r_(2,Tt),r_(3,Yi),r_(4,xs)],to);wi(to.ID,to,4);const Gy=go.bindToContribution(to.get);Mt(new Gy({id:"jumpToNextSnippetPlaceholder",precondition:ce.and(to.InSnippetMode,to.HasNextTabstop),handler:o=>o.next(),kbOpts:{weight:130,kbExpr:R.textInputFocus,primary:2}}));Mt(new Gy({id:"jumpToPrevSnippetPlaceholder",precondition:ce.and(to.InSnippetMode,to.HasPrevTabstop),handler:o=>o.prev(),kbOpts:{weight:130,kbExpr:R.textInputFocus,primary:1026}}));Mt(new Gy({id:"leaveSnippet",precondition:to.InSnippetMode,handler:o=>o.cancel(!0),kbOpts:{weight:130,kbExpr:R.textInputFocus,primary:9,secondary:[1033]}}));Mt(new Gy({id:"acceptSnippet",precondition:to.InSnippetMode,handler:o=>o.finish()}));var pj=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},jw=function(o,e){return function(t,i){e(t,i,o)}};let $C=class extends $e{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(UC,this.textModel,this._textModelVersionId,this._debounceValue)),this._isActive=Fo(this,!1),this._forceUpdateExplicitlySignal=t1(this),this._selectedInlineCompletionId=Fo(this,void 0),this._primaryPosition=fn(this,_=>this._positions.read(_)[0]??new Pt(1,1)),this._isAcceptingPartially=!1,this._preserveCurrentCompletionReasons=new Set([tl.Redo,tl.Undo,tl.AcceptWord]),this._fetchInlineCompletionsPromise=iP({owner:this,createEmptyChangeSummary:()=>({preserveCurrentCompletion:!1,inlineCompletionTriggerKind:fl.Automatic}),handleChange:(_,w)=>(_.didChange(this._textModelVersionId)&&this._preserveCurrentCompletionReasons.has(this._getReason(_.change))?w.preserveCurrentCompletion=!0:_.didChange(this._forceUpdateExplicitlySignal)&&(w.inlineCompletionTriggerKind=fl.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();Mh(fe=>{(!X||D.request.versionId>X.request.versionId)&&this._source.inlineCompletions.set(D.clone(),fe),this._source.clearSuggestWidgetInlineCompletions(fe)})}const A=this._primaryPosition.read(_),V={triggerKind:w.inlineCompletionTriggerKind,selectedSuggestionInfo:P==null?void 0:P.toSelectedSuggestionInfo()},H=this.selectedInlineCompletion.get(),J=w.preserveCurrentCompletion||H!=null&&H.forwardStable?H:void 0;return this._source.fetch(A,V,J)}),this._filteredInlineCompletionItems=al({owner:this,equalsFn:bS()},_=>{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=fn(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=fn(this,_=>{const w=this._filteredInlineCompletionItems.read(_),S=this.selectedInlineCompletionIndex.read(_);return w[S]}),this.activeCommands=al({owner:this,equalsFn:bS()},_=>{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=fn(this,_=>{if(this.lastTriggerKind.read(_)===fl.Explicit)return this._filteredInlineCompletionItems.read(_).length}),this.state=al({owner:this,equalsFn:(_,w)=>!_||!w?_===w:EI(_.ghostTexts,w.ghostTexts)&&_.inlineCompletion===w.inlineCompletion&&_.suggestItem===w.suggestItem},_=>{const w=this.textModel,S=this.selectedSuggestItem.read(_);if(S){const D=Cd(S.toSingleTextEdit(),w),P=this._computeAugmentation(D,_);if(!this._suggestPreviewEnabled.read(_)&&!P)return;const V=(P==null?void 0:P.edit)??D,H=P?P.edit.text.length-D.text.length:0,J=this._suggestPreviewMode.read(_),X=this._positions.read(_),fe=[V,...Uw(this.textModel,X,V)],Ie=fe.map((Se,ut)=>RI(Se,w,J,X[ut],H)).filter(S_),Be=Ie[0]??new Dp(V.range.endLineNumber,[]);return{edits:fe,primaryGhostText:Be,ghostTexts:Ie,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(_),A=this._inlineSuggestMode.read(_),V=this._positions.read(_),H=[P,...Uw(this.textModel,V,P)],J=H.map((X,fe)=>RI(X,w,A,V[fe],0)).filter(S_);return J[0]?{edits:H,primaryGhostText:J[0],ghostTexts:J,inlineCompletion:D,suggestItem:void 0}:void 0}}),this.ghostTexts=al({owner:this,equalsFn:EI},_=>{const w=this.state.read(_);if(w)return w.ghostTexts}),this.primaryGhostText=al({owner:this,equalsFn:CN},_=>{const w=this.state.read(_);if(w)return w==null?void 0:w.primaryGhostText}),this._register(nP(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 A=S.inlineCompletion,V=A.source;(P=(D=V.provider).handleItemDidShow)==null||P.call(D,V.inlineCompletions,A.sourceInlineCompletion,A.insertText)}}))}_getReason(e){return e!=null&&e.isUndoing?tl.Undo:e!=null&&e.isRedoing?tl.Redo:this.isAcceptingPartially?tl.AcceptWord:tl.Other}async trigger(e){this._isActive.set(!0,e),await this._fetchInlineCompletionsPromise.get()}async triggerExplicitly(e){J_(e,t=>{this._isActive.set(!0,t),this._forceUpdateExplicitlySignal.trigger(t)}),await this._fetchInlineCompletionsPromise.get()}stop(e){J_(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(S_);return s2(s,a=>{let c=a.toSingleTextEdit(t);return c=Cd(c,i,z.fromPositions(c.range.getStartPosition(),e.range.getEndPosition())),IN(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 hg;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",[Gn.replace(i.range,""),...i.additionalTextEdits]),e.setPosition(i.snippetInfo.range.getStartPosition(),"inlineCompletionAccept"),(n=to.get(e))==null||n.insert(i.snippetInfo.snippet,{undoStopBefore:!1});else{const s=t.edits,r=GI(s).map(a=>Kt.fromPositions(a));e.executeEdits("inlineSuggestion.accept",[...s.map(a=>Gn.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,ss),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 hg;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 Pt(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 wl(_,w),D=[S,...Uw(this.textModel,p,S)],P=GI(D).map(A=>Kt.fromPositions(A));e.executeEdits("inlineSuggestion.accept",D.map(A=>Gn.replace(A.range,A.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(),Q_.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=Cd(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})}};$C=pj([jw(9,di),jw(10,Cs),jw(11,xs)],$C);var tl;(function(o){o[o.Undo=0]="Undo",o[o.Redo=1]="Redo",o[o.AcceptWord=2]="AcceptWord",o[o.Other=3]="Other"})(tl||(tl={}));function Uw(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=PI(i,s);if(c.lineNumber<1)return Cn(new hg(`positionWithinTextEdit line number should be bigger than 0.
36
- Invalid subtraction between ${i.toString()} and ${s.toString()}`)),[];const h=mj(t.text,c);return n.map(g=>{const f=zV(PI(g,s),r),p=o.getValueInRange(z.fromPositions(g,f)),v=hm(a,p),_=z.fromPositions(g,g.delta(0,v));return new wl(_,h)})}function mj(o,e){let t="";const i=r2(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 GI(o){const e=o2.createSortPermutation(o,cm(s=>s.range,z.compareRangesUsingStarts)),i=new GE(e.apply(o)).getNewRanges();return e.inverse().apply(i).map(s=>s.getEndPosition())}var _j=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},ZI=function(o,e){return function(t,i){e(t,i,o)}},kf;class tL{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 XI extends tL{constructor(){super("first")}memorize(e,t,i){}toJSON(){}fromJSON(){}}class vj extends tL{constructor(){super("recentlyUsed"),this._cache=new sm(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:i1.fromString(n.type),this._cache.set(i,n);this._seq=this._cache.size}}class bj extends tL{constructor(){super("recentlyUsedByPrefix"),this._trie=a2.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:i1.fromString(i.type),this._trie.set(t,i)}}}var bc;let qC=(bc=class{constructor(e,t){this._storageService=e,this._configService=t,this._disposables=new je,this._persistSoon=new _s(()=>this._saveState(),500),this._disposables.add(e.onWillSaveState(i=>{i.reason===q0.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=kf._strategyCtors.get(i)||XI;this._strategy=new s;try{const a=this._configService.getValue("editor.suggest.shareSuggestSelections")?0:1,c=this._storageService.get(`${kf._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(`${kf._storagePrefix}/${this._strategy.name}`,i,t,1)}}},kf=bc,bc._strategyCtors=new Map([["recentlyUsedByPrefix",bj],["recentlyUsed",vj],["first",XI]]),bc._storagePrefix="suggest/memories",bc);qC=kf=_j([ZI(0,Fc),ZI(1,On)],qC);const Zy=El("ISuggestMemories");Pl(Zy,qC,1);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},wj=function(o,e){return function(t,i){e(t,i,o)}},KC,Ud;let Fv=(Ud=class{constructor(e,t){this._editor=e,this._enabled=!1,this._ckAtEnd=KC.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)}},KC=Ud,Ud.AtEnd=new Bi("atEndOfWord",!1),Ud);Fv=KC=yj([wj(1,Yi)],Fv);var Sj=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Cj=function(o,e){return function(t,i){e(t,i,o)}},If,$d;let Dg=($d=class{constructor(e,t){this._editor=e,this._index=0,this._ckOtherSuggestions=If.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(If._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=If._moveIndex(e,this._model,this._index),this._acceptNext({index:this._index,item:this._model.items[this._index],model:this._model})}finally{this._ignore=!1}}},If=$d,$d.OtherSuggestions=new Bi("hasOtherSuggestions",!1),$d);Dg=If=Sj([Cj(1,Yi)],Dg);class xj{constructor(e,t,i,n){this._disposables=new je,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||!Oo(e.item.completion.commitCharacters)){this.reset();return}if(this._active&&this._active.item.item===e.item)return;const t=new Y_;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 Zo=class Zo{async provideSelectionRanges(e,t){const i=[];for(const n of t){const s=[];i.push(s);const r=new Map;await new Promise(a=>Zo._bracketsRightYield(a,0,e,n,r)),await new Promise(a=>Zo._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>=Zo._maxRounds){e();break}if(!n){e();break}const c=i.bracketPairs.findNextBracket(n);if(!c){e();break}if(Date.now()-a>Zo._maxDuration){setTimeout(()=>Zo._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 sP,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>=Zo._maxRounds&&s.size===0){e();break}if(!n){e();break}const h=i.bracketPairs.findPrevBracket(n);if(!h){e();break}if(Date.now()-c>Zo._maxDuration){setTimeout(()=>Zo._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}),Zo._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 Pt(n,s),t.getEndPosition())}),i.push({range:z.fromPositions(new Pt(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 Pt(r,a),t.getEndPosition())}),i.push({range:z.fromPositions(new Pt(r,1),t.getEndPosition())}))}}};Zo._maxDuration=30,Zo._maxRounds=2;let Hv=Zo;const xa=class xa{static async create(e,t){if(!t.getOption(119).localityBonus||!t.hasModel())return xa.None;const i=t.getModel(),n=t.getPosition();if(!e.canComputeWordRanges(i.uri))return xa.None;const[s]=await new Hv().provideSelectionRanges(i,[n]);if(s.length===0)return xa.None;const r=await e.computeWordRanges(i.uri,s[0].range);if(!r)return xa.None;const a=i.getWordUntilPosition(n);return delete r[a.word],new class extends xa{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(l2(f))return 2<<20;const p=ev(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 _}}}};xa.None=new class extends xa{distance(){return 0}};let Wv=xa,YI=class{constructor(e,t){this.leadingLineContent=e,this.characterCountDelta=t}};class Zl{constructor(e,t,i,n,s,r,a=oP.default,c=void 0){this.clipboardText=c,this._snippetCompareFn=Zl._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=Zl._compareCompletionItemsSnippetsUp:r==="bottom"&&(this._snippetCompareFn=Zl._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?rP:c2;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=hp.Default;else{let _=0;for(;_<p;){const w=n.charCodeAt(_);if(w===32||w===9)_+=1;else break}if(_>=v)g.score=hp.Default;else if(typeof g.completion.filterText=="string"){const w=c(n,s,_,g.completion.filterText,g.filterTextLow,0,this._fuzzyScoreOptions);if(!w)continue;d2(g.completion.filterText,g.textLabel)===0?g.score=w:(g.score=h2(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?u2(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 Zl._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 Zl._compareCompletionItems(e,t)}}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},zl=function(o,e){return function(t,i){e(t,i,o)}},GC;class Gc{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 kj(o,e,t){if(!e.getContextKeyValue(Co.inlineSuggestionVisible.key))return!0;const i=e.getContextKeyValue(Co.suppressSuggestions.key);return i!==void 0?!i:!o.getOption(62).suppressSuggestions}function Ij(o,e,t){if(!e.getContextKeyValue("inlineSuggestionVisible"))return!0;const i=e.getContextKeyValue(Co.suppressSuggestions.key);return i!==void 0?!i:!o.getOption(62).suppressSuggestions}let Bv=GC=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 je,this._triggerCharacterListener=new je,this._triggerQuickSuggest=new tm,this._triggerState=void 0,this._completionDisposables=new je,this._onDidCancel=new mi,this._onDidTrigger=new mi,this._onDidSuggest=new mi,this.onDidCancel=this._onDidCancel.event,this.onDidTrigger=this._onDidTrigger.event,this.onDidSuggest=this._onDidSuggest.event,this._telemetryGate=0,this._currentSelection=this._editor.getSelection()||new Kt(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(){Xs(this._triggerCharacterListener),Xs([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(!Ij(this._editor,this._contextKeyService,this._configurationService)||Gc.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="";f2(i.charCodeAt(i.length-1))?p2(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;Lu.isAllOff(this._editor.getOption(90))||this._editor.getOption(119).snippetsPreventQuickSuggestions&&((e=to.get(this._editor))!=null&&e.isInSnippet())||(this.cancel(),this._triggerQuickSuggest.cancelAndSet(()=>{if(this._triggerState!==void 0||!Gc.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(!Lu.isAllOff(n)){if(!Lu.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(Lu.valueFor(n,r)!=="on")return}kj(this._editor,this._contextKeyService,this._configurationService)&&this._languageFeaturesService.completionProvider.has(t)&&this.trigger({auto:!0})}},this._editor.getOption(91)))}_refilterCompletionItems(){tn(this._editor.hasModel()),tn(this._triggerState!==void 0);const e=this._editor.getModel(),t=this._editor.getPosition(),i=new Gc(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 Gc(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 Es;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}=GC.createSuggestFilter(this._editor),h=new Ep(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=Wv.create(this._editorWorkerService,this._editor),f=J1(this._languageFeaturesService.completionProvider,t,this._editor.getPosition(),h,n,this._requestToken.token);Promise.all([f,g]).then(async([w,S])=>{var H;if((H=this._requestToken)==null||H.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(),A=new Gc(P,this._editor.getPosition(),e),V={...oP.default,firstMatchCanBeWeak:!this._editor.getOption(119).matchOnWordStartOnly};if(this._completionModel=new Zl(w.items,this._context.column,{leadingLineContent:A.leadingLineContent,characterCountDelta:A.column-this._context.column},S,this._editor.getOption(119),this._editor.getOption(113),V,D),this._completionDisposables.add(w.disposable),this._onNewContext(A),this._reportDurationsTelemetry(w.durations),!this._envService.isBuilt||this._envService.isExtensionDevelopment)for(const J of w.items)J.isInvalid&&this._logService.warn(`[suggest] did IGNORE invalid completion item from ${J.provider._debugDisplayName}`,J.completion)}).catch(Cn)}_reportDurationsTelemetry(e){this._telemetryGate++%230===0&&setTimeout(()=>{this._telemetryService.publicLog2("suggest.durations.json",{data:JSON.stringify(e)}),this._logService.debug("suggest.durations.json",e)})}static createSuggestFilter(e){const t=new Set;e.getOption(113)==="none"&&t.add(27);const n=e.getOption(119);return n.showMethods||t.add(0),n.showFunctions||t.add(1),n.showConstructors||t.add(2),n.showFields||t.add(3),n.showVariables||t.add(4),n.showClasses||t.add(5),n.showStructs||t.add(6),n.showInterfaces||t.add(7),n.showModules||t.add(8),n.showProperties||t.add(9),n.showEvents||t.add(10),n.showOperators||t.add(11),n.showUnits||t.add(12),n.showValues||t.add(13),n.showConstants||t.add(14),n.showEnums||t.add(15),n.showEnumMembers||t.add(16),n.showKeywords||t.add(17),n.showWords||t.add(18),n.showColors||t.add(19),n.showFiles||t.add(20),n.showReferences||t.add(21),n.showColors||t.add(22),n.showFolders||t.add(23),n.showTypeParameters||t.add(24),n.showSnippets||t.add(27),n.showUsers||t.add(25),n.showIssues||t.add(26),{itemKind:t,showDeprecated:n.showDeprecated}}_onNewContext(e){if(this._context){if(e.lineNumber!==this._context.lineNumber){this.cancel();return}if(Fs(e.leadingLineContent)!==Fs(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(Gc.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=Gc.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})}}}}};Bv=GC=Lj([zl(1,Tl),zl(2,Og),zl(3,ca),zl(4,Nh),zl(5,Yi),zl(6,On),zl(7,Tt),zl(8,g2)],Bv);const Tb=class Tb{constructor(e,t){this._disposables=new je,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)>Tb._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()}};Tb._maxSelectionLength=51200;let ZC=Tb;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},$w=function(o,e){return function(t,i){e(t,i,o)}};let XC=class{constructor(e,t,i,n,s){this._menuId=t,this._menuService=n,this._contextKeyService=s,this._menuDisposables=new je,this.element=gt(e,bt(".suggest-status-bar"));const r=(a=>a instanceof dg?i.createInstance(m2,a,{useComma:!0}):void 0);this._leftActions=new op(this.element,{actionViewItemProvider:r}),this._rightActions=new op(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()}};XC=Dj([$w(2,di),$w(3,Th),$w(4,Yi)],XC);var Ej=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Pj=function(o,e){return function(t,i){e(t,i,o)}};function iL(o){return!!o&&!!(o.completion.documentation||o.completion.detail&&o.completion.detail!==o.completion.label)}let YC=class{constructor(e,t){this._editor=e,this._onDidClose=new mi,this.onDidClose=this._onDidClose.event,this._onDidChangeContents=new mi,this.onDidChangeContents=this._onDidChangeContents.event,this._disposables=new je,this._renderDisposeable=new je,this._borderWidth=1,this._size=new In(330,0),this.domNode=bt(".suggest-details"),this.domNode.classList.add("no-docs"),this._markdownRenderer=t.createInstance(Wg,{editor:e}),this._body=bt(".body"),this._scrollbar=new aP(this._body,{alwaysConsumeMouseWheel:!0}),gt(this.domNode,this._scrollbar.getDomNode()),this._disposables.add(this._scrollbar),this._header=gt(this._body,bt(".header")),this._close=gt(this._header,bt("span"+sn.asCSSSelector(Jt.close))),this._close.title=y("details.close","Close"),this._type=gt(this._header,bt("p.type")),this._docs=gt(this._body,bt("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 Gs().appendCodeblock("empty",r),i=`Provider: ${e.provider._debugDisplayName}`}if(!t&&!iL(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,br(this._type),this._type.classList.toggle("auto-wrap",!/\r?\n^\s+/gmi.test(r))}else Fa(this._type),this._type.title="",Mo(this._type),this.domNode.classList.add("no-type");if(Fa(this._docs),typeof n=="string")this._docs.classList.remove("markdown-docs"),this._docs.textContent=n;else if(n){this._docs.classList.add("markdown-docs"),Fa(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 In(e,t);In.equals(i,this._size)||(this._size=i,_2(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}};YC=Ej([Pj(1,di)],YC);class Tj{constructor(e,t){this.widget=e,this._editor=t,this.allowEditorOverflow=!0,this._disposables=new je,this._added=!1,this._preferAlignAtTop=!0,this._resizable=new A1,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=am(this.getDomNode().ownerDocument.body),s=this.widget.getLayoutInfo(),r=new In(220,2*s.lineHeight),a=e.top,c=(function(){const H=n.width-(e.left+e.width+s.borderWidth+s.horizontalPadding),J=-s.borderWidth+e.left+e.width,X=new In(H,n.height-e.top-s.borderHeight-s.verticalPadding),fe=X.with(void 0,e.top+e.height-s.borderHeight-s.verticalPadding);return{top:a,left:J,fit:H-t.width,maxSizeTop:X,maxSizeBottom:fe,minSize:r.with(Math.min(H,r.width))}})(),h=(function(){const H=e.left-s.borderWidth-s.horizontalPadding,J=Math.max(s.horizontalPadding,e.left-t.width-s.borderWidth),X=new In(H,n.height-e.top-s.borderHeight-s.verticalPadding),fe=X.with(void 0,e.top+e.height-s.borderHeight-s.verticalPadding);return{top:a,left:J,fit:H-t.width,maxSizeTop:X,maxSizeBottom:fe,minSize:r.with(Math.min(H,r.width))}})(),g=(function(){const H=e.left,J=-s.borderWidth+e.top+e.height,X=new In(e.width-s.borderHeight,n.height-e.top-e.height-s.verticalPadding);return{top:J,left:H,fit:X.height-t.height,maxSizeBottom:X,maxSizeTop:X,minSize:r.with(X.width)}})(),f=[c,h,g],p=f.find(H=>H.fit>=0)??f.sort((H,J)=>J.fit-H.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:A}=p;!_&&w>e.height&&(P=v-w);const V=this._editor.getDomNode();if(V){const H=V.getBoundingClientRect();P-=H.top,A-=H.left}this._applyTopLeft({left:A,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 Aa;(function(o){o[o.FILE=0]="FILE",o[o.FOLDER=1]="FOLDER",o[o.ROOT_FOLDER=2]="ROOT_FOLDER"})(Aa||(Aa={}));const Mj=/(?:\/|^)(?:([^\/]+)\/)?([^\/]+)$/;function a_(o,e,t,i,n){if(sn.isThemeIcon(n))return[`codicon-${n.id}`,"predefined-file-icon"];if(bn.isUri(n))return[];const s=i===Aa.ROOT_FOLDER?["rootfolder-icon"]:i===Aa.FOLDER?["folder-icon"]:["file-icon"];if(t){let r;if(t.scheme===ro.data)r=tv.parseMetaData(t).get(tv.META_DATA_LABEL);else{const a=t.path.match(Mj);a?(r=l_(a[2].toLowerCase()),a[1]&&s.push(`${l_(a[1].toLowerCase())}-name-dir-icon`)):r=l_(t.authority.toLowerCase())}if(i===Aa.ROOT_FOLDER)s.push(`${r}-root-name-folder-icon`);else if(i===Aa.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=Nj(o,e,t);a&&s.push(`${l_(a)}-lang-file-icon`)}}return s}function Nj(o,e,t){if(!t)return null;let i=null;if(t.scheme===ro.data){const s=tv.parseMetaData(t).get(tv.META_DATA_MIME);s&&(i=e.getLanguageIdByMimeType(s))}else{const n=o.getModel(t);n&&(i=n.getLanguageId())}return i&&i!==up?i:e.guessLanguageIdByFilepathOrFirstLine(t)}function l_(o){return o.replace(/[\s]/g,"/")}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},qw=function(o,e){return function(t,i){e(t,i,o)}};function DN(o){return`suggest-aria-id:${o}`}const Aj=ts("suggest-more-info",Jt.chevronRight,y("suggestMoreInfoIcon","Icon for more information in the suggest widget."));var Qr;const Oj=new(Qr=class{extract(e,t){if(e.textLabel.match(Qr._regexStrict))return t[0]=e.textLabel,!0;if(e.completion.detail&&e.completion.detail.match(Qr._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=Qr._regexRelaxed.exec(i);if(n&&(n.index===0||n.index+n[0].length===i.length))return t[0]=n[0],!0}return!1}},Qr._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*\))/,Qr._regexStrict=new RegExp(`^${Qr._regexRelaxed.source}$`,"i"),Qr);let QC=class{constructor(e,t,i,n){this._editor=e,this._modelService=t,this._languageService=i,this._themeService=n,this._onDidToggleDetails=new mi,this.onDidToggleDetails=this._onDidToggleDetails.event,this.templateId="suggestion"}dispose(){this._onDidToggleDetails.dispose()}renderTemplate(e){const t=new je,i=e;i.classList.add("show-file-icons");const n=gt(e,bt(".icon")),s=gt(n,bt("span.colorspan")),r=gt(e,bt(".contents")),a=gt(r,bt(".main")),c=gt(a,bt(".icon-label.codicon")),h=gt(a,bt("span.left")),g=gt(a,bt("span.right")),f=new kE(h,{supportHighlights:!0,supportIcons:!0});t.add(f);const p=gt(h,bt("span.signature-label")),v=gt(h,bt("span.qualifier-label")),_=gt(g,bt("span.details-label")),w=gt(g,bt("span.readMore"+sn.asCSSSelector(Aj)));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),A=P.getMassagedFontFamily(),V=P.fontFeatureSettings,H=D.get(120)||P.fontSize,J=D.get(121)||P.lineHeight,X=P.fontWeight,fe=P.letterSpacing,Ie=`${H}px`,Be=`${J}px`,Se=`${fe}px`;i.style.fontSize=Ie,i.style.fontWeight=X,i.style.letterSpacing=Se,a.style.fontFamily=A,a.style.fontFeatureSettings=V,a.style.lineHeight=Be,n.style.height=Be,n.style.width=Be,w.style.height=Be,w.style.width=Be}}}renderElement(e,t,i){i.configureFont();const{completion:n}=e;i.root.id=DN(t),i.colorspan.style.backgroundColor="";const s={labelEscapeNewLines:!0,matches:vy(e.score)},r=[];if(n.kind===19&&Oj.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=a_(this._modelService,this._languageService,bn.from({scheme:"fake",path:e.textLabel}),Aa.FILE),c=a_(this._modelService,this._languageService,bn.from({scheme:"fake",path:n.detail}),Aa.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=[a_(this._modelService,this._languageService,bn.from({scheme:"fake",path:e.textLabel}),Aa.FOLDER),a_(this._modelService,this._languageService,bn.from({scheme:"fake",path:n.detail}),Aa.FOLDER)].flat()):(i.icon.className="icon hide",i.iconContainer.className="",i.iconContainer.classList.add("suggest-icon",...sn.asClassNameArray(i1.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=Kw(n.detail||""),i.root.classList.add("string-label")):(i.parametersLabel.textContent=Kw(n.label.detail||""),i.detailsLabel.textContent=Kw(n.label.description||""),i.root.classList.remove("string-label")),this._editor.getOption(119).showInlineDetails?br(i.detailsLabel):Mo(i.detailsLabel),iL(e)?(i.right.classList.add("can-expand-details"),br(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"),Mo(i.readMore),i.readMore.onmousedown=null,i.readMore.onclick=null)}disposeTemplate(e){e.disposables.dispose()}};QC=Rj([qw(1,no),qw(2,da),qw(3,Er)],QC);function Kw(o){return o.replace(/\r\n|\r|\n/g,"")}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},c_=function(o,e){return function(t,i){e(t,i,o)}},pu;yt("editorSuggestWidget.background",lP,y("editorSuggestWidgetBackground","Background color of the suggest widget."));yt("editorSuggestWidget.border",v2,y("editorSuggestWidgetBorder","Border color of the suggest widget."));const Hj=yt("editorSuggestWidget.foreground",dm,y("editorSuggestWidgetForeground","Foreground color of the suggest widget."));yt("editorSuggestWidget.selectedForeground",cP,y("editorSuggestWidgetSelectedForeground","Foreground color of the selected entry in the suggest widget."));yt("editorSuggestWidget.selectedIconForeground",b2,y("editorSuggestWidgetSelectedIconForeground","Icon foreground color of the selected entry in the suggest widget."));const Wj=yt("editorSuggestWidget.selectedBackground",dP,y("editorSuggestWidgetSelectedBackground","Background color of the selected entry in the suggest widget."));yt("editorSuggestWidget.highlightForeground",hP,y("editorSuggestWidgetHighlightForeground","Color of the match highlights in the suggest widget."));yt("editorSuggestWidget.focusHighlightForeground",y2,y("editorSuggestWidgetFocusHighlightForeground","Color of the match highlights in the suggest widget when an item is focused."));yt("editorSuggestWidgetStatus.foreground",Ha(Hj,.5),y("editorSuggestWidgetStatusForeground","Foreground color of the suggest widget status."));class Bj{constructor(e,t){this._service=e,this._key=`suggestWidget.size/${t.getEditorType()}/${t instanceof Dr}`}restore(){const e=this._service.get(this._key,0)??"";try{const t=JSON.parse(e);if(In.is(t))return In.lift(t)}catch{}}store(e){this._service.store(this._key,JSON.stringify(e),0,1)}reset(){this._service.remove(this._key,0)}}var yc;let JC=(yc=class{constructor(e,t,i,n,s){this.editor=e,this._storageService=t,this._state=0,this._isAuto=!1,this._pendingLayout=new Wo,this._pendingShowDetails=new Wo,this._ignoreFocusEvents=!1,this._forceRenderingAbove=!1,this._explainMode=!1,this._showTimeout=new tm,this._disposables=new je,this._onDidSelect=new hk,this._onDidFocus=new hk,this._onDidHide=new mi,this._onDidShow=new mi,this.onDidSelect=this._onDidSelect.event,this.onDidFocus=this._onDidFocus.event,this.onDidHide=this._onDidHide.event,this.onDidShow=this._onDidShow.event,this._onDetailsKeydown=new mi,this.onDetailsKeyDown=this._onDetailsKeydown.event,this.element=new A1,this.element.domNode.classList.add("editor-widget","suggest-widget"),this._contentWidget=new zj(this,e),this._persistedSize=new Bj(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:A}=this.element.size;(!a.persistHeight||Math.abs(a.currentSize.height-A)<=D)&&(A=((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 In(P,A))}this._contentWidget.unlockPreference(),a=void 0}})),this._messageElement=gt(this.element.domNode,bt(".message")),this._listElement=gt(this.element.domNode,bt(".tree"));const c=this._disposables.add(s.createInstance(YC,this.editor));c.onDidClose(this.toggleDetails,this,this._disposables),this._details=new Tj(c,this.editor);const h=()=>this.element.domNode.classList.toggle("no-icons",!this.editor.getOption(119).showIcons);h();const g=s.createInstance(QC,this.editor);this._disposables.add(g),this._disposables.add(g.onDidToggleDetails(()=>this.toggleDetails())),this._list=new j0("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=e1("{0}{1}",w||"",_?typeof _=="string"?_:_.value:"");return y("ariaCurrenttSuggestionReadDetails","{0}, docs: {1}",v,S)}}}),this._list.style(uP({listInactiveFocusBackground:Wj,listInactiveFocusOutline:uh})),this._status=s.createInstance(XC,this.element.domNode,dc);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=Xt.Visible.bindTo(i),this._ctxSuggestWidgetDetailsVisible=Xt.DetailsVisible.bindTo(i),this._ctxSuggestWidgetMultipleSuggestions=Xt.MultipleSuggestions.bindTo(i),this._ctxSuggestWidgetHasFocusedSuggestion=Xt.HasFocusedSuggestion.bindTo(i),this._disposables.add(yl(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=rp(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=Ds(async s=>{const r=sp(()=>{this._isDetailsVisible()&&this.showDetails(!0)},250),a=s.onCancellationRequested(()=>r.dispose());try{return await t.resolve(s)}finally{r.dispose(),a.dispose()}}),this._currentSuggestionDetails.then(()=>{i>=this._list.length||t!==this._list.element(i)||(this._ignoreFocusEvents=!0,this._list.splice(i,1,[t]),this._list.setFocus([i]),this._ignoreFocusEvents=!1,this._isDetailsVisible()?this.showDetails(!1):this.element.domNode.classList.remove("docs-side"),this.editor.setAriaOptions({activeDescendant:DN(i)}))}).catch(Cn)),this._onDidFocus.fire({item:t,index:i,model:this._completionModel})}_setState(e){if(this._state!==e)switch(this._state=e,this.element.domNode.classList.toggle("frozen",e===4),this.element.domNode.classList.remove("message"),e){case 0:Mo(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=pu.LOADING_MESSAGE,Mo(this._listElement,this._status.element),br(this._messageElement),this._details.hide(),this._show(),this._focusedItem=void 0,rg(pu.LOADING_MESSAGE);break;case 2:this.element.domNode.classList.add("message"),this._messageElement.textContent=pu.NO_SUGGESTIONS_MESSAGE,Mo(this._listElement,this._status.element),br(this._messageElement),this._details.hide(),this._show(),this._focusedItem=void 0,rg(pu.NO_SUGGESTIONS_MESSAGE);break;case 3:Mo(this._messageElement),br(this._listElement,this._status.element),this._show();break;case 4:Mo(this._messageElement),br(this._listElement,this._status.element),this._show();break;case 5:Mo(this._messageElement),br(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=sp(()=>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=uk(pd(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")):(iL(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=uk(pd(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=am(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 In(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=lo(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 In(h,i.defaultSize.height),this.element.maxSize=new In(c,P),this.element.minSize=new In(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=w2(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 In(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}},pu=yc,yc.LOADING_MESSAGE=y("suggestWidget.loading","Loading..."),yc.NO_SUGGESTIONS_MESSAGE=y("suggestWidget.noSuggestions","No suggestions."),yc);JC=pu=Fj([c_(1,Fc),c_(2,Yi),c_(3,Er),c_(4,di)],JC);class zj{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 In(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 Vj=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},nu=function(o,e){return function(t,i){e(t,i,o)}},ex;class jj{constructor(e,t){if(this._model=e,this._position=t,this._decorationOptions=Ai.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 qd;let wr=(qd=class{static get(e){return e.getContribution(ex.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 Wo,this._toDispose=new je,this._selectors=new Uj(f=>f.priority),this._onWillInsertSuggestItem=new mi,this.onWillInsertSuggestItem=this._onWillInsertSuggestItem.event,this.editor=e,this.model=s.createInstance(Bv,this.editor),this._selectors.register({priority:0,select:(f,p,v)=>this._memoryService.select(f,p,v)});const c=Xt.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 mw(pd(e.getDomNode()),()=>{const f=this._instantiationService.createInstance(JC,this.editor);this._toDispose.add(f),this._toDispose.add(f.onDidSelect(S=>this._insertSuggestion(S,0),this));const p=new xj(this.editor,f,this.model,S=>this._insertSuggestion(S,2));this._toDispose.add(p);const v=Xt.MakesTextEdit.bindTo(this._contextKeyService),_=Xt.HasInsertAndReplaceRange.bindTo(this._contextKeyService),w=Xt.CanResolve.bindTo(this._contextKeyService);return this._toDispose.add(Rn(()=>{v.reset(),_.reset(),w.reset()})),this._toDispose.add(f.onDidFocus(({item:S})=>{const D=this.editor.getPosition(),P=S.editStart.column,A=D.column;let V=!0;this.editor.getOption(1)==="smart"&&this.model.state===2&&!S.completion.additionalTextEdits&&!(S.completion.insertTextRules&4)&&A-P===S.completion.insertText.length&&(V=this.editor.getModel().getValueInRange({startLineNumber:D.lineNumber,startColumn:P,endLineNumber:D.lineNumber,endColumn:A})!==S.completion.insertText),v.set(V),_.set(!Pt.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 gk(!0,!1,!1,!1,33))||za&&S.toKeyCodeChord().equals(new gk(!1,!1,!1,!0,33))){S.stopPropagation();return}S.toKeyCodeChord().isModifierKey()||this.editor.focus()})),f})),this._overtypingCapturer=this._toDispose.add(new mw(pd(e.getDomNode()),()=>this._toDispose.add(new ZC(this.editor,this.model)))),this._alternatives=this._toDispose.add(new mw(pd(e.getDomNode()),()=>this._toDispose.add(new Dg(this.editor,this._contextKeyService)))),this._toDispose.add(s.createInstance(Fv,e)),this._toDispose.add(this.model.onDidTrigger(f=>{this.widget.value.showTriggered(f.auto,f.shy?250:50),this._lineSuffix.value=new jj(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=Xt.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=to.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 Es;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 _=ag.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,A=z.spansMultipleLines(S)?0:D;S=new z(S.startLineNumber,S.startColumn+P,S.endLineNumber,S.endColumn+A)}return Gn.replaceMove(S,w.text)})),_.restoreRelativeVerticalPositionOfCursor(this.editor)}else if(!g){const _=new xo;let w;const S=n.onDidChangeContent(V=>{if(V.isFlush){c.cancel(),S.dispose();return}for(const H of V.changes){const J=z.getEndPosition(H.range);(!w||Pt.isBefore(J,w))&&(w=J)}}),D=t;t|=2;let P=!1;const A=this.editor.onWillType(()=>{A.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(H=>Pt.isBefore(w,z.getStartPosition(H.range))))return!1;P&&this.editor.pushUndoStop();const V=ag.capture(this.editor);return this.editor.executeEdits("suggestController.additionalTextEdits.async",r.completion.additionalTextEdits.map(H=>Gn.replaceMove(z.lift(H.range),H.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(),A.dispose()}))}let{insertText:v}=r.completion;if(r.completion.insertTextRules&4||(v=bh.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===zv.id)this.model.trigger({auto:!0,retrigger:!0});else{const _=new xo;a.push(this._commandService.executeCommand(r.completion.command.id,...r.completion.command.arguments?[...r.completion.command.arguments]:[]).catch(w=>{r.completion.extensionId?ss(w):Cn(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:VE(Va(t.uri)).toString(16),languageId:t.getLanguageId(),fileExtension:S2(t.uri),resolveInfo:e.provider.resolveCompletionItem?i?1:0:-1,resolveDuration:e.resolveDuration,commandDuration:n,additionalEditsAsync:s,index:r,firstIndex:f})}getOverwriteInfo(e,t){tn(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(Oo(e.completion.additionalTextEdits)){const t=y("aria.alert.snippet","Accepting '{0}' made {1} additional edits",e.textLabel,e.completion.additionalTextEdits.length);kr(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};ms.once(this.model.onDidTrigger)(s=>{const r=[];ms.any(this.model.onDidTrigger,this.model.onDidCancel)(()=>{Xs(r),i()},void 0,r),this.model.onDidSuggest(({completionModel:a})=>{if(Xs(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)}},ex=qd,qd.ID="editor.contrib.suggestController",qd);wr=ex=Vj([nu(1,Zy),nu(2,Cs),nu(3,Yi),nu(4,di),nu(5,Nh),nu(6,ca)],wr);class Uj{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 Mb=class Mb extends we{constructor(){super({id:Mb.id,label:y("suggest.trigger.label","Trigger Suggest"),alias:"Trigger Suggest",precondition:ce.and(R.writable,R.hasCompletionItemProvider,Xt.Visible.toNegated()),kbOpts:{kbExpr:R.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[521,2087]},weight:100}})}run(e,t,i){const n=wr.get(t);if(!n)return;let s;i&&typeof i=="object"&&i.auto===!0&&(s=!0),n.triggerSuggest(void 0,s,void 0)}};Mb.id="editor.action.triggerSuggest";let zv=Mb;wi(wr.ID,wr,2);se(zv);const Bo=190,so=go.bindToContribution(wr.get);Mt(new so({id:"acceptSelectedSuggestion",precondition:ce.and(Xt.Visible,Xt.HasFocusedSuggestion),handler(o){o.acceptSelectedSuggestion(!0,!1)},kbOpts:[{primary:2,kbExpr:ce.and(Xt.Visible,R.textInputFocus),weight:Bo},{primary:3,kbExpr:ce.and(Xt.Visible,R.textInputFocus,Xt.AcceptSuggestionsOnEnter,Xt.MakesTextEdit),weight:Bo}],menuOpts:[{menuId:dc,title:y("accept.insert","Insert"),group:"left",order:1,when:Xt.HasInsertAndReplaceRange.toNegated()},{menuId:dc,title:y("accept.insert","Insert"),group:"left",order:1,when:ce.and(Xt.HasInsertAndReplaceRange,Xt.InsertMode.isEqualTo("insert"))},{menuId:dc,title:y("accept.replace","Replace"),group:"left",order:1,when:ce.and(Xt.HasInsertAndReplaceRange,Xt.InsertMode.isEqualTo("replace"))}]}));Mt(new so({id:"acceptAlternativeSelectedSuggestion",precondition:ce.and(Xt.Visible,R.textInputFocus,Xt.HasFocusedSuggestion),kbOpts:{weight:Bo,kbExpr:R.textInputFocus,primary:1027,secondary:[1026]},handler(o){o.acceptSelectedSuggestion(!1,!0)},menuOpts:[{menuId:dc,group:"left",order:2,when:ce.and(Xt.HasInsertAndReplaceRange,Xt.InsertMode.isEqualTo("insert")),title:y("accept.replace","Replace")},{menuId:dc,group:"left",order:2,when:ce.and(Xt.HasInsertAndReplaceRange,Xt.InsertMode.isEqualTo("replace")),title:y("accept.insert","Insert")}]}));Pn.registerCommandAlias("acceptSelectedSuggestionOnEnter","acceptSelectedSuggestion");Mt(new so({id:"hideSuggestWidget",precondition:Xt.Visible,handler:o=>o.cancelSuggestWidget(),kbOpts:{weight:Bo,kbExpr:R.textInputFocus,primary:9,secondary:[1033]}}));Mt(new so({id:"selectNextSuggestion",precondition:ce.and(Xt.Visible,ce.or(Xt.MultipleSuggestions,Xt.HasFocusedSuggestion.negate())),handler:o=>o.selectNextSuggestion(),kbOpts:{weight:Bo,kbExpr:R.textInputFocus,primary:18,secondary:[2066],mac:{primary:18,secondary:[2066,300]}}}));Mt(new so({id:"selectNextPageSuggestion",precondition:ce.and(Xt.Visible,ce.or(Xt.MultipleSuggestions,Xt.HasFocusedSuggestion.negate())),handler:o=>o.selectNextPageSuggestion(),kbOpts:{weight:Bo,kbExpr:R.textInputFocus,primary:12,secondary:[2060]}}));Mt(new so({id:"selectLastSuggestion",precondition:ce.and(Xt.Visible,ce.or(Xt.MultipleSuggestions,Xt.HasFocusedSuggestion.negate())),handler:o=>o.selectLastSuggestion()}));Mt(new so({id:"selectPrevSuggestion",precondition:ce.and(Xt.Visible,ce.or(Xt.MultipleSuggestions,Xt.HasFocusedSuggestion.negate())),handler:o=>o.selectPrevSuggestion(),kbOpts:{weight:Bo,kbExpr:R.textInputFocus,primary:16,secondary:[2064],mac:{primary:16,secondary:[2064,302]}}}));Mt(new so({id:"selectPrevPageSuggestion",precondition:ce.and(Xt.Visible,ce.or(Xt.MultipleSuggestions,Xt.HasFocusedSuggestion.negate())),handler:o=>o.selectPrevPageSuggestion(),kbOpts:{weight:Bo,kbExpr:R.textInputFocus,primary:11,secondary:[2059]}}));Mt(new so({id:"selectFirstSuggestion",precondition:ce.and(Xt.Visible,ce.or(Xt.MultipleSuggestions,Xt.HasFocusedSuggestion.negate())),handler:o=>o.selectFirstSuggestion()}));Mt(new so({id:"focusSuggestion",precondition:ce.and(Xt.Visible,Xt.HasFocusedSuggestion.negate()),handler:o=>o.focusSuggestion(),kbOpts:{weight:Bo,kbExpr:R.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[2087]}}}));Mt(new so({id:"focusAndAcceptSuggestion",precondition:ce.and(Xt.Visible,Xt.HasFocusedSuggestion.negate()),handler:o=>{o.focusSuggestion(),o.acceptSelectedSuggestion(!0,!1)}}));Mt(new so({id:"toggleSuggestionDetails",precondition:ce.and(Xt.Visible,Xt.HasFocusedSuggestion),handler:o=>o.toggleSuggestionDetails(),kbOpts:{weight:Bo,kbExpr:R.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[2087]}},menuOpts:[{menuId:dc,group:"right",order:1,when:ce.and(Xt.DetailsVisible,Xt.CanResolve),title:y("detail.more","Show Less")},{menuId:dc,group:"right",order:1,when:ce.and(Xt.DetailsVisible.toNegated(),Xt.CanResolve),title:y("detail.less","Show More")}]}));Mt(new so({id:"toggleExplainMode",precondition:Xt.Visible,handler:o=>o.toggleExplainMode(),kbOpts:{weight:100,primary:2138}}));Mt(new so({id:"toggleSuggestionFocus",precondition:Xt.Visible,handler:o=>o.toggleSuggestionFocus(),kbOpts:{weight:Bo,kbExpr:R.textInputFocus,primary:2570,mac:{primary:778}}}));Mt(new so({id:"insertBestCompletion",precondition:ce.and(R.textInputFocus,ce.equals("config.editor.tabCompletion","on"),Fv.AtEnd,Xt.Visible.toNegated(),Dg.OtherSuggestions.toNegated(),to.InSnippetMode.toNegated()),handler:(o,e)=>{o.triggerSuggestAndAcceptBest(jE(e)?{fallback:"tab",...e}:{fallback:"tab"})},kbOpts:{weight:Bo,primary:2}}));Mt(new so({id:"insertNextSuggestion",precondition:ce.and(R.textInputFocus,ce.equals("config.editor.tabCompletion","on"),Dg.OtherSuggestions,Xt.Visible.toNegated(),to.InSnippetMode.toNegated()),handler:o=>o.acceptNextSuggestion(),kbOpts:{weight:Bo,kbExpr:R.textInputFocus,primary:2}}));Mt(new so({id:"insertPrevSuggestion",precondition:ce.and(R.textInputFocus,ce.equals("config.editor.tabCompletion","on"),Dg.OtherSuggestions,Xt.Visible.toNegated(),to.InSnippetMode.toNegated()),handler:o=>o.acceptPrevSuggestion(),kbOpts:{weight:Bo,kbExpr:R.textInputFocus,primary:1026}}));se(class extends we{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=wr.get(e))==null||t.resetWidgetSize()}});class $j extends $e{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 mi),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=wr.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?Cd(f,g):void 0;if(!p)return-1;const v=Pt.lift(c),_=h.map((S,D)=>{const P=Kf.fromSuggestion(n,g,v,S,this.isShiftKeyPressed),A=Cd(P.toSingleTextEdit(),g),V=IN(p,A);return{index:D,valid:V,prefixLength:A.text.length,suggestItem:S}}).filter(S=>S&&S.valid&&S.prefixLength>0),w=C2(_,cm(S=>S.prefixLength,_y));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(ms.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=Kf.fromSuggestion(n,h,c,a.item,this.isShiftKeyPressed);this.onWillAccept(g)}))}this.update(this._isActive)}update(e){const t=this.getSuggestItemInfo();(this._isActive!==e||!qj(this._currentSuggestItemInfo,t))&&(this._isActive=e,this._currentSuggestItemInfo=t,this._onDidSelectedItemChange.fire())}getSuggestItemInfo(){const e=wr.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 Kf.fromSuggestion(e,n,i,t.item,this.isShiftKeyPressed)}stopForceRenderingAbove(){const e=wr.get(this.editor);e==null||e.stopForceRenderingAbove()}forceRenderingAbove(){const e=wr.get(this.editor);e==null||e.forceRenderingAbove()}}class Kf{static fromSuggestion(e,t,i,n,s){let{insertText:r}=n.completion,a=!1;if(n.completion.insertTextRules&4){const h=new bh().parse(r);h.children.length<100&&Ov.adjustWhitespace(t,i,!0,h),r=h.toString(),a=!0}const c=e.getOverwriteInfo(n,s);return new Kf(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 x2(this.range,this.insertText,this.completionItemKind,this.isSnippetText)}toSingleTextEdit(){return new wl(this.range,this.insertText)}}function qj(o,e){return o===e?!0:!o||!e?!1:o.equals(e)}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},Ja=function(o,e){return function(t,i){e(t,i,o)}},tx,Kd;let ir=(Kd=class extends $e{static get(e){return e.getContribution(tx.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=Ea(this.editor),this._positions=fn(this,p=>{var v;return((v=this._editorObs.selections.read(p))==null?void 0:v.map(_=>_.getEndPosition()))??[new Pt(1,1)]}),this._suggestWidgetAdaptor=this._register(new $j(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=vo(this,p=>this._suggestWidgetAdaptor.onDidSelectedItemChange(()=>{this._editorObs.forceUpdate(v=>p(void 0))}),()=>this._suggestWidgetAdaptor.selectedItem),this._enabledInConfig=vo(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(62).enabled),this._isScreenReaderEnabled=vo(this,this._accessibilityService.onDidChangeScreenReaderOptimized,()=>this._accessibilityService.isScreenReaderOptimized()),this._editorDictationInProgress=vo(this,this._contextKeyService.onDidChangeContext,()=>this._contextKeyService.getContext(this.editor.getDomNode()).getValue("editorDictation.inProgress")===!0),this._enabled=fn(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=Ec(this,p=>{if(this._editorObs.isReadonly.read(p))return;const v=this._editorObs.model.read(p);return v?this._instantiationService.createInstance($C,v,this._suggestWidgetSelectedItem,this._editorObs.versionId,this._positions,this._debounceValue,vo(this.editor.onDidChangeConfiguration,()=>this.editor.getOption(119).preview),vo(this.editor.onDidChangeConfiguration,()=>this.editor.getOption(119).previewMode),vo(this.editor.onDidChangeConfiguration,()=>this.editor.getOption(62).mode),this._enabled):void 0}).recomputeInitiallyAndOnChange(this._store),this._ghostTexts=fn(this,p=>{const v=this.model.read(p);return(v==null?void 0:v.ghostTexts.read(p))??[]}),this._stablizedGhostTexts=Gj(this._ghostTexts,this._store),this._ghostTextWidgets=L2(this,this._stablizedGhostTexts,(p,v)=>v.add(this._instantiationService.createInstance(jC,this.editor,{ghostText:p,minReservedLineCount:cl(0),targetTextModel:this.model.map(_=>_==null?void 0:_.textModel)}))).recomputeInitiallyAndOnChange(this._store),this._playAccessibilitySignal=t1(this),this._fontFamily=vo(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(62).fontFamily),this._register(new Co(this._contextKeyService,this.model)),this._register(fk(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,OM,"acceptSelectedSuggestion"]).has(p.commandId)&&e.hasTextFocus()&&this._enabled.get()&&this._editorObs.forceUpdate(_=>{var w;(w=this.model.get())==null||w.trigger(_)})})),this._register(fk(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||Sg.dropDownVisible||Mh(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(Rn(()=>{this._suggestWidgetAdaptor.stopForceRenderingAbove()}));const f=py(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(k2(fn(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 Sy(50,yS(_)),await I2(this._suggestWidgetSelectedItem,yf,()=>!1,yS(_)),await this._accessibilitySignalService.playSignal($E.inlineSuggestion),this.editor.getOption(8)&&this._provideScreenReaderUpdate(S.primaryGhostText.renderForScreenReader(D))})),this._register(new lC(this.editor,this.model,this._instantiationService)),this._register(HV(fn(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())),kr(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 Pt(t.lineNumber,n.column))):!1}shouldShowHoverAtViewZone(e){var t;return((t=this._ghostTextWidgets.get()[0])==null?void 0:t.ownsViewZone(e))??!1}},tx=Kd,Kd.ID="editor.contrib.inlineCompletionsController",Kd);ir=tx=Kj([Ja(1,di),Ja(2,Yi),Ja(3,On),Ja(4,Cs),Ja(5,nr),Ja(6,Tt),Ja(7,UE),Ja(8,hs),Ja(9,my)],ir);function Gj(o,e){const t=Fo("result",[]),i=[];return e.add(jn(n=>{const s=o.read(n);Mh(r=>{if(s.length!==i.length){i.length=s.length;for(let a=0;a<i.length;a++)i[a]||(i[a]=Fo("item",s[a]));t.set([...i],r)}i.forEach((a,c)=>a.set(s[c],r))})})),t}const Nb=class Nb extends we{constructor(){super({id:Nb.ID,label:y("action.inlineSuggest.showNext","Show Next Inline Suggestion"),alias:"Show Next Inline Suggestion",precondition:ce.and(R.writable,Co.inlineSuggestionVisible),kbOpts:{weight:100,primary:606}})}async run(e,t){var n;const i=ir.get(t);(n=i==null?void 0:i.model.get())==null||n.next()}};Nb.ID=HM;let ix=Nb;const Rb=class Rb extends we{constructor(){super({id:Rb.ID,label:y("action.inlineSuggest.showPrevious","Show Previous Inline Suggestion"),alias:"Show Previous Inline Suggestion",precondition:ce.and(R.writable,Co.inlineSuggestionVisible),kbOpts:{weight:100,primary:604}})}async run(e,t){var n;const i=ir.get(t);(n=i==null?void 0:i.model.get())==null||n.previous()}};Rb.ID=FM;let nx=Rb;class Zj extends we{constructor(){super({id:"editor.action.inlineSuggest.trigger",label:y("action.inlineSuggest.trigger","Trigger Inline Suggestion"),alias:"Trigger Inline Suggestion",precondition:R.writable})}async run(e,t){const i=ir.get(t);await gP(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 Xj extends we{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:ce.and(R.writable,Co.inlineSuggestionVisible),kbOpts:{weight:101,primary:2065,kbExpr:ce.and(R.writable,Co.inlineSuggestionVisible)},menuOpts:[{menuId:ht.InlineSuggestionToolbar,title:y("acceptWord","Accept Word"),group:"primary",order:2}]})}async run(e,t){var n;const i=ir.get(t);await((n=i==null?void 0:i.model.get())==null?void 0:n.acceptNextWord(i.editor))}}class Yj extends we{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:ce.and(R.writable,Co.inlineSuggestionVisible),kbOpts:{weight:101},menuOpts:[{menuId:ht.InlineSuggestionToolbar,title:y("acceptLine","Accept Line"),group:"secondary",order:2}]})}async run(e,t){var n;const i=ir.get(t);await((n=i==null?void 0:i.model.get())==null?void 0:n.acceptNextLine(i.editor))}}class Qj extends we{constructor(){super({id:OM,label:y("action.inlineSuggest.accept","Accept Inline Suggestion"),alias:"Accept Inline Suggestion",precondition:Co.inlineSuggestionVisible,menuOpts:[{menuId:ht.InlineSuggestionToolbar,title:y("accept","Accept"),group:"primary",order:1}],kbOpts:{primary:2,weight:200,kbExpr:ce.and(Co.inlineSuggestionVisible,R.tabMovesFocus.toNegated(),Co.inlineSuggestionHasIndentationLessThanTabSize,Xt.Visible.toNegated(),R.hoverFocused.toNegated())}})}async run(e,t){var n;const i=ir.get(t);i&&((n=i.model.get())==null||n.accept(i.editor),i.editor.focus())}}const Ab=class Ab extends we{constructor(){super({id:Ab.ID,label:y("action.inlineSuggest.hide","Hide Inline Suggestion"),alias:"Hide Inline Suggestion",precondition:Co.inlineSuggestionVisible,kbOpts:{weight:100,primary:9}})}async run(e,t){const i=ir.get(t);Mh(n=>{var s;(s=i==null?void 0:i.model.get())==null||s.stop(n)})}};Ab.ID="editor.action.inlineSuggest.hide";let sx=Ab;const Ob=class Ob extends uo{constructor(){super({id:Ob.ID,title:y("action.inlineSuggest.alwaysShowToolbar","Always Show Toolbar"),f1:!1,precondition:void 0,menu:[{id:ht.InlineSuggestionToolbar,group:"secondary",order:10}],toggled:ce.equals("config.editor.inlineSuggest.showToolbar","always")})}async run(e,t){const i=e.get(On),s=i.getValue("editor.inlineSuggest.showToolbar")==="always"?"onHover":"always";i.updateValue("editor.inlineSuggest.showToolbar",s)}};Ob.ID="editor.action.inlineSuggest.toggleAlwaysShowToolbar";let ox=Ob;var Jj=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},pf=function(o,e){return function(t,i){e(t,i,o)}};class e6{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 rx=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=ir.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 N_(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 N_(1e3,this,i.range,e.event.posx,e.event.posy,!1):i.type===6&&i.detail.mightBeForeignElement&&t.shouldShowHoverAt(i.range)?new N_(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=ir.get(this._editor);return i&&i.shouldShowHoverAt(e.range)?[new e6(this,e.range,i)]:[]}renderHoverParts(e,t){const i=new je,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(Sg,this._editor,!1,cl(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 Ch([c])}renderScreenReaderText(e,t){const i=new je,n=bt,s=n("div.hover-row.markdown-hover"),r=gt(s,n("div.hover-contents",{"aria-live":"assertive"})),a=i.add(new Wg({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 Gs().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 Z_(r)})),e.fragment.appendChild(s),i}};rx=Jj([pf(1,da),pf(2,la),pf(3,my),pf(4,di),pf(5,ca)],rx);class t6{}const Xy=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}};wi(ir.ID,ir,3);se(Zj);se(ix);se(nx);se(Xj);se(Yj);se(Qj);se(sx);mn(ox);Fh.register(rx);Xy.register(new t6);var i6=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Gw=function(o,e){return function(t,i){e(t,i,o)}},Df,wc;let Pp=(wc=class{constructor(e,t,i,n){this.textModelResolverService=t,this.languageService=i,this.languageFeaturesService=n,this.toUnhook=new je,this.toUnhookForKeyboard=new je,this.currentWordAtPosition=null,this.previousPromise=null,this.editor=e,this.linkDecorations=this.editor.createDecorationsCollection();const s=new Vy(e);this.toUnhook.add(s),this.toUnhook.add(s.onMouseMoveOrRelevantKeyDown(([r,a])=>{this.startFindDefinitionFromMouse(r,a??void 0)})),this.toUnhook.add(s.onExecute(r=>{this.isEnabled(r)&&this.gotoDefinition(r.target.position,r.hasSideBySideModifier).catch(a=>{Cn(a)}).finally(()=>{this.removeLinkDecorations()})})),this.toUnhook.add(s.onCancel(()=>{this.removeLinkDecorations(),this.currentWordAtPosition=null}))}static get(e){return e.getContribution(Df.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 fP(this.editor,15);this.previousPromise&&(this.previousPromise.cancel(),this.previousPromise=null),this.previousPromise=Ds(a=>this.findDefinition(e,a));let n;try{n=await this.previousPromise}catch(a){Cn(a);return}if(!n||!n.length||!i.validate(this.editor)){this.removeLinkDecorations();return}const s=n[0].originSelectionRange?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 Gs().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 Gs().appendCodeblock(p||"",f):void 0),c.dispose()})}}getPreviewValue(e,t,i){let n=i.range;return n.endLineNumber-n.startLineNumber>=Df.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+Df.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 J0)&&(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 Lm({openToSide:t,openInPeek:n,muteMessage:!0},{title:{value:"",original:""},id:"",precondition:void 0}).run(i)})}isInPeekEditor(e){const t=e.get(Yi);return co.inPeekEditor.getValue(t)}dispose(){this.toUnhook.dispose(),this.toUnhookForKeyboard.dispose()}},Df=wc,wc.ID="editor.contrib.gotodefinitionatposition",wc.MAX_SOURCE_PREVIEW_LINES=8,wc);Pp=Df=i6([Gw(1,ha),Gw(2,da),Gw(3,Tt)],Pp);wi(Pp.ID,Pp,2);var EN=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Vv=function(o,e){return function(t,i){e(t,i,o)}};class QI{constructor(e,t,i){this.marker=e,this.index=t,this.total=i}}let ax=class{constructor(e,t,i){this._markerService=t,this._configService=i,this._onDidChange=new mi,this.onDidChange=this._onDidChange.event,this._dispoables=new je,this._markers=[],this._nextIdx=-1,bn.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=pk(a.resource.toString(),c.resource.toString());return h===0&&(n==="position"?h=z.compareRangesUsingStarts(a,c)||Ys.compare(a.severity,c.severity):h=Ys.compare(a.severity,c.severity)||z.compareRangesUsingStarts(a,c)),h},r=()=>{this._markers=this._markerService.read({resource:bn.isUri(e)?e:void 0,severities:Ys.Error|Ys.Warning|Ys.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 QI(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=ev(this._markers,{resource:e.uri},(r,a)=>pk(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 QI(this._markers[i],i+1,this._markers.length)}}};ax=EN([Vv(1,$0),Vv(2,On)],ax);const PN=El("IMarkerNavigationService");let lx=class{constructor(e,t){this._markerService=e,this._configService=t,this._provider=new sP}getMarkerList(e){for(const t of this._provider){const i=t.getMarkerList(e);if(i)return i}return new ax(e,this._markerService,this._configService)}};lx=EN([Vv(0,$0),Vv(1,On)],lx);Pl(PN,lx,1);var cx;(function(o){function e(t){switch(t){case Vm.Ignore:return"severity-ignore "+sn.asClassName(Jt.info);case Vm.Info:return sn.asClassName(Jt.info);case Vm.Warning:return sn.asClassName(Jt.warning);case Vm.Error:return sn.asClassName(Jt.error);default:return""}}o.className=e})(cx||(cx={}));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},su=function(o,e){return function(t,i){e(t,i,o)}},dx;class s6{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 je,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(yl(this._relatedBlock,"click",a=>{a.preventDefault();const c=this._relatedDiagnostics.get(a.target);c&&i(c)})),this._scrollable=new R2(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(){Xs(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=wy(i);this._lines=a.length,this._longestLineLength=0;for(const p of a)this._longestLineLength=Math.max(p.length+r,this._longestLineLength);Fa(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=bt("a.code-link"),this._codeLink.setAttribute("href",`${s.target.toString()}`),this._codeLink.onclick=_=>{this._openerService.open(s.target,{allowCommands:!0}),_.preventDefault(),_.stopPropagation()};const v=gt(this._codeLink,bt("span"));v.innerText=s.value,p.appendChild(this._codeLink)}}if(Fa(this._relatedBlock),this._editor.applyFontInfo(this._relatedBlock),Oo(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 Ys.Error:t=y("Error","Error");break;case Ys.Warning:t=y("Warning","Warning");break;case Ys.Info:t=y("Info","Info");break;case Ys.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 Gd;let Tp=(Gd=class extends bv{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 je,this._onDidSelectRelatedInformation=new mi,this.onDidSelectRelatedInformation=this._onDidSelectRelatedInformation.event,this._severity=Ys.Warning,this._backgroundColor=Ni.white,this._applyTheme(t.getColorTheme()),this._callOnDispose.add(t.onDidColorThemeChange(this._applyTheme.bind(this))),this.create()}_applyTheme(e){this._backgroundColor=e.getColor(l6);let t=hx,i=o6;this._severity===Ys.Warning?(t=F_,i=r6):this._severity===Ys.Info&&(t=ux,i=a6);const n=e.getColor(t),s=e.getColor(i);this.style({arrowColor:n,frameColor:n,headerBackgroundColor:s,primaryHeadingColor:e.getColor(GM),secondaryHeadingColor:e.getColor(ZM)})}_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(dx.TitleMenu,this._contextKeyService);G0(i,t),this._actionbarWidget.push(t,{label:!1,icon:!0,index:0})}_fillTitleIcon(e){this._icon=gt(e,bt(""))}_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 s6(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(Va(a.uri),c)}this._icon.className=`codicon ${cx.className(Ys.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()}},dx=Gd,Gd.TitleMenu=new ht("gotoErrorTitleMenu"),Gd);Tp=dx=n6([su(1,Er),su(2,la),su(3,Th),su(4,di),su(5,Yi),su(6,dp)],Tp);const JI=n1(E2,D2),eD=n1(T2,P2),tD=n1(fS,M2),hx=yt("editorMarkerNavigationError.background",{dark:JI,light:JI,hcDark:bl,hcLight:bl},y("editorMarkerNavigationError","Editor marker navigation widget error color.")),o6=yt("editorMarkerNavigationError.headerBackground",{dark:Ha(hx,.1),light:Ha(hx,.1),hcDark:null,hcLight:null},y("editorMarkerNavigationErrorHeaderBackground","Editor marker navigation widget error heading background.")),F_=yt("editorMarkerNavigationWarning.background",{dark:eD,light:eD,hcDark:bl,hcLight:bl},y("editorMarkerNavigationWarning","Editor marker navigation widget warning color.")),r6=yt("editorMarkerNavigationWarning.headerBackground",{dark:Ha(F_,.1),light:Ha(F_,.1),hcDark:"#0C141F",hcLight:Ha(F_,.2)},y("editorMarkerNavigationWarningBackground","Editor marker navigation widget warning heading background.")),ux=yt("editorMarkerNavigationInfo.background",{dark:tD,light:tD,hcDark:bl,hcLight:bl},y("editorMarkerNavigationInfo","Editor marker navigation widget info color.")),a6=yt("editorMarkerNavigationInfo.headerBackground",{dark:Ha(ux,.1),light:Ha(ux,.1),hcDark:null,hcLight:null},y("editorMarkerNavigationInfoHeaderBackground","Editor marker navigation widget info heading background.")),l6=yt("editorMarkerNavigation.background",N2,y("editorMarkerNavigationBackground","Editor marker navigation widget background."));var c6=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},d_=function(o,e){return function(t,i){e(t,i,o)}},Ef,Zd;let kh=(Zd=class{static get(e){return e.getContribution(Ef.ID)}constructor(e,t,i,n,s){this._markerNavigationService=t,this._contextKeyService=i,this._editorService=n,this._instantiationService=s,this._sessionDispoables=new je,this._editor=e,this._widgetVisible=TN.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(Tp,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 Pt(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=Ef.get(r))==null||i.close(),(n=Ef.get(r))==null||n.nagivate(e,t))}else this._widget.showAtMarker(s.selected.marker,s.selected.index,s.selected.total)}}},Ef=Zd,Zd.ID="editor.contrib.markerController",Zd);kh=Ef=c6([d_(1,PN),d_(2,Yi),d_(3,os),d_(4,di)],kh);class Yy extends we{constructor(e,t,i){super(i),this._next=e,this._multiFile=t}async run(e,t){var i;t.hasModel()&&((i=kh.get(t))==null||i.nagivate(this._next,this._multiFile))}}const nd=class nd extends Yy{constructor(){super(!0,!1,{id:nd.ID,label:nd.LABEL,alias:"Go to Next Problem (Error, Warning, Info)",precondition:void 0,kbOpts:{kbExpr:R.focus,primary:578,weight:100},menuOpts:{menuId:Tp.TitleMenu,title:nd.LABEL,icon:ts("marker-navigation-next",Jt.arrowDown,y("nextMarkerIcon","Icon for goto next marker.")),group:"navigation",order:1}})}};nd.ID="editor.action.marker.next",nd.LABEL=y("markerAction.next.label","Go to Next Problem (Error, Warning, Info)");let jv=nd;const sd=class sd extends Yy{constructor(){super(!1,!1,{id:sd.ID,label:sd.LABEL,alias:"Go to Previous Problem (Error, Warning, Info)",precondition:void 0,kbOpts:{kbExpr:R.focus,primary:1602,weight:100},menuOpts:{menuId:Tp.TitleMenu,title:sd.LABEL,icon:ts("marker-navigation-previous",Jt.arrowUp,y("previousMarkerIcon","Icon for goto previous marker.")),group:"navigation",order:2}})}};sd.ID="editor.action.marker.prev",sd.LABEL=y("markerAction.previous.label","Go to Previous Problem (Error, Warning, Info)");let gx=sd;class d6 extends Yy{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:R.focus,primary:66,weight:100},menuOpts:{menuId:ht.MenubarGoMenu,title:y({key:"miGotoNextProblem",comment:["&& denotes a mnemonic"]},"Next &&Problem"),group:"6_problem_nav",order:1}})}}class h6 extends Yy{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:R.focus,primary:1090,weight:100},menuOpts:{menuId:ht.MenubarGoMenu,title:y({key:"miGotoPreviousProblem",comment:["&& denotes a mnemonic"]},"Previous &&Problem"),group:"6_problem_nav",order:2}})}}wi(kh.ID,kh,4);se(jv);se(gx);se(d6);se(h6);const TN=new Bi("markersNavigationVisible",!1),u6=go.bindToContribution(kh.get);Mt(new u6({id:"closeMarkersNavigation",precondition:TN,handler:o=>o.close(),kbOpts:{weight:150,kbExpr:R.focus,primary:9,secondary:[1033]}}));var Ur;(function(o){o.NoAutoFocus="noAutoFocus",o.FocusIfVisible="focusIfVisible",o.AutoFocusImmediately="autoFocusImmediately"})(Ur||(Ur={}));class g6 extends we{constructor(){super({id:AM,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:xt("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:[Ur.NoAutoFocus,Ur.FocusIfVisible,Ur.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:Ur.FocusIfVisible}}}}]},alias:"Show or Focus Hover",precondition:void 0,kbOpts:{kbExpr:R.editorTextFocus,primary:ds(2089,2087),weight:100}})}run(e,t,i){if(!t.hasModel())return;const n=$s.get(t);if(!n)return;const s=i==null?void 0:i.focus;let r=Ur.FocusIfVisible;Object.values(Ur).includes(s)?r=s:typeof s=="boolean"&&s&&(r=Ur.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!==Ur.NoAutoFocus?n.focus():a(c):a(c||r===Ur.AutoFocusImmediately)}}class f6 extends we{constructor(){super({id:TB,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:xt("showDefinitionPreviewHoverDescription","Show the definition preview hover in the editor.")}})}run(e,t){const i=$s.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=Pp.get(t);if(!r)return;r.startFindDefinitionFromCursor(n).then(()=>{i.showContentHover(s,1,1,!0)})}}class p6 extends we{constructor(){super({id:MB,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:R.hoverFocused,kbOpts:{kbExpr:R.hoverFocused,primary:16,weight:100},metadata:{description:xt("scrollUpHoverDescription","Scroll up the editor hover.")}})}run(e,t){const i=$s.get(t);i&&i.scrollUp()}}class m6 extends we{constructor(){super({id:NB,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:R.hoverFocused,kbOpts:{kbExpr:R.hoverFocused,primary:18,weight:100},metadata:{description:xt("scrollDownHoverDescription","Scroll down the editor hover.")}})}run(e,t){const i=$s.get(t);i&&i.scrollDown()}}class _6 extends we{constructor(){super({id:RB,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:R.hoverFocused,kbOpts:{kbExpr:R.hoverFocused,primary:15,weight:100},metadata:{description:xt("scrollLeftHoverDescription","Scroll left the editor hover.")}})}run(e,t){const i=$s.get(t);i&&i.scrollLeft()}}class v6 extends we{constructor(){super({id:AB,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:R.hoverFocused,kbOpts:{kbExpr:R.hoverFocused,primary:17,weight:100},metadata:{description:xt("scrollRightHoverDescription","Scroll right the editor hover.")}})}run(e,t){const i=$s.get(t);i&&i.scrollRight()}}class b6 extends we{constructor(){super({id:OB,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:R.hoverFocused,kbOpts:{kbExpr:R.hoverFocused,primary:11,secondary:[528],weight:100},metadata:{description:xt("pageUpHoverDescription","Page up the editor hover.")}})}run(e,t){const i=$s.get(t);i&&i.pageUp()}}class y6 extends we{constructor(){super({id:FB,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:R.hoverFocused,kbOpts:{kbExpr:R.hoverFocused,primary:12,secondary:[530],weight:100},metadata:{description:xt("pageDownHoverDescription","Page down the editor hover.")}})}run(e,t){const i=$s.get(t);i&&i.pageDown()}}class w6 extends we{constructor(){super({id:HB,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:R.hoverFocused,kbOpts:{kbExpr:R.hoverFocused,primary:14,secondary:[2064],weight:100},metadata:{description:xt("goToTopHoverDescription","Go to the top of the editor hover.")}})}run(e,t){const i=$s.get(t);i&&i.goToTop()}}class S6 extends we{constructor(){super({id:WB,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:R.hoverFocused,kbOpts:{kbExpr:R.hoverFocused,primary:13,secondary:[2066],weight:100},metadata:{description:xt("goToBottomHoverDescription","Go to the bottom of the editor hover.")}})}run(e,t){const i=$s.get(t);i&&i.goToBottom()}}class C6 extends we{constructor(){super({id:Wy,label:BB,alias:"Increase Hover Verbosity Level",precondition:R.hoverVisible})}run(e,t,i){const n=$s.get(t);if(!n)return;const s=(i==null?void 0:i.index)!==void 0?i.index:n.focusedHoverPartIndex();n.updateHoverVerbosityLevel(er.Increase,s,i==null?void 0:i.focus)}}class x6 extends we{constructor(){super({id:By,label:zB,alias:"Decrease Hover Verbosity Level",precondition:R.hoverVisible})}run(e,t,i){var r;const n=$s.get(t);if(!n)return;const s=(i==null?void 0:i.index)!==void 0?i.index:n.focusedHoverPartIndex();(r=$s.get(t))==null||r.updateHoverVerbosityLevel(er.Decrease,s,i==null?void 0:i.focus)}}var L6=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Zw=function(o,e){return function(t,i){e(t,i,o)}};const rr=bt;class k6{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 iD={type:1,filter:{include:Dn.QuickFix},triggerAction:Lo.QuickFixHover};let fx=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 k6(this,f,g))}return r}renderHoverParts(e,t){if(!t.length)return new Ch([]);const i=new je,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)=>Ys.compare(r.marker.severity,a.marker.severity))[0];return this.renderMarkerStatusbar(e,s,i),new Ch(n)}_renderMarkerHover(e){const t=new je,i=rr("div.hover-row"),n=gt(i,rr("div.marker.hover-contents")),{source:s,message:r,code:a,relatedInformation:c}=e.marker;this._editor.applyFontInfo(n);const h=gt(n,rr("span"));if(h.style.whiteSpace="pre-wrap",h.innerText=r,s||a)if(a&&typeof a!="string"){const f=rr("span");if(s){const w=gt(f,rr("span"));w.innerText=s}const p=gt(f,rr("a.code-link"));p.setAttribute("href",a.target.toString()),t.add(Xi(p,"click",w=>{this._openerService.open(a.target,{allowCommands:!0}),w.preventDefault(),w.stopPropagation()}));const v=gt(p,rr("span"));v.innerText=a.value;const _=gt(n,f);_.style.opacity="0.6",_.style.paddingLeft="6px"}else{const f=gt(n,rr("span"));f.style.opacity="0.6",f.style.paddingLeft="6px",f.innerText=s&&a?`${s}(${a})`:s||`(${a})`}if(Oo(c))for(const{message:f,resource:p,startLineNumber:v,startColumn:_}of c){const w=gt(n,rr("div"));w.style.marginTop="8px";const S=gt(w,rr("a"));S.innerText=`${Va(p)}(${v}, ${_}): `,S.style.cursor="pointer",t.add(Xi(S,"click",P=>{if(P.stopPropagation(),P.preventDefault(),this._openerService){const A={selection:{startLineNumber:v,startColumn:_}};this._openerService.open(p,{fromUserGesture:!0,editorOptions:A}).catch(Cn)}}));const D=gt(w,rr("span"));D.innerText=f,this._editor.applyFontInfo(D)}return{hoverPart:e,hoverElement:i,dispose:()=>t.dispose()}}renderMarkerStatusbar(e,t,i){if(t.marker.severity===Ys.Error||t.marker.severity===Ys.Warning||t.marker.severity===Ys.Info){const n=kh.get(this._editor);n&&e.statusBar.addAction({label:y("view problem","View Problem"),commandId:jv.ID,run:()=>{e.hide(),n.showAtMarker(t.marker),this._editor.focus()}})}if(!this._editor.getOption(92)){const n=e.statusBar.append(rr("div"));this.recentMarkerCodeActionsInfo&&(mk.makeKey(this.recentMarkerCodeActionsInfo.marker)===mk.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?$e.None:sp(()=>n.textContent=y("checkingForQuickFixes","Checking for quick fixes..."),200,i);n.textContent||(n.textContent=" ");const r=this.getCodeActions(t.marker);i.add(Rn(()=>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(Rn(()=>{c||a.dispose()})),e.statusBar.addAction({label:y("quick fixes","Quick Fix..."),commandId:T1,run:h=>{c=!0;const g=yg.get(this._editor),f=lo(h);e.hide(),g==null||g.showCodeActions(iD,a,{x:f.left,y:f.top,width:f.width,height:f.height})}})},Cn)}}getCodeActions(e){return Ds(t=>wu(this._languageFeaturesService.codeActionProvider,this._editor.getModel(),new z(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn),iD,ll.None,t))}};fx=L6([Zw(1,A2),Zw(2,la),Zw(3,Tt)],fx);class I6{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=K_.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)??K_.Center;if(!n&&a!==this._laneOrLine)continue;const c=n?r.options.lineNumberHoverMessage:r.options.glyphMarginHoverMessage;!c||cp(c)||i.push(...LE(c).map(e))}return i}}var D6=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},nD=function(o,e){return function(t,i){e(t,i,o)}},px;const sD=bt;var Xd;let mx=(Xd=class extends $e{constructor(e,t,i){super(),this._renderDisposeables=this._register(new je),this._editor=e,this._isVisible=!1,this._messages=[],this._hover=this._register(new xE),this._hover.containerDomNode.classList.toggle("hidden",!this._isVisible),this._markdownRenderer=this._register(new Wg({editor:this._editor},t,i)),this._computer=new I6(this._editor),this._hoverOperation=this._register(new WM(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(yl(this._hover.containerDomNode,"mouseleave",n=>{this._onMouseLeave(n)})),this._editor.addOverlayWidget(this)}dispose(){this._editor.removeOverlayWidget(this),super.dispose()}getId(){return px.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=sD("div.hover-row.markdown-hover"),r=gt(s,sD("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||!zy(t,e.x,e.y))&&this.hide()}},px=Xd,Xd.ID="editor.contrib.modesGlyphHoverWidget",Xd);mx=px=D6([nD(1,da),nD(2,la)],mx);var E6=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},P6=function(o,e){return function(t,i){e(t,i,o)}},Yu;let Uv=(Yu=class extends $e{constructor(e,t){super(),this._editor=e,this._instantiationService=t,this.shouldKeepOpenOnEditorMouseMoveOrLeave=!1,this._listenersStore=new je,this._hoverState={mouseDown:!1},this._reactToEditorMouseMoveRunner=this._register(new _s(()=>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?zy(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(mx,this._editor)),this._glyphWidget}dispose(){var e;super.dispose(),this._unhookListeners(),this._listenersStore.dispose(),(e=this._glyphWidget)==null||e.dispose()}},Yu.ID="editor.contrib.marginHover",Yu);Uv=E6([P6(1,di)],Uv);class T6{}class M6{}class N6{}wi($s.ID,$s,2);wi(Uv.ID,Uv,2);se(g6);se(f6);se(p6);se(m6);se(_6);se(v6);se(b6);se(y6);se(w6);se(S6);se(C6);se(x6);Fh.register(Lp);Fh.register(fx);gy((o,e)=>{const t=o.getColor(O2);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)}; }`))});Xy.register(new T6);Xy.register(new M6);Xy.register(new N6);function _o(o,e){let t=0;for(let i=0;i<o.length;i++)o.charAt(i)===" "?t+=e:t++;return t}function Gf(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 MN(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 F2(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,ug.shiftIndent(w,w.length+S,r,a,c)),g=(w,S)=>(S=S||1,ug.unshiftIndent(w,w.length+S,r,a,c)),f=[],p=o.getLineContent(t);let v=Fs(p),_=v;s.shouldIncrease(t)?(_=h(_),v=h(v)):s.shouldIndentNextLine(t)&&(_=h(_)),t++;for(let w=t;w<=i;w++){if(R6(o,w))continue;const S=o.getLineContent(w),D=Fs(S),P=_;s.shouldDecrease(w,P)&&(_=g(_),v=g(v)),D!==_&&f.push(Gn.replaceMove(new Kt(w,1,w,D.length+1),H2(_,a,c))),!s.shouldIgnore(w)&&(s.shouldIncrease(w,P)?(v=h(v),_=v):s.shouldIndentNextLine(w,P)?_=h(_):_=v)}return f}function R6(o,e){return o.tokenization.isCheapToTokenize(e)?o.tokenization.getLineTokens(e).getStandardTokenType(0)===2:!1}var A6=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},O6=function(o,e){return function(t,i){e(t,i,o)}};const Fb=class Fb extends we{constructor(){super({id:Fb.ID,label:y("indentationToSpaces","Convert Indentation to Spaces"),alias:"Convert Indentation to Spaces",precondition:R.writable,metadata:{description:xt("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 z6(s,n.tabSize);t.pushUndoStop(),t.executeCommands(this.id,[r]),t.pushUndoStop(),i.updateOptions({insertSpaces:!0})}};Fb.ID="editor.action.indentationToSpaces";let _x=Fb;const Hb=class Hb extends we{constructor(){super({id:Hb.ID,label:y("indentationToTabs","Convert Indentation to Tabs"),alias:"Convert Indentation to Tabs",precondition:R.writable,metadata:{description:xt("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 V6(s,n.tabSize);t.pushUndoStop(),t.executeCommands(this.id,[r]),t.pushUndoStop(),i.updateOptions({insertSpaces:!1})}};Hb.ID="editor.action.indentationToTabs";let vx=Hb;class nL extends we{constructor(e,t,i){super(i),this.insertSpaces=e,this.displaySizeOnly=t}run(e,t){const i=e.get(Dl),n=e.get(no),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 Wb=class Wb extends nL{constructor(){super(!1,!1,{id:Wb.ID,label:y("indentUsingTabs","Indent Using Tabs"),alias:"Indent Using Tabs",precondition:void 0,metadata:{description:xt("indentUsingTabsDescription","Use indentation with tabs.")}})}};Wb.ID="editor.action.indentUsingTabs";let bx=Wb;const Bb=class Bb extends nL{constructor(){super(!0,!1,{id:Bb.ID,label:y("indentUsingSpaces","Indent Using Spaces"),alias:"Indent Using Spaces",precondition:void 0,metadata:{description:xt("indentUsingSpacesDescription","Use indentation with spaces.")}})}};Bb.ID="editor.action.indentUsingSpaces";let yx=Bb;const zb=class zb extends nL{constructor(){super(!0,!0,{id:zb.ID,label:y("changeTabDisplaySize","Change Tab Display Size"),alias:"Change Tab Display Size",precondition:void 0,metadata:{description:xt("changeTabDisplaySizeDescription","Change the space size equivalent of the tab.")}})}};zb.ID="editor.action.changeTabDisplaySize";let wx=zb;const Vb=class Vb extends we{constructor(){super({id:Vb.ID,label:y("detectIndentation","Detect Indentation from Content"),alias:"Detect Indentation from Content",precondition:void 0,metadata:{description:xt("detectIndentationDescription","Detect the indentation from content.")}})}run(e,t){const i=e.get(no),n=t.getModel();if(!n)return;const s=i.getCreationOptions(n.getLanguageId(),n.uri,n.isForSimpleWidget);n.detectIndentation(s.insertSpaces,s.tabSize)}};Vb.ID="editor.action.detectIndentation";let Sx=Vb;class F6 extends we{constructor(){super({id:"editor.action.reindentlines",label:y("editor.reindentlines","Reindent Lines"),alias:"Reindent Lines",precondition:R.writable,metadata:{description:xt("editor.reindentlinesDescription","Reindent the lines of the editor.")}})}run(e,t){const i=e.get(xs),n=t.getModel();if(!n)return;const s=MN(n,i,1,n.getLineCount());s.length>0&&(t.pushUndoStop(),t.executeEdits(this.id,s),t.pushUndoStop())}}class H6 extends we{constructor(){super({id:"editor.action.reindentselectedlines",label:y("editor.reindentselectedlines","Reindent Selected Lines"),alias:"Reindent Selected Lines",precondition:R.writable,metadata:{description:xt("editor.reindentselectedlinesDescription","Reindent the selected lines of the editor.")}})}run(e,t){const i=e.get(xs),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=MN(n,i,c,h);r.push(...g)}r.length>0&&(t.pushUndoStop(),t.executeEdits(this.id,r),t.pushUndoStop())}}class W6{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 Qu;let $v=(Qu=class{constructor(e,t){this.editor=e,this._languageConfigurationService=t,this.callOnDispose=new je,this.callOnModel=new je,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)||B6(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:_=>ug.shiftIndent(_,_.length+1,r,a,c),unshiftIndent:_=>ug.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 _=Wf(s,i,i.getLanguageId(),f,g,this._languageConfigurationService);if(_!==null){const w=Fs(p),S=_o(_,r),D=_o(w,r);if(S!==D){const P=Gf(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=pP(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=Wf(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=_o(w,r),D=_o(Fs(i.getLineContent(f+1)),r);if(S!==D){const P=S-D;for(let A=f+1;A<=e.endLineNumber;A++){const V=i.getLineContent(A),H=Fs(V),X=_o(H,r)+P,fe=Gf(X,r,c);fe!==H&&h.push({range:new z(A,1,A,H.length+1),text:fe})}}}}if(h.length>0){this.editor.pushUndoStop();const _=new W6(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()}},Qu.ID="editor.contrib.autoIndentOnPaste",Qu);$v=A6([O6(1,xs)],$v);function B6(o,e){const t=i=>W2(o,i)===2;return t(e.getStartPosition())||t(e.getEndPosition())}function NN(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 z6{constructor(e,t){this.selection=e,this.tabSize=t,this.selectionId=null}getEditOperations(e,t){this.selectionId=t.trackSelection(this.selection),NN(e,t,this.tabSize,!0)}computeCursorState(e,t){return t.getTrackedSelection(this.selectionId)}}class V6{constructor(e,t){this.selection=e,this.tabSize=t,this.selectionId=null}getEditOperations(e,t){this.selectionId=t.trackSelection(this.selection),NN(e,t,this.tabSize,!1)}computeCursorState(e,t){return t.getTrackedSelection(this.selectionId)}}wi($v.ID,$v,2);se(_x);se(vx);se(bx);se(yx);se(wx);se(Sx);se(F6);se(H6);wi(Ip.ID,Ip,1);Fh.register(Cv);class j6{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 Kt(n.endLineNumber,Math.min(this._originalSelection.positionColumn,n.endColumn),n.endLineNumber,Math.min(this._originalSelection.positionColumn,n.endColumn)):new Kt(n.endLineNumber,n.endColumn-this._text.length,n.endLineNumber,n.endColumn)}}var U6=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},$6=function(o,e){return function(t,i){e(t,i,o)}},H_,Sc;let Eg=(Sc=class{static get(e){return e.getContribution(H_.ID)}constructor(e,t){this.editor=e,this.editorWorkerService=t,this.decorations=this.editor.createDecorationsCollection()}dispose(){}run(e,t){var c;(c=this.currentRequest)==null||c.cancel();const i=this.editor.getSelection(),n=this.editor.getModel();if(!n||!i)return;let s=i;if(s.startLineNumber!==s.endLineNumber)return;const r=new fP(this.editor,5),a=n.uri;return this.editorWorkerService.canNavigateValueSet(a)?(this.currentRequest=Ds(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 Kt(s.startLineNumber,s.startColumn,s.endLineNumber,s.endColumn+p-1));const v=new j6(g,s,h.value);this.editor.pushUndoStop(),this.editor.executeCommand(e,v),this.editor.pushUndoStop(),this.decorations.set([{range:f,options:H_.DECORATION}]),(_=this.decorationRemover)==null||_.cancel(),this.decorationRemover=Sy(350),this.decorationRemover.then(()=>this.decorations.clear()).catch(Cn)}).catch(Cn)):Promise.resolve(void 0)}},H_=Sc,Sc.ID="editor.contrib.inPlaceReplaceController",Sc.DECORATION=Ai.register({description:"in-place-replace",className:"valueSetReplacement"}),Sc);Eg=H_=U6([$6(1,Tl)],Eg);class q6 extends we{constructor(){super({id:"editor.action.inPlaceReplace.up",label:y("InPlaceReplaceAction.previous.label","Replace with Previous Value"),alias:"Replace with Previous Value",precondition:R.writable,kbOpts:{kbExpr:R.editorTextFocus,primary:3159,weight:100}})}run(e,t){const i=Eg.get(t);return i?i.run(this.id,!1):Promise.resolve(void 0)}}class K6 extends we{constructor(){super({id:"editor.action.inPlaceReplace.down",label:y("InPlaceReplaceAction.next.label","Replace with Next Value"),alias:"Replace with Next Value",precondition:R.writable,kbOpts:{kbExpr:R.editorTextFocus,primary:3161,weight:100}})}run(e,t){const i=Eg.get(t);return i?i.run(this.id,!0):Promise.resolve(void 0)}}wi(Eg.ID,Eg,4);se(q6);se(K6);class G6 extends we{constructor(){super({id:"expandLineSelection",label:y("expandLineSelection","Expand Line Selection"),alias:"Expand Line Selection",precondition:void 0,kbOpts:{weight:0,kbExpr:R.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,s1.expandLineSelection(n,n.getCursorStates())),n.revealAllCursors(i.source,!0)}}se(G6);class Z6{constructor(e,t,i){this._selection=e,this._cursors=t,this._selectionId=null,this._trimInRegexesAndStrings=i}getEditOperations(e,t){const i=X6(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 X6(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=x_(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++]=Gn.delete(new z(a,v,a,g))}return i}class RN{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=Kt.createWithDirection(n,s,r,a,this._selectionDirection)}return i}}var Y6=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Q6=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 Kt(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=Fs(e.getLineContent(f)),D=_+_o(S,a);v=Gf(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=Wf(this._autoIndent,S,e.getLanguageIdAtPosition(f,1),r.startLineNumber,g,this._languageConfigurationService);if(D!==null){const P=Fs(e.getLineContent(f)),A=_o(D,a),V=_o(P,a);A!==V&&(v=Gf(A,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=Wf(this._autoIndent,S,e.getLanguageIdAtPosition(f,1),r.startLineNumber+1,g,this._languageConfigurationService);if(D!==null){const P=Fs(e.getLineContent(r.startLineNumber)),A=_o(D,a),V=_o(P,a);if(A!==V){const H=A-V;this.getIndentEditsOfMovingBlock(e,t,r,a,h,H)}}}}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=Wf(this._autoIndent,v,e.getLanguageIdAtPosition(r.startLineNumber,1),f,g,this._languageConfigurationService);if(w!==null){const S=Fs(e.getLineContent(r.startLineNumber)),D=_o(w,a),P=_o(S,a);if(D!==P){const A=D-P;this.getIndentEditsOfMovingBlock(e,t,r,a,h,A)}}}}}this._selectionId=t.trackSelection(r)}buildIndentConverter(e,t,i){return{shiftIndent:n=>ug.shiftIndent(n,n.length+1,e,t,i),unshiftIndent:n=>ug.unshiftIndent(n,n.length+1,e,t,i)}}parseEnterResult(e,t,i,n,s){if(s){let r=s.indentation;s.indentAction===jm.None||s.indentAction===jm.Indent?r=s.indentation+s.appendText:s.indentAction===jm.IndentOutdent?r=s.indentation:s.indentAction===jm.Outdent&&(r=t.unshiftIndent(s.indentation)+s.appendText);const a=e.getLineContent(n);if(this.trimStart(a).indexOf(this.trimStart(r))>=0){const c=Fs(e.getLineContent(n));let h=Fs(r);const g=pP(e,n,this._languageConfigurationService);g!==null&&g&2&&(h=t.unshiftIndent(h));const f=_o(h,i),p=_o(c,i);return f-p}}return null}matchEnterRuleMovingDown(e,t,i,n,s,r){if(x_(r)>=0){const a=e.getLineMaxColumn(s),c=_w(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(x_(g)>=0)break;a--}if(a<1||n>e.getLineCount())return null;const c=e.getLineMaxColumn(a),h=_w(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),x_(g)>=0)break;a--}if(a<1||n>e.getLineCount())return null;const c=e.getLineMaxColumn(a),h=_w(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=Fs(c),f=_o(h,n)+r,p=Gf(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=Y6([Q6(3,xs)],Cx);const Tu=class Tu{static getCollator(){return Tu._COLLATOR||(Tu._COLLATOR=new Intl.Collator),Tu._COLLATOR}constructor(e,t){this.selection=e,this.descending=t,this.selectionId=null}getEditOperations(e,t){const i=J6(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=AN(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}};Tu._COLLATOR=null;let Mp=Tu;function AN(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(Mp.getCollator().compare),t===!0&&(r=r.reverse()),{startLineNumber:i,endLineNumber:n,before:s,after:r}}function J6(o,e,t){const i=AN(o,e,t);return i?Gn.replace(new z(i.startLineNumber,1,i.endLineNumber,o.getLineMaxColumn(i.endLineNumber)),i.after.join(`
55
- `)):null}class ON extends we{constructor(e,t){super(t),this.down=e}run(e,t){if(!t.hasModel())return;const i=t.getSelections().map((r,a)=>({selection:r,index:a,ignore:!1}));i.sort((r,a)=>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 RN(r.selection,this.down,r.ignore));t.pushUndoStop(),t.executeCommands(this.id,s),t.pushUndoStop()}}class eU extends ON{constructor(){super(!1,{id:"editor.action.copyLinesUpAction",label:y("lines.copyUp","Copy Line Up"),alias:"Copy Line Up",precondition:R.writable,kbOpts:{kbExpr:R.editorTextFocus,primary:1552,linux:{primary:3600},weight:100},menuOpts:{menuId:ht.MenubarSelectionMenu,group:"2_line",title:y({key:"miCopyLinesUp",comment:["&& denotes a mnemonic"]},"&&Copy Line Up"),order:1}})}}class tU extends ON{constructor(){super(!0,{id:"editor.action.copyLinesDownAction",label:y("lines.copyDown","Copy Line Down"),alias:"Copy Line Down",precondition:R.writable,kbOpts:{kbExpr:R.editorTextFocus,primary:1554,linux:{primary:3602},weight:100},menuOpts:{menuId:ht.MenubarSelectionMenu,group:"2_line",title:y({key:"miCopyLinesDown",comment:["&& denotes a mnemonic"]},"Co&&py Line Down"),order:2}})}}class iU extends we{constructor(){super({id:"editor.action.duplicateSelection",label:y("duplicateSelection","Duplicate Selection"),alias:"Duplicate Selection",precondition:R.writable,menuOpts:{menuId:ht.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 RN(a,!0));else{const c=new Kt(a.endLineNumber,a.endColumn,a.endLineNumber,a.endColumn);n.push(new B2(c,r.getValueInRange(a)))}t.pushUndoStop(),t.executeCommands(this.id,n),t.pushUndoStop()}}class FN extends we{constructor(e,t){super(t),this.down=e}run(e,t){const i=e.get(xs),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 nU extends FN{constructor(){super(!1,{id:"editor.action.moveLinesUpAction",label:y("lines.moveUp","Move Line Up"),alias:"Move Line Up",precondition:R.writable,kbOpts:{kbExpr:R.editorTextFocus,primary:528,linux:{primary:528},weight:100},menuOpts:{menuId:ht.MenubarSelectionMenu,group:"2_line",title:y({key:"miMoveLinesUp",comment:["&& denotes a mnemonic"]},"Mo&&ve Line Up"),order:3}})}}class sU extends FN{constructor(){super(!0,{id:"editor.action.moveLinesDownAction",label:y("lines.moveDown","Move Line Down"),alias:"Move Line Down",precondition:R.writable,kbOpts:{kbExpr:R.editorTextFocus,primary:530,linux:{primary:530},weight:100},menuOpts:{menuId:ht.MenubarSelectionMenu,group:"2_line",title:y({key:"miMoveLinesDown",comment:["&& denotes a mnemonic"]},"Move &&Line Down"),order:4}})}}class HN extends we{constructor(e,t){super(t),this.descending=e}run(e,t){if(!t.hasModel())return;const i=t.getModel();let n=t.getSelections();n.length===1&&n[0].isEmpty()&&(n=[new Kt(1,1,i.getLineCount(),i.getLineMaxColumn(i.getLineCount()))]);for(const r of n)if(!Mp.canRun(t.getModel(),r,this.descending))return;const s=[];for(let r=0,a=n.length;r<a;r++)s[r]=new Mp(n[r],this.descending);t.pushUndoStop(),t.executeCommands(this.id,s),t.pushUndoStop()}}class oU extends HN{constructor(){super(!1,{id:"editor.action.sortLinesAscending",label:y("lines.sortAscending","Sort Lines Ascending"),alias:"Sort Lines Ascending",precondition:R.writable})}}class rU extends HN{constructor(){super(!0,{id:"editor.action.sortLinesDescending",label:y("lines.sortDescending","Sort Lines Descending"),alias:"Sort Lines Descending",precondition:R.writable})}}class aU extends we{constructor(){super({id:"editor.action.removeDuplicateLines",label:y("lines.deleteDuplicates","Delete Duplicate Lines"),alias:"Delete Duplicate Lines",precondition:R.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 Kt(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 Kt(h.startLineNumber,1,h.endLineNumber,i.getLineMaxColumn(h.endLineNumber)),v=h.startLineNumber-r,_=new Kt(v,1,v+f.length-1,f[f.length-1].length);n.push(Gn.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 jb=class jb extends we{constructor(){super({id:jb.ID,label:y("lines.trimTrailingWhitespace","Trim Trailing Whitespace"),alias:"Trim Trailing Whitespace",precondition:R.writable,kbOpts:{kbExpr:R.editorTextFocus,primary:ds(2089,2102),weight:100}})}run(e,t,i){let n=[];i.reason==="auto-save"&&(n=(t.getSelections()||[]).map(g=>new Pt(g.positionLineNumber,g.positionColumn)));const s=t.getSelection();if(s===null)return;const r=e.get(On),a=t.getModel(),c=r.getValue("files.trimTrailingWhitespaceInRegexAndStrings",{overrideIdentifier:a==null?void 0:a.getLanguageId(),resource:a==null?void 0:a.uri}),h=new Z6(s,n,c);t.pushUndoStop(),t.executeCommands(this.id,[h]),t.pushUndoStop()}};jb.ID="editor.action.trimTrailingWhitespace";let xx=jb;class lU extends we{constructor(){super({id:"editor.action.deleteLines",label:y("lines.delete","Delete Line"),alias:"Delete Line",precondition:R.writable,kbOpts:{kbExpr:R.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(Gn.replace(new Kt(f,v,p,_),"")),a.push(new Kt(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 cU extends we{constructor(){super({id:"editor.action.indentLines",label:y("lines.indent","Indent Line"),alias:"Indent Line",precondition:R.writable,kbOpts:{kbExpr:R.editorTextFocus,primary:2142,weight:100}})}run(e,t){const i=t._getViewModel();i&&(t.pushUndoStop(),t.executeCommands(this.id,z2.indent(i.cursorConfig,t.getModel(),t.getSelections())),t.pushUndoStop())}}class dU extends we{constructor(){super({id:"editor.action.outdentLines",label:y("lines.outdent","Outdent Line"),alias:"Outdent Line",precondition:R.writable,kbOpts:{kbExpr:R.editorTextFocus,primary:2140,weight:100}})}run(e,t){C_.Outdent.runEditorCommand(e,t,null)}}class hU extends we{constructor(){super({id:"editor.action.insertLineBefore",label:y("lines.insertBefore","Insert Line Above"),alias:"Insert Line Above",precondition:R.writable,kbOpts:{kbExpr:R.editorTextFocus,primary:3075,weight:100}})}run(e,t){const i=t._getViewModel();i&&(t.pushUndoStop(),t.executeCommands(this.id,mP.lineInsertBefore(i.cursorConfig,t.getModel(),t.getSelections())))}}class uU extends we{constructor(){super({id:"editor.action.insertLineAfter",label:y("lines.insertAfter","Insert Line Below"),alias:"Insert Line Below",precondition:R.writable,kbOpts:{kbExpr:R.editorTextFocus,primary:2051,weight:100}})}run(e,t){const i=t._getViewModel();i&&(t.pushUndoStop(),t.executeCommands(this.id,mP.lineInsertAfter(i.cursorConfig,t.getModel(),t.getSelections())))}}class WN extends we{run(e,t){if(!t.hasModel())return;const i=t.getSelection(),n=this._getRangesToDelete(t),s=[];for(let c=0,h=n.length-1;c<h;c++){const g=n[c],f=n[c+1];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=>Gn.replace(c,""));t.pushUndoStop(),t.executeEdits(this.id,a,r),t.pushUndoStop()}}class gU extends WN{constructor(){super({id:"deleteAllLeft",label:y("lines.deleteAllLeft","Delete All Left"),alias:"Delete All Left",precondition:R.writable,kbOpts:{kbExpr:R.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 Kt(c,r.startColumn,c,r.startColumn)}else a=new Kt(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 fU extends WN{constructor(){super({id:"deleteAllRight",label:y("lines.deleteAllRight","Delete All Right"),alias:"Delete All Right",precondition:R.writable,kbOpts:{kbExpr:R.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 Kt(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 pU extends we{constructor(){super({id:"editor.action.joinLines",label:y("lines.joinLines","Join Lines"),alias:"Join Lines",precondition:R.writable,kbOpts:{kbExpr:R.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 Kt(p.startLineNumber,p.startColumn,v.endLineNumber,v.endColumn):v.startLineNumber>p.endLineNumber?(s.push(p),v):new Kt(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,A;const V=a.getLineLength(_.endLineNumber)-_.endColumn;if(_.isEmpty()||_.startLineNumber===_.endLineNumber){const X=_.getStartPosition();X.lineNumber<a.getLineCount()?(P=w+1,A=a.getLineMaxColumn(P)):(P=X.lineNumber,A=a.getLineMaxColumn(X.lineNumber))}else P=_.endLineNumber,A=a.getLineMaxColumn(P);let H=a.getLineContent(w);for(let X=w+1;X<=P;X++){const fe=a.getLineContent(X),Ie=a.getLineFirstNonWhitespaceColumn(X);if(Ie>=1){let Be=!0;H===""&&(Be=!1),Be&&(H.charAt(H.length-1)===" "||H.charAt(H.length-1)===" ")&&(Be=!1,H=H.replace(/[\s\uFEFF\xA0]+$/g," "));const Se=fe.substr(Ie-1);H+=(Be?" ":"")+Se,Be?D=Se.length+1:D=Se.length}else D=0}const J=new z(w,S,P,A);if(!J.isEmpty()){let X;_.isEmpty()?(c.push(Gn.replace(J,H)),X=new Kt(J.startLineNumber-f,H.length-D+1,w-f,H.length-D+1)):_.startLineNumber===_.endLineNumber?(c.push(Gn.replace(J,H)),X=new Kt(_.startLineNumber-f,_.startColumn,_.endLineNumber-f,_.endColumn)):(c.push(Gn.replace(J,H)),X=new Kt(_.startLineNumber-f,_.startColumn,_.startLineNumber-f,H.length-V)),z.intersectRanges(J,n)!==null?g=X:h.push(X)}f+=J.endLineNumber-J.startLineNumber}h.unshift(g),t.pushUndoStop(),t.executeEdits(this.id,c,h),t.pushUndoStop()}}class mU extends we{constructor(){super({id:"editor.action.transpose",label:y("editor.transpose","Transpose Characters around the Cursor"),alias:"Transpose Characters around the Cursor",precondition:R.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 Jp(new Kt(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 RE(f,p,new Kt(h.lineNumber,h.column+1,h.lineNumber,h.column+1)))}}t.pushUndoStop(),t.executeCommands(this.id,s),t.pushUndoStop()}}class Bh extends we{run(e,t){const i=t.getSelections();if(i===null)return;const n=t.getModel();if(n===null)return;const s=t.getOption(132),r=[];for(const a of i)if(a.isEmpty()){const c=a.getStartPosition(),h=t.getConfiguredWordAtPosition(c);if(!h)continue;const g=new z(c.lineNumber,h.startColumn,c.lineNumber,h.endColumn),f=n.getValueInRange(g);r.push(Gn.replace(g,this._modifyText(f,s)))}else{const c=n.getValueInRange(a);r.push(Gn.replace(a,this._modifyText(c,s)))}t.pushUndoStop(),t.executeEdits(this.id,r),t.pushUndoStop()}}class _U extends Bh{constructor(){super({id:"editor.action.transformToUppercase",label:y("editor.transformToUppercase","Transform to Uppercase"),alias:"Transform to Uppercase",precondition:R.writable})}_modifyText(e,t){return e.toLocaleUpperCase()}}class vU extends Bh{constructor(){super({id:"editor.action.transformToLowercase",label:y("editor.transformToLowercase","Transform to Lowercase"),alias:"Transform to Lowercase",precondition:R.writable})}_modifyText(e,t){return e.toLocaleLowerCase()}}class _l{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 Ub=class Ub extends Bh{constructor(){super({id:"editor.action.transformToTitlecase",label:y("editor.transformToTitlecase","Transform to Title Case"),alias:"Transform to Title Case",precondition:R.writable})}_modifyText(e,t){const i=Ub.titleBoundary.get();return i?e.toLocaleLowerCase().replace(i,n=>n.toLocaleUpperCase()):e}};Ub.titleBoundary=new _l("(^|[^\\p{L}\\p{N}']|((^|\\P{L})'))\\p{L}","gmu");let qv=Ub;const Mu=class Mu extends Bh{constructor(){super({id:"editor.action.transformToSnakecase",label:y("editor.transformToSnakecase","Transform to Snake Case"),alias:"Transform to Snake Case",precondition:R.writable})}_modifyText(e,t){const i=Mu.caseBoundary.get(),n=Mu.singleLetters.get();return!i||!n?e:e.replace(i,"$1_$2").replace(n,"$1_$2$3").toLocaleLowerCase()}};Mu.caseBoundary=new _l("(\\p{Ll})(\\p{Lu})","gmu"),Mu.singleLetters=new _l("(\\p{Lu}|\\p{N})(\\p{Lu})(\\p{Ll})","gmu");let Zf=Mu;const $b=class $b extends Bh{constructor(){super({id:"editor.action.transformToCamelcase",label:y("editor.transformToCamelcase","Transform to Camel Case"),alias:"Transform to Camel Case",precondition:R.writable})}_modifyText(e,t){const i=$b.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("")}};$b.wordBoundary=new _l("[_\\s-]","gm");let Kv=$b;const Nu=class Nu extends Bh{constructor(){super({id:"editor.action.transformToPascalcase",label:y("editor.transformToPascalcase","Transform to Pascal Case"),alias:"Transform to Pascal Case",precondition:R.writable})}_modifyText(e,t){const i=Nu.wordBoundary.get(),n=Nu.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("")}};Nu.wordBoundary=new _l("[_\\s-]","gm"),Nu.wordBoundaryToMaintain=new _l("(?<=\\.)","gm");let Gv=Nu;const Gl=class Gl extends Bh{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:R.writable})}_modifyText(e,t){const i=Gl.caseBoundary.get(),n=Gl.singleLetters.get(),s=Gl.underscoreBoundary.get();return!i||!n||!s?e:e.replace(s,"$1-$3").replace(i,"$1-$2").replace(n,"$1-$2").toLocaleLowerCase()}};Gl.caseBoundary=new _l("(\\p{Ll})(\\p{Lu})","gmu"),Gl.singleLetters=new _l("(\\p{Lu}|\\p{N})(\\p{Lu}\\p{Ll})","gmu"),Gl.underscoreBoundary=new _l("(\\S)(_)(\\S)","gm");let Zv=Gl;se(eU);se(tU);se(iU);se(nU);se(sU);se(oU);se(rU);se(aU);se(xx);se(lU);se(cU);se(dU);se(hU);se(uU);se(gU);se(fU);se(pU);se(mU);se(_U);se(vU);Zf.caseBoundary.isSupported()&&Zf.singleLetters.isSupported()&&se(Zf);Kv.wordBoundary.isSupported()&&se(Kv);Gv.wordBoundary.isSupported()&&se(Gv);qv.titleBoundary.isSupported()&&se(qv);Zv.isSupported()&&se(Zv);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},h_=function(o,e){return function(t,i){e(t,i,o)}},W_;const BN=new Bi("LinkedEditingInputVisible",!1),yU="linked-editing-decoration";var Cc;let Pg=(Cc=class extends $e{static get(e){return e.getContribution(W_.ID)}constructor(e,t,i,n,s){super(),this.languageConfigurationService=n,this._syncRangesToken=0,this._localToDispose=this._register(new je),this._editor=e,this._providers=i.linkedEditingRangeProvider,this._enabled=!1,this._visibleContextKey=BN.bindTo(t),this._debounceInformation=s.for(this._providers,"Linked Editing",{max:200}),this._currentDecorations=this._editor.createDecorationsCollection(),this._languageWordPattern=null,this._currentWordPattern=null,this._ignoreChangeEvent=!1,this._localToDispose=this._register(new je),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(ms.runAndSubscribe(t.onDidChangeLanguageConfiguration,()=>{this._languageWordPattern=this.languageConfigurationService.getLanguageConfiguration(t.getLanguageId()).getWordDefinition()}));const n=new Dc(this._debounceInformation.get(t)),s=()=>{this._rangeUpdateTriggerPromise=n.trigger(()=>this.updateRanges(),this._debounceDuration??this._debounceInformation.get(t))},r=new Dc(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=hm(h,g);f+=v,h=h.substr(v),g=g.substr(v);const _=V2(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 Es;try{const r=new xo(!1),a=await zN(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:W_.DECORATION}));this._visibleContextKey.set(!0),this._currentDecorations.set(g),this._syncRangesToken++}catch(r){Oc(r)||Cn(r),(this._currentRequestCts===s||!this._currentRequestCts)&&this.clearRanges()}}},W_=Cc,Cc.ID="editor.contrib.linkedEditing",Cc.DECORATION=Ai.register({description:"linked-editing",stickiness:0,className:yU}),Cc);Pg=W_=bU([h_(1,Yi),h_(2,Tt),h_(3,xs),h_(4,nr)],Pg);class wU extends we{constructor(){super({id:"editor.action.linkedEditing",label:y("linkedEditing.label","Start Linked Editing"),alias:"Start Linked Editing",precondition:ce.and(R.writable,R.hasRenameProvider),kbOpts:{kbExpr:R.editorTextFocus,primary:3132,weight:100}})}runCommand(e,t){const i=e.get(os),[n,s]=Array.isArray(t)&&t||[void 0,void 0];return bn.isUri(n)&&Pt.isIPosition(s)?i.openCodeEditor({resource:n},i.getActiveCodeEditor()).then(r=>{r&&(r.setPosition(s),r.invokeWithinContext(a=>(this.reportTelemetry(a,r),this.run(a,r))))},Cn):super.runCommand(e,t)}run(e,t){const i=Pg.get(t);return i?Promise.resolve(i.updateRanges(!0)):Promise.resolve()}}const SU=go.bindToContribution(Pg.get);Mt(new SU({id:"cancelLinkedEditingInput",precondition:BN,handler:o=>o.clearRanges(),kbOpts:{kbExpr:R.editorTextFocus,weight:199,primary:9,secondary:[1033]}}));function zN(o,e,t,i){const n=o.ordered(e);return o1(n.map(s=>async()=>{try{return await s.provideLinkedEditingRanges(e,t,i)}catch(r){ss(r);return}}),s=>!!s&&Oo(s==null?void 0:s.ranges))}yt("editor.linkedEditingBackground",{dark:Ni.fromHex("#f00").transparent(.3),light:Ni.fromHex("#f00").transparent(.3),hcDark:Ni.fromHex("#f00").transparent(.3),hcLight:Ni.white},y("editorLinkedEditingBackground","Background color when the editor auto renames on type."));fo("_executeLinkedEditingProvider",(o,e,t)=>{const{linkedEditingRangeProvider:i}=o.get(Tt);return zN(i,e,t,_i.None)});wi(Pg.ID,Pg,1);se(wU);let CU=class{constructor(e,t){this._link=e,this._provider=t}toJSON(){return{range:this.range,url:this.url,tooltip:this.tooltip}}get range(){return this._link.range}get url(){return this._link.url}get tooltip(){return this._link.tooltip}async resolve(e){return this._link.url?this._link.url:typeof this._provider.resolveLink=="function"?Promise.resolve(this._provider.resolveLink(this._link,e)).then(t=>(this._link=t||this._link,this._link.url?this.resolve(e):Promise.reject(new Error("missing")))):Promise.reject(new Error("missing"))}};class Xv{constructor(e){this._disposables=new je;let t=[];for(const[i,n]of e){const s=i.links.map(r=>new CU(r,n));t=Xv._union(t,s),tP(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 VN(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])},ss));return Promise.all(n).then(()=>{const s=new Xv(vl(i));return t.isCancellationRequested?(s.dispose(),new Xv([])):s})}Pn.registerCommand("_executeLinkProvider",async(o,...e)=>{let[t,i]=e;tn(t instanceof bn),typeof i!="number"&&(i=0);const{linkProvider:n}=o.get(Tt),s=o.get(no).getModel(t);if(!s)return[];const r=await VN(n,s,_i.None);if(!r)return[];for(let c=0;c<Math.min(i,r.links.length);c++)await r.links[c].resolve(_i.None);const a=r.links.slice(0);return r.dispose(),a});var xU=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},u_=function(o,e){return function(t,i){e(t,i,o)}},Lx,Yd;let Np=(Yd=class extends $e{static get(e){return e.getContribution(Lx.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 _s(()=>this.computeLinksNow(),1e3)),this.computePromise=null,this.activeLinksList=null,this.currentOccurrences={},this.activeLinkDecorationId=null;const r=this._register(new Vy(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=Ds(t=>VN(this.providers,e,t));try{const t=new xo(!1);if(this.activeLinksList=await this.computePromise,this.debounceInformation.update(e,t.elapsed()),e.isDisposed())return;this.updateDecorations(this.activeLinksList.links)}catch(t){Cn(t)}finally{this.computePromise=null}}}updateDecorations(e){const t=this.editor.getOption(78)==="altKey",i=[],n=Object.keys(this.currentOccurrences);for(const r of n){const a=this.currentOccurrences[r];i.push(a.decorationId)}const s=[];if(e)for(const r of e)s.push(Fu.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 Fu(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(_i.None).then(s=>{if(typeof s=="string"&&this.editor.hasModel()){const r=this.editor.getModel().uri;if(r.scheme===ro.file&&s.startsWith(`${ro.file}:`)){const a=bn.parse(s);if(a.scheme===ro.file){const c=j2(a);let h=null;c.startsWith("/./")||c.startsWith("\\.\\")?h=`.${c.substr(1)}`:(c.startsWith("//./")||c.startsWith("\\\\.\\"))&&(h=`.${c.substr(2)}`),h&&(s=U2(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.")):Cn(s)})}getLinkOccurrence(e){if(!this.editor.hasModel()||!e)return null;const t=this.editor.getModel().getDecorationsInRange({startLineNumber:e.lineNumber,startColumn:e.column,endLineNumber:e.lineNumber,endColumn:e.column},0,!0);for(const i of t){const n=this.currentOccurrences[i.id];if(n)return n}return null}isEnabled(e,t){return!!(e.target.type===6&&(e.hasTriggerModifier||t&&t.keyCodeIsTriggerKey))}stop(){var e;this.computeLinks.cancel(),this.activeLinksList&&((e=this.activeLinksList)==null||e.dispose(),this.activeLinksList=null),this.computePromise&&(this.computePromise.cancel(),this.computePromise=null)}dispose(){super.dispose(),this.stop()}},Lx=Yd,Yd.ID="editor.linkDetector",Yd);Np=Lx=xU([u_(1,la),u_(2,io),u_(3,Tt),u_(4,nr)],Np);const oD={general:Ai.register({description:"detected-link",stickiness:1,collapseOnReplaceEdit:!0,inlineClassName:"detected-link"}),active:Ai.register({description:"detected-link-active",stickiness:1,collapseOnReplaceEdit:!0,inlineClassName:"detected-link-active"})};class Fu{static decoration(e,t){return{range:e.range,options:Fu._getOptions(e,t,!1)}}static _getOptions(e,t,i){const n={...i?oD.active:oD.general};return n.hoverMessage=LU(e,t),n}constructor(e,t){this.link=e,this.decorationId=t}activate(e,t){e.changeDecorationOptions(this.decorationId,Fu._getOptions(this.link,t,!0))}deactivate(e,t){e.changeDecorationOptions(this.decorationId,Fu._getOptions(this.link,t,!1))}}function LU(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?za?y("links.navigate.kb.meta.mac","cmd + click"):y("links.navigate.kb.meta","ctrl + click"):za?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 Gs("",!0).appendLink(o.url.toString(!0).replace(/ /g,"%20"),i,s).appendMarkdown(` (${n})`)}else return new Gs().appendText(`${i} (${n})`)}class kU extends we{constructor(){super({id:"editor.action.openLink",label:y("label","Open Link"),alias:"Open Link",precondition:void 0})}run(e,t){const i=Np.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)}}}wi(Np.ID,Np,1);se(kU);const EL=class EL extends $e{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})}))}};EL.ID="editor.contrib.longLinesHelper";let Yv=EL;wi(Yv.ID,Yv,2);const IU=yt("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);yt("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);yt("editor.wordHighlightTextBackground",IU,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 DU=yt("editor.wordHighlightBorder",{light:null,dark:null,hcDark:uh,hcLight:uh},y("wordHighlightBorder","Border color of a symbol during read-access, like reading a variable."));yt("editor.wordHighlightStrongBorder",{light:null,dark:null,hcDark:uh,hcLight:uh},y("wordHighlightStrongBorder","Border color of a symbol during write-access, like writing to a variable."));yt("editor.wordHighlightTextBorder",DU,y("wordHighlightTextBorder","Border color of a textual occurrence for a symbol."));const EU=yt("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),PU=yt("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),TU=yt("editorOverviewRuler.wordHighlightTextForeground",_P,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),MU=Ai.register({description:"word-highlight-strong",stickiness:1,className:"wordHighlightStrong",overviewRuler:{color:fs(PU),position:Oa.Center},minimap:{color:fs(Cy),position:1}}),NU=Ai.register({description:"word-highlight-text",stickiness:1,className:"wordHighlightText",overviewRuler:{color:fs(TU),position:Oa.Center},minimap:{color:fs(Cy),position:1}}),RU=Ai.register({description:"selection-highlight-overview",stickiness:1,className:"selectionHighlight",overviewRuler:{color:fs(_P),position:Oa.Center},minimap:{color:fs(Cy),position:1}}),AU=Ai.register({description:"selection-highlight",stickiness:1,className:"selectionHighlight"}),OU=Ai.register({description:"word-highlight",stickiness:1,className:"wordHighlight",overviewRuler:{color:fs(EU),position:Oa.Center},minimap:{color:fs(Cy),position:1}});function FU(o){return o===iv.Write?MU:o===iv.Text?NU:OU}function HU(o){return o?AU:RU}gy((o,e)=>{const t=o.getColor($2);t&&e.addRule(`.monaco-editor .selectionHighlight { background-color: ${t.transparent(.5)}; }`)});var WU=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},BU=function(o,e){return function(t,i){e(t,i,o)}},kx;function Hc(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);rg(n)}}class zU extends we{constructor(){super({id:"editor.action.insertCursorAbove",label:y("mutlicursor.insertAbove","Add Cursor Above"),alias:"Add Cursor Above",precondition:void 0,kbOpts:{kbExpr:R.editorTextFocus,primary:2576,linux:{primary:1552,secondary:[3088]},weight:100},menuOpts:{menuId:ht.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,s1.addCursorUp(s,r,n)),s.revealTopMostCursor(i.source),Hc(r,s.getCursorStates())}}class VU extends we{constructor(){super({id:"editor.action.insertCursorBelow",label:y("mutlicursor.insertBelow","Add Cursor Below"),alias:"Add Cursor Below",precondition:void 0,kbOpts:{kbExpr:R.editorTextFocus,primary:2578,linux:{primary:1554,secondary:[3090]},weight:100},menuOpts:{menuId:ht.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,s1.addCursorDown(s,r,n)),s.revealBottomMostCursor(i.source),Hc(r,s.getCursorStates())}}class jU extends we{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:R.editorTextFocus,primary:1575,weight:100},menuOpts:{menuId:ht.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 Kt(n,s,n,s))}e.endColumn>1&&i.push(new Kt(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),Hc(r,s.getCursorStates())}}class UU extends we{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 Kt(c,i[0].startColumn,c,i[0].endColumn));const r=t._getViewModel(),a=r.getCursorStates();s.length>0&&t.setSelections(s),Hc(a,r.getCursorStates())}}class $U extends we{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 Kt(a,i[0].startColumn,a,i[0].endColumn));const s=t._getViewModel(),r=s.getCursorStates();n.length>0&&t.setSelections(n),Hc(r,s.getCursorStates())}}class g_{constructor(e,t,i){this.selections=e,this.revealRange=t,this.revealScrollType=i}}class Rp{static create(e,t){if(!e.hasModel())return null;const i=t.getState();if(!e.hasTextFocus()&&i.isRevealed&&i.searchString.length>0)return new Rp(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 Kt(c.startLineNumber,f.startColumn,c.startLineNumber,f.endColumn)}else h=e.getModel().getValueInRange(c).replace(/\r\n/g,`
57
- `);return new Rp(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 g_(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 g_(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 Kt(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 g_(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 g_(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 Kt(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 qb=class qb extends $e{static get(e){return e.getContribution(qb.ID)}constructor(e){super(),this._sessionDispose=this._register(new je),this._editor=e,this._ignoreSelectionChange=!1,this._session=null}dispose(){this._endSession(),super.dispose()}_beginSessionIfNeeded(e){if(!this._session){const t=Rp.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 Kt(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(!jN(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 Kt(s.range.startLineNumber,s.range.startColumn,s.range.endLineNumber,s.range.endColumn)))}}};qb.ID="editor.contrib.multiCursorController";let Tg=qb;class qg extends we{run(e,t){const i=Tg.get(t);if(!i)return;const n=t._getViewModel();if(n){const s=n.getCursorStates(),r=ho.get(t);if(r)this._run(i,r);else{const a=e.get(di).createInstance(ho,t);this._run(i,a),a.dispose()}Hc(s,n.getCursorStates())}}}class qU extends qg{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:R.focus,primary:2082,weight:100},menuOpts:{menuId:ht.MenubarSelectionMenu,group:"3_multi",title:y({key:"miAddSelectionToNextFindMatch",comment:["&& denotes a mnemonic"]},"Add &&Next Occurrence"),order:5}})}_run(e,t){e.addSelectionToNextFindMatch(t)}}class KU extends qg{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:ht.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 GU extends qg{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:R.focus,primary:ds(2089,2082),weight:100}})}_run(e,t){e.moveSelectionToNextFindMatch(t)}}class ZU extends qg{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 XU extends qg{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:R.focus,primary:3114,weight:100},menuOpts:{menuId:ht.MenubarSelectionMenu,group:"3_multi",title:y({key:"miSelectHighlights",comment:["&& denotes a mnemonic"]},"Select All &&Occurrences"),order:7}})}_run(e,t){e.selectAll(t)}}class YU extends qg{constructor(){super({id:"editor.action.changeAll",label:y("changeAll.label","Change All Occurrences"),alias:"Change All Occurrences",precondition:ce.and(R.writable,R.editorTextFocus),kbOpts:{kbExpr:R.editorTextFocus,primary:2108,weight:100},contextMenuOpts:{group:"1_modification",order:1.2}})}_run(e,t){e.selectAll(t)}}class QU{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 Qd;let Qv=(Qd=class extends $e{constructor(e,t){super(),this._languageFeaturesService=t,this.editor=e,this._isEnabled=e.getOption(109),this._decorations=e.createDecorationsCollection(),this.updateSoon=this._register(new _s(()=>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=ho.get(e);i&&this._register(i.getState().onFindReplaceStateChange(n=>{this._update()})),this.updateSoon.schedule()}_update(){this._setState(kx._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=Tg.get(i);if(!s)return null;const r=ho.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(!jN(i.getModel(),g,p))return null}a=Rp.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 QU(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:HU(a)}));this._decorations.set(c)}dispose(){this._setState(null),super.dispose()}},kx=Qd,Qd.ID="editor.contrib.selectionHighlighter",Qd);Qv=kx=WU([BU(1,Tt)],Qv);function jN(o,e,t){const i=rD(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=rD(o,r,!t);if(i!==a)return!1}return!0}function rD(o,e,t){const i=o.getValueInRange(e);return t?i.toLowerCase():i}class JU extends we{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),Hc(s,n.getCursorStates()))}}class e5 extends we{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),Hc(s,n.getCursorStates()))}}wi(Tg.ID,Tg,4);wi(Qv.ID,Qv,1);se(zU);se(VU);se(jU);se(qU);se(KU);se(GU);se(ZU);se(XU);se(YU);se(UU);se($U);se(JU);se(e5);const t5="editor.action.inlineEdit.accept",i5="editor.action.inlineEdit.reject",n5="editor.action.inlineEdit.jumpTo",s5="editor.action.inlineEdit.jumpBack";var o5=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},r5=function(o,e){return function(t,i){e(t,i,o)}};const Xw="inline-edit";let Ix=class extends $e{constructor(e,t,i){super(),this.editor=e,this.model=t,this.languageService=i,this.isDisposed=Fo(this,!1),this.currentTextModel=vo(this,this.editor.onDidChangeModel,()=>this.editor.getModel()),this.uiState=fn(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(A=>A.length===0),g=[],f=[];function p(A,V){if(f.length>0){const H=f[f.length-1];V&&H.decorations.push(new fp(H.content.length+1,H.content.length+1+A[0].length,V,0)),H.content+=A[0],A=A.slice(1)}for(const H of A)f.push({content:H,decorations:V?[new fp(1,H.length+1,V,0)]:[]})}const v=s.getLineContent(r.lineNumber);let _,w=0;if(!h&&(c||!a)){for(const A of r.parts){let V=A.lines;a&&!c&&(p(V,Xw),V=[]),_===void 0?(g.push({column:A.column,text:V[0],preview:A.preview}),V=V.slice(1)):p([v.substring(w,A.column-1)],void 0),V.length>0&&(p(V,Xw),_===void 0&&A.column<=v.length&&(_=A.column)),w=A.column-1}_!==void 0&&p([v.substring(w)],void 0)}const S=_!==void 0?new xN(_,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=fn(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:r1})}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:a1})}for(const a of s.inlineTexts)r.push({range:z.fromPositions(new Pt(s.lineNumber,a.column)),options:{description:Xw,after:{content:a.text,inlineClassName:a.preview?"inline-edit-decoration-preview":"inline-edit-decoration",cursorStops:vu.Left},showIfCollapsed:!0}});return r}),this._register(Rn(()=>{this.isDisposed.set(!0,void 0)})),this._register(LN(this.editor,this.decorations))}};Ix=o5([r5(2,da)],Ix);var sL=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Ia=function(o,e){return function(t,i){e(t,i,o)}},B_;let Dx=class extends $e{constructor(e,t,i){super(),this.editor=e,this.model=t,this.instantiationService=i,this.alwaysShowToolbar=vo(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(63).showToolbar==="always"),this.sessionPosition=void 0,this.position=fn(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 Pt(s.lineNumber,Math.min(r,((h=this.sessionPosition)==null?void 0:h.column)??Number.MAX_SAFE_INTEGER));return this.sessionPosition=a,a}),this._register(rm((n,s)=>{if(!this.model.read(n)||!this.alwaysShowToolbar.read(n))return;const a=s.add(this.instantiationService.createInstance(Ex,this.editor,!0,this.position));e.addContentWidget(a),s.add(Rn(()=>e.removeContentWidget(a)))}))}};Dx=sL([Ia(2,di)],Dx);var xc;let Ex=(xc=class extends $e{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${B_.id++}`,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this.nodes=vr("div.inlineEditHints",{className:this.withBorder?".withBorder":""},[vr("div@toolBar")]),this.inlineCompletionsActionsMenus=this._register(this._menuService.createMenu(ht.InlineEditActions,this._contextKeyService)),this.toolBar=this._register(n.createInstance(Px,this.nodes.toolBar,this.editor,ht.InlineEditToolbar,{menuOptions:{renderShortTitle:!0},toolbarOptions:{primaryGroup:a=>a.startsWith("primary")},actionViewItemProvider:(a,c)=>{if(a instanceof dg)return n.createInstance(a5,a,void 0)},telemetrySource:"InlineEditToolbar"})),this._register(this.toolBar.onDidChangeDropdownVisibility(a=>{B_._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 dg&&c.push(f);c.length>0&&c.unshift(new lp),this.toolBar.setAdditionalSecondaryActions(c)}))}getId(){return this.id}getDomNode(){return this.nodes.root}getPosition(){return{position:this._position.get(),preference:[1,2],positionAffinity:3}}},B_=xc,xc._dropDownVisible=!1,xc.id=0,xc);Ex=B_=sL([Ia(3,di),Ia(4,Yi),Ia(5,Th)],Ex);class a5 extends yE{updateLabel(){const e=this._keybindingService.lookupKeybinding(this._action.id,this._contextKeyService);if(!e)return super.updateLabel();if(this.label){const t=vr("div.keybinding").root;this._register(new z0(t,V0,{disableTitle:!0,...wE})).set(e),this.label.textContent=this._action.label,this.label.appendChild(t),this.label.classList.add("inlineEditStatusBarItemLabel")}}updateTooltip(){}}let Px=class extends SE{constructor(e,t,i,n,s,r,a,c,h,g){super(e,{resetMenu:i,...n},s,r,a,c,h,g),this.editor=t,this.menuId=i,this.options2=n,this.menuService=s,this.contextKeyService=r,this.menu=this._store.add(this.menuService.createMenu(this.menuId,this.contextKeyService,{emitEventsForSubmenuChanges:!0})),this.additionalActions=[],this.prependedPrimaryActions=[],this._store.add(this.menu.onDidChange(()=>this.updateToolbar())),this._store.add(this.editor.onDidChangeCursorPosition(()=>this.updateToolbar())),this.updateToolbar()}updateToolbar(){var i,n,s,r,a,c,h;const e=[],t=[];G0(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){Ba(this.additionalActions,e,(t,i)=>t===i)||(this.additionalActions=e,this.updateToolbar())}};Px=sL([Ia(4,Th),Ia(5,Yi),Ia(6,Ag),Ia(7,hs),Ia(8,Cs),Ia(9,ca)],Px);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},z_=function(o,e){return function(t,i){e(t,i,o)}},Pf,Tx;function*l5(o,e,t=1){e===void 0&&([e,o]=[o,0]);for(let i=o;i<e;i+=t)yield i}function Yw(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 Jd;let Mx=(Jd=class extends $e{static _createUniqueUri(){return bn.from({scheme:"inline-edit-widget",path:new Date().toString()+String(Pf._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=fn(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(l5(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 Pt(p,f);return{top:a.range.startLineNumber,left:v}}),this._text=fn(this,r=>{const a=this._model.read(r);if(!a)return{text:"",shift:0};const c=Yw(a.text.split(`
58
- `));return{text:c.text.join(`
59
- `),shift:c.shift}}),this._originalModel=Ec(()=>this._modelService.createModel("",null,Pf._createUniqueUri())).keepObserved(this._store),this._modifiedModel=Ec(()=>this._modelService.createModel("",null,Pf._createUniqueUri())).keepObserved(this._store),this._diff=fn(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=fn(this,r=>{const a=this._model.read(r);if(!a)return;const c=this._editor.getModel();if(!c)return;const h=Yw(c.getValueInRange(a.range).split(`
60
- `)).text.join(`
61
- `),g=Yw(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 vP.fromFn(async()=>{const p=await f.computeDiff(this._originalModel.get(),this._modifiedModel.get(),{computeMoves:!1,ignoreTrimWhitespace:!1,maxComputationTimeMs:1e3},_i.None);if(!p.identical)return p.changes})}),this._register(rm((r,a)=>{if(!this._model.read(r)||this._position.get()===null)return;const h=a.add(this._instantiationService.createInstance(Nx,this._editor,this._position,this._text.map(g=>g.text),this._text.map(g=>g.shift),this._diff));e.addOverlayWidget(h),a.add(Rn(()=>e.removeOverlayWidget(h)))}))}},Pf=Jd,Jd._modelId=0,Jd);Mx=Pf=UN([z_(2,di),z_(3,l1),z_(4,no)],Mx);var eh;let Nx=(eh=class extends $e{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${Tx.id++}`,this.allowEditorOverflow=!1,this._nodes=bt("div.inlineEditSideBySide",void 0),this._scrollChanged=md("editor.onDidScrollChange",this._editor.onDidScrollChange),this._previewEditor=this._register(this._instantiationService.createInstance(Dr,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=Ea(this._previewEditor),this._editorObs=Ea(this._editor),this._previewTextModel=this._register(this._instantiationService.createInstance(ec,"",((a=this._editor.getModel())==null?void 0:a.getLanguageId())??up,ec.DEFAULT_CREATION_OPTIONS,null)),this._setText=fn(c=>{const h=this._text.read(c);h&&this._previewTextModel.setValue(h)}).recomputeInitiallyAndOnChange(this._store),this._decorations=fn(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:a1}),w.modified.isEmpty||p.push({range:w.modified.toInclusiveRange(),options:bP}),w.modified.isEmpty||w.original.isEmpty)w.original.isEmpty||f.push({range:_(w.original.toInclusiveRange()),options:yP}),w.modified.isEmpty||p.push({range:w.modified.toInclusiveRange(),options:wP});else for(const S of w.innerChanges||[])w.original.contains(S.originalRange.startLineNumber)&&f.push({range:_(S.originalRange),options:S.originalRange.isEmpty()?SP:r1}),w.modified.contains(S.modifiedRange.startLineNumber)&&p.push({range:S.modifiedRange,options:S.modifiedRange.isEmpty()?CP:xP});return{org:f,mod:p}}),this._originalDecorations=fn(this,c=>this._decorations.read(c).org),this._modifiedDecorations=fn(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 Pt(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}}}},Tx=eh,eh.id=0,eh);Nx=Tx=UN([z_(5,di)],Nx);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},Zc=function(o,e){return function(t,i){e(t,i,o)}},Tf,Jo;let Qs=(Jo=class extends $e{static get(e){return e.getContribution(Tf.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=Tf.inlineEditVisibleContext.bindTo(this.contextKeyService),this._isCursorAtInlineEditContext=Tf.cursorAtInlineEditContext.bindTo(this.contextKeyService),this._currentEdit=Fo(this,void 0),this._currentWidget=Ec(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,A=new Dp(S,[new Tv(D,P,!1)]),V=w.range.startLineNumber===w.range.endLineNumber&&A.parts.length===1&&A.parts[0].lines.length===1,H=w.text==="";return!V&&!H?void 0:this.instantiationService.createInstance(Ix,this.editor,{ghostText:cl(A),minReservedLineCount:cl(0),targetTextModel:cl(this.editor.getModel()??void 0),range:cl(w.range)})}),this._isAccepting=Fo(this,!1),this._enabled=vo(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(63).enabled),this._fontFamily=vo(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(63).fontFamily);const h=md("InlineEditController.modelContentChangedSignal",e.onDidChangeModelContent);this._register(jn(_=>{this._enabled.read(_)&&(h.read(_),!this._isAccepting.read(_)&&this.getInlineEdit(e,!0))}));const g=vo(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=md("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=md("InlineEditController.editorFocusSignal",e.onDidFocusEditorText);this._register(jn(_=>{this._enabled.read(_)&&(p.read(_),this.getInlineEdit(e,!0))}));const v=this._register(KE());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 Dx(this.editor,this._currentWidget,this.instantiationService)),this._register(new Mx(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 Es;const a=this._currentRequestCts.token,c=t?_k.Automatic:_k.Invoke;if(t&&await d5(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",[Gn.replace(z.lift(e.range),t)]),e.accepted&&await this._commandService.executeCommand(e.accepted.id,...e.accepted.arguments||[]).then(void 0,ss),this.freeEdit(e),Mh(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=Pt.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,ss),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)}},Tf=Jo,Jo.ID="editor.contrib.inlineEditController",Jo.inlineEditVisibleKey="inlineEditVisible",Jo.inlineEditVisibleContext=new Bi(Jo.inlineEditVisibleKey,!1),Jo.cursorAtInlineEditKey="cursorAtInlineEdit",Jo.cursorAtInlineEditContext=new Bi(Jo.cursorAtInlineEditKey,!1),Jo);Qs=Tf=c5([Zc(1,di),Zc(2,Yi),Zc(3,Tt),Zc(4,Cs),Zc(5,On),Zc(6,l1),Zc(7,no)],Qs);function d5(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 h5=class extends we{constructor(){super({id:t5,label:"Accept Inline Edit",alias:"Accept Inline Edit",precondition:ce.and(R.writable,Qs.inlineEditVisibleContext),kbOpts:[{weight:101,primary:2,kbExpr:ce.and(R.writable,Qs.inlineEditVisibleContext,Qs.cursorAtInlineEditContext)}],menuOpts:[{menuId:ht.InlineEditToolbar,title:"Accept",group:"primary",order:1}]})}async run(e,t){const i=Qs.get(t);await(i==null?void 0:i.accept())}};class u5 extends we{constructor(){const e=ce.and(R.writable,ce.not(Qs.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=Qs.get(t);i==null||i.trigger()}}class g5 extends we{constructor(){const e=ce.and(R.writable,Qs.inlineEditVisibleContext,ce.not(Qs.cursorAtInlineEditKey));super({id:n5,label:"Jump to Inline Edit",alias:"Jump to Inline Edit",precondition:e,kbOpts:{weight:101,primary:2646,kbExpr:e},menuOpts:[{menuId:ht.InlineEditToolbar,title:"Jump To Edit",group:"primary",order:3,when:e}]})}async run(e,t){const i=Qs.get(t);i==null||i.jumpToCurrent()}}class f5 extends we{constructor(){const e=ce.and(R.writable,Qs.cursorAtInlineEditContext);super({id:s5,label:"Jump Back from Inline Edit",alias:"Jump Back from Inline Edit",precondition:e,kbOpts:{weight:110,primary:2646,kbExpr:e},menuOpts:[{menuId:ht.InlineEditToolbar,title:"Jump Back",group:"primary",order:3,when:e}]})}async run(e,t){const i=Qs.get(t);i==null||i.jumpBack()}}class p5 extends we{constructor(){const e=ce.and(R.writable,Qs.inlineEditVisibleContext);super({id:i5,label:"Reject Inline Edit",alias:"Reject Inline Edit",precondition:e,kbOpts:{weight:100,primary:9,kbExpr:e},menuOpts:[{menuId:ht.InlineEditToolbar,title:"Reject",group:"secondary",order:2}]})}async run(e,t){const i=Qs.get(t);await(i==null?void 0:i.clear())}}se(h5);se(p5);se(g5);se(f5);se(u5);wi(Qs.ID,Qs,3);const m5="editor.action.inlineEdits.accept",_5="editor.action.inlineEdits.showPrevious",v5="editor.action.inlineEdits.showNext",Mg=new Bi("inlineEditsVisible",!1,y("inlineEditsVisible","Whether an inline edit is visible")),b5=new Bi("inlineEditsIsPinned",!1,y("isPinned","Whether an inline edit is visible")),PL=class PL extends $e{constructor(e){super(),this._editor=e,this._editorObs=Ea(this._editor),this._placeholderText=this._editorObs.getOption(88),this._state=al({owner:this,equalsFn:LP},t=>{const i=this._placeholderText.read(t);if(i&&this._editorObs.valueIsEmpty.read(t))return{placeholder:i}}),this._shouldViewBeAlive=y5(this,t=>{var i;return((i=this._state.read(t))==null?void 0:i.placeholder)!==void 0}),this._view=CE((t,i)=>{if(!this._shouldViewBeAlive.read(t))return;const n=vr("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:cl(0),position:cl(null),domNode:n.root}))}),this._view.recomputeInitiallyAndOnChange(this._store)}};PL.ID="editor.contrib.placeholderText";let Ap=PL;function y5(o,e){return py(o,(t,i)=>i===!0?!0:e(t))}var w5=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},S5=function(o,e){return function(t,i){e(t,i,o)}};class C5{constructor(e,t,i){this.range=e,this.newLines=t,this.changes=i}}let Rx=class extends $e{constructor(e,t,i,n){super(),this._editor=e,this._edit=t,this._userPrompt=i,this._instantiationService=n,this._editorObs=Ea(this._editor),this._elements=vr("div.inline-edits-widget",{style:{position:"absolute",overflow:"visible",top:"0px",left:"0px"}},[vr("div@editorContainer",{style:{position:"absolute",top:"0px",left:"0px",width:"500px",height:"500px"}},[vr("div.toolbar@toolbar",{style:{position:"absolute",top:"-25px",left:"0px"}}),vr("div.promptEditor@promptEditor",{style:{position:"absolute",top:"-25px",left:"80px",width:"300px",height:"22px"}}),vr("div.preview@editor",{style:{position:"absolute",top:"0px",left:"0px"}})]),Gh("svg",{style:{overflow:"visible",pointerEvents:"none"}},[Gh("defs",[Gh("linearGradient",{id:"Gradient2",x1:"0",y1:"0",x2:"1",y2:"0"},[Gh("stop",{offset:"0%",class:"gradient-stop"}),Gh("stop",{offset:"100%",class:"gradient-stop"})])]),Gh("path@path",{d:"",fill:"url(#Gradient2)"})])]),this._previewTextModel=this._register(this._instantiationService.createInstance(ec,"",up,ec.DEFAULT_CREATION_OPTIONS,null)),this._setText=fn(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(ec,"",up,ec.DEFAULT_CREATION_OPTIONS,null)),this._promptEditor=this._register(this._instantiationService.createInstance(Dr,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:q2},{contributions:K2.getSomeEditorContributions([wr.ID,Ap.ID,xg.ID]),isSimpleWidget:!0},this._editor)),this._previewEditor=this._register(this._instantiationService.createInstance(Dr,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=Ea(this._previewEditor),this._decorations=fn(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:a1}),f.modified.isEmpty||h.push({range:f.modified.toInclusiveRange(),options:bP}),f.modified.isEmpty||f.original.isEmpty)f.original.isEmpty||c.push({range:f.original.toInclusiveRange(),options:yP}),f.modified.isEmpty||h.push({range:f.modified.toInclusiveRange(),options:wP});else for(const p of f.innerChanges||[])f.original.contains(p.originalRange.startLineNumber)&&c.push({range:p.originalRange,options:p.originalRange.isEmpty()?SP:r1}),f.modified.contains(p.modifiedRange.startLineNumber)&&h.push({range:p.modifiedRange,options:p.modifiedRange.isEmpty()?CP:xP});return h}),this._layout1=fn(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=fn(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 ku(g,f),_=new ku(g,p),w=p-f,S=50,D=this._editor.getOption(67)*a.newLines.length,P=w-D,A=new ku(g+S,f+P/2),V=new ku(g+S,p-P/2);return{topCode:v,bottomCode:_,codeHeight:w,topEdit:A,bottomEdit:V,editHeight:D}});const s=fn(this,r=>this._edit.read(r)!==void 0||this._userPrompt.read(r)!==void 0);this._register(G2(this._elements.root,{display:fn(this,r=>s.read(r)?"block":"none")})),this._register(Z2(this._editor.getDomNode(),this._elements.root)),this._register(Ea(e).createOverlayWidget({domNode:this._elements.root,position:cl(null),allowEditorOverflow:!1,minContentWidthInPx:fn(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 L5().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(k5(x5(this._userPrompt,r=>r??"",r=>r),Ea(this._promptEditor).value)),this._register(jn(r=>{const a=Ea(this._promptEditor).isFocused.read(r);this._elements.root.classList.toggle("focused",a)}))}};Rx=w5([S5(3,di)],Rx);function x5(o,e,t){return kP(void 0,i=>e(o.read(i)),(i,n)=>o.set(t(i),n))}class ku{constructor(e,t){this.x=e,this.y=t}deltaX(e){return new ku(this.x+e,this.y)}}class L5{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 k5(o,e){const t=new je;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 I5=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Qw=function(o,e){return function(t,i){e(t,i,o)}},Mf,th;let Ax=(th=class extends $e{static _createUniqueUri(){return bn.from({scheme:"inline-edits",path:new Date().toString()+String(Mf._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=t1(this),this._selectedInlineCompletionId=Fo(this,void 0),this._isActive=Fo(this,!1),this._originalModel=Ec(()=>this._modelService.createModel("",null,Mf._createUniqueUri())).keepObserved(this._store),this._modifiedModel=Ec(()=>this._modelService.createModel("",null,Mf._createUniqueUri())).keepObserved(this._store),this._pinnedRange=new E5(this.textModel,this._textModelVersionId),this.isPinned=this._pinnedRange.range.map(c=>!!c),this.userPrompt=Fo(this,void 0),this.inlineEdit=fn(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=fn(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(A=>A.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 vP.fromFn(async()=>{const S=await w.computeDiff(this._originalModel.get(),this._modifiedModel.get(),{computeMoves:!1,ignoreTrimWhitespace:!1,maxComputationTimeMs:1e3},_i.None);if(!S.identical)return new C5(X2.fromRangeInclusive(g),p(f),S.changes)})}),this._fetchStore=this._register(new je),this._inlineEditsFetchResult=vS(this,void 0),this._inlineEdits=al({owner:this,equalsFn:LP},c=>{var h;return((h=this._inlineEditsFetchResult.read(c))==null?void 0:h.completions.map(g=>new D5(g)))??[]}),this._fetchInlineEditsPromise=iP({owner:this,createEmptyChangeSummary:()=>({inlineCompletionTriggerKind:fl.Automatic}),handleChange:(c,h)=>(c.didChange(this._forceUpdateExplicitlySignal)&&(h.inlineCompletionTriggerKind=fl.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=yS(this._fetchStore);await Sy(200,v);const _=await kN(this.languageFeaturesService.inlineCompletionsProvider,f,this.textModel,p,v);v.isCancellationRequested||this._inlineEditsFetchResult.set(_,void 0)}),this._filteredInlineEditItems=al({owner:this,equalsFn:bS()},c=>this._inlineEdits.read(c)),this.selectedInlineCompletionIndex=fn(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=fn(this,c=>{const h=this._filteredInlineEditItems.read(c),g=this.selectedInlineCompletionIndex.read(c);return h[g]}),this._register(nP(this._fetchInlineEditsPromise))}async triggerExplicitly(e){J_(e,t=>{this._isActive.set(!0,t),this._forceUpdateExplicitlySignal.trigger(t)}),await this._fetchInlineEditsPromise.get()}stop(e){J_(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 hg;const t=this.selectedInlineEdit.get();t&&(e.pushUndoStop(),e.executeEdits("inlineSuggestion.accept",[t.inlineCompletion.toSingleTextEdit().toSingleEditOperation()]),this.stop())}},Mf=th,th._modelId=0,th);Ax=Mf=I5([Qw(4,Tt),Qw(5,l1),Qw(6,no)],Ax);class D5{constructor(e){this.inlineCompletion=e,this.semanticId=this.inlineCompletion.hash()}}class E5 extends $e{constructor(e,t){super(),this._textModel=e,this._versionId=t,this._decorations=Fo(this,[]),this.range=fn(this,i=>{this._versionId.read(i);const n=this._decorations.read(i)[0];return n?this._textModel.getDecorationRange(n)??null:null}),this._register(Rn(()=>{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 P5=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},mf=function(o,e){return function(t,i){e(t,i,o)}},Ox,ih;let kl=(ih=class extends $e{static get(e){return e.getContribution(Ox.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=Y2("editor.inlineEdits.enabled",!1,this._configurationService),this._editorObs=Ea(this.editor),this._selection=fn(this,a=>this._editorObs.cursorSelection.read(a)??new Kt(1,1,1,1)),this._debounceValue=this._debounceService.for(this._languageFeaturesService.inlineCompletionsProvider,"InlineEditsDebounce",{min:50,max:50}),this.model=Ec(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(wS(Ax,a),c,this._editorObs.versionId,this._selection,this._debounceValue):void 0}),this._hadInlineEdit=py(this,(a,c)=>{var h;return c||((h=this.model.read(a))==null?void 0:h.inlineEdit.read(a))!==void 0}),this._widget=Ec(this,a=>{if(this._hadInlineEdit.read(a))return this._instantiationService.createInstance(wS(Rx,a),this.editor,this.model.map((c,h)=>c==null?void 0:c.inlineEdit.read(h)),T5(c=>{var h;return((h=this.model.read(c))==null?void 0:h.userPrompt)??Fo("empty","")}))}),this._register(vk(Mg,this._contextKeyService,a=>{var c;return!!((c=this.model.read(a))!=null&&c.inlineEdit.read(a))})),this._register(vk(b5,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)}},Ox=ih,ih.ID="editor.contrib.inlineEditsController",ih);kl=Ox=P5([mf(1,di),mf(2,Yi),mf(3,nr),mf(4,Tt),mf(5,On)],kl);function T5(o){return kP(void 0,e=>o(e).read(e),(e,t)=>{o(void 0).set(e,t)})}function Im(o){return{label:o.value,alias:o.original}}const Kb=class Kb extends we{constructor(){super({id:Kb.ID,...Im(xt("action.inlineEdits.showNext","Show Next Inline Edit")),precondition:ce.and(R.writable,Mg),kbOpts:{weight:100,primary:606}})}async run(e,t){var n;const i=kl.get(t);(n=i==null?void 0:i.model.get())==null||n.next()}};Kb.ID=v5;let Fx=Kb;const Gb=class Gb extends we{constructor(){super({id:Gb.ID,...Im(xt("action.inlineEdits.showPrevious","Show Previous Inline Edit")),precondition:ce.and(R.writable,Mg),kbOpts:{weight:100,primary:604}})}async run(e,t){var n;const i=kl.get(t);(n=i==null?void 0:i.model.get())==null||n.previous()}};Gb.ID=_5;let Hx=Gb;class M5 extends we{constructor(){super({id:"editor.action.inlineEdits.trigger",...Im(xt("action.inlineEdits.trigger","Trigger Inline Edit")),precondition:R.writable})}async run(e,t){const i=kl.get(t);await gP(async n=>{var s;await((s=i==null?void 0:i.model.get())==null?void 0:s.triggerExplicitly(n))})}}class N5 extends we{constructor(){super({id:m5,...Im(xt("action.inlineEdits.accept","Accept Inline Edit")),precondition:Mg,menuOpts:{menuId:ht.InlineEditsActions,title:y("inlineEditsActions","Accept Inline Edit"),group:"primary",order:1,icon:Jt.check},kbOpts:{primary:2058,weight:2e4,kbExpr:Mg}})}async run(e,t){var n;t instanceof Dr&&(t=t.getParentEditor());const i=kl.get(t);i&&((n=i.model.get())==null||n.accept(i.editor),i.editor.focus())}}const Zb=class Zb extends we{constructor(){super({id:Zb.ID,...Im(xt("action.inlineEdits.hide","Hide Inline Edit")),precondition:Mg,kbOpts:{weight:100,primary:9}})}async run(e,t){const i=kl.get(t);Mh(n=>{var s;(s=i==null?void 0:i.model.get())==null||s.stop(n)})}};Zb.ID="editor.action.inlineEdits.hide";let Wx=Zb;wi(kl.ID,kl,3);se(M5);se(Fx);se(Hx);se(N5);se(Wx);const Ih={Visible:new Bi("parameterHintsVisible",!1),MultipleSignatures:new Bi("parameterHintsMultipleSignatures",!1)};async function $N(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){ss(a)}}Pn.registerCommand("_executeSignatureHelpProvider",async(o,...e)=>{const[t,i,n]=e;tn(bn.isUri(t)),tn(Pt.isIPosition(i)),tn(typeof n=="string"||!n);const s=o.get(Tt),r=await o.get(ha).createModelReference(t);try{const a=await $N(s.signatureHelpProvider,r.object.textEditorModel,Pt.lift(i),{triggerKind:ac.Invoke,isRetrigger:!1,triggerCharacter:n},_i.None);return a?(setTimeout(()=>a.dispose(),0),a.value):void 0}finally{r.dispose()}});var $l;(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})($l||($l={}));const Xb=class Xb extends $e{constructor(e,t,i=Xb.DEFAULT_DELAY){super(),this._onChangedHints=this._register(new mi),this.onChangedHints=this._onChangedHints.event,this.triggerOnType=!1,this._state=$l.Default,this._pendingTriggers=[],this._lastSignatureHelpResult=this._register(new Wo),this.triggerChars=new Y_,this.retriggerChars=new Y_,this.triggerId=0,this.editor=e,this.providers=t,this.throttledDelayer=new Dc(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=$l.Default,this.throttledDelayer.cancel(),e||this._onChangedHints.fire(void 0)}trigger(e,t){const i=this.editor.getModel();if(!i||!this.providers.has(i))return;const n=++this.triggerId;this._pendingTriggers.push(e),this.throttledDelayer.trigger(()=>this.doTrigger(n),t).catch(Cn)}next(){if(this.state.type!==1)return;const e=this.state.hints.signatures.length,t=this.state.hints.activeSignature,i=t%e===e-1,n=this.editor.getOption(86).cycle;if((e<2||i)&&!n){this.cancel();return}this.updateActiveSignature(i&&n?0:t+1)}previous(){if(this.state.type!==1)return;const e=this.state.hints.signatures.length,t=this.state.hints.activeSignature,i=t===0,n=this.editor.getOption(86).cycle;if((e<2||i)&&!n){this.cancel();return}this.updateActiveSignature(i&&n?e-1:t-1)}updateActiveSignature(e){this.state.type===1&&(this.state=new $l.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(R5);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 $l.Pending(Ds(c=>$N(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 $l.Active(c.value),this._lastSignatureHelpResult.value=c,this._onChangedHints.fire(this.state.hints),!0)}catch(c){return e===this.triggerId&&(this.state=$l.Default),Cn(c),!1}}getLastActiveHints(){switch(this.state.type){case 1:return this.state.hints;case 2:return this.state.previouslyActiveHints;default:return}}get isTriggered(){return this.state.type===1||this.state.type===2||this.throttledDelayer.isTriggered()}onModelChanged(){this.cancel(),this.triggerChars.clear(),this.retriggerChars.clear();const e=this.editor.getModel();if(e)for(const t of this.providers.ordered(e)){for(const i of t.signatureHelpTriggerCharacters||[])if(i.length){const n=i.charCodeAt(0);this.triggerChars.add(n),this.retriggerChars.add(n)}for(const i of t.signatureHelpRetriggerCharacters||[])i.length&&this.retriggerChars.add(i.charCodeAt(0))}}onDidType(e){if(!this.triggerOnType)return;const t=e.length-1,i=e.charCodeAt(t);(this.triggerChars.has(i)||this.isTriggered&&this.retriggerChars.has(i))&&this.trigger({triggerKind:ac.TriggerCharacter,triggerCharacter:e.charAt(t)})}onCursorChange(e){e.source==="mouse"?this.cancel():this.isTriggered&&this.trigger({triggerKind:ac.ContentChange})}onModelContentChange(){this.isTriggered&&this.trigger({triggerKind:ac.ContentChange})}onEditorConfigurationChange(){this.triggerOnType=this.editor.getOption(86).enabled,this.triggerOnType||this.cancel()}dispose(){this.cancel(!0),super.dispose()}};Xb.DEFAULT_DELAY=120;let Bx=Xb;function R5(o,e){switch(e.triggerKind){case ac.Invoke:return e;case ac.ContentChange:return o;case ac.TriggerCharacter:default:return e}}var A5=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},f_=function(o,e){return function(t,i){e(t,i,o)}},zx;const Do=bt,O5=ts("parameter-hints-next",Jt.chevronDown,y("parameterHintsNextIcon","Icon for show next parameter hint.")),F5=ts("parameter-hints-previous",Jt.chevronUp,y("parameterHintsPreviousIcon","Icon for show previous parameter hint."));var nh;let Vx=(nh=class extends $e{constructor(e,t,i,n,s,r){super(),this.editor=e,this.model=t,this.telemetryService=r,this.renderDisposeables=this._register(new je),this.visible=!1,this.announcedLabel=null,this.allowEditorOverflow=!0,this.markdownRenderer=this._register(new Wg({editor:e},s,n)),this.keyVisible=Ih.Visible.bindTo(i),this.keyMultipleSignatures=Ih.MultipleSignatures.bindTo(i)}createParameterHintDOMNodes(){const e=Do(".editor-widget.parameter-hints-widget"),t=gt(e,Do(".phwrapper"));t.tabIndex=-1;const i=gt(t,Do(".controls")),n=gt(i,Do(".button"+sn.asCSSSelector(F5))),s=gt(i,Do(".overloads")),r=gt(i,Do(".button"+sn.asCSSSelector(O5)));this._register(Xi(n,"click",p=>{X_.stop(p),this.previous()})),this._register(Xi(r,"click",p=>{X_.stop(p),this.next()}));const a=Do(".body"),c=new aP(a,{alwaysConsumeMouseWheel:!0});this._register(c),t.appendChild(c.getDomNode());const h=gt(a,Do(".signature")),g=gt(a,Do(".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",K0.fontFamily)};f(),this._register(ms.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=gt(this.domNodes.signature,Do(".code")),s=i.parameters.length>0,r=i.activeParameter??e.activeParameter;if(s)this.renderParameters(n,i,r);else{const h=gt(n,Do("span"));h.textContent=i.label}const a=i.parameters[r];if(a!=null&&a.documentation){const h=Do("span.documentation");if(typeof a.documentation=="string")h.textContent=a.documentation;else{const g=this.renderMarkdownDocs(a.documentation);h.appendChild(g.element)}gt(this.domNodes.docs,Do("p",{},h))}if(i.documentation!==void 0)if(typeof i.documentation=="string")gt(this.domNodes.docs,Do("p",{},i.documentation));else{const h=this.renderMarkdownDocs(i.documentation);gt(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&&(kr(y("hint","{0}, hint",h)),this.announcedLabel=h)}this.editor.layoutContentWidget(this),this.domNodes.scrollbar.scanDomNode()}renderMarkdownDocs(e){const t=new xo,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"&&bu(t.documentation).length>0||t&&typeof t.documentation=="object"&&bu(t.documentation).value.length>0||e.documentation&&typeof e.documentation=="string"&&bu(e.documentation).length>0||e.documentation&&typeof e.documentation=="object"&&bu(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),gt(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|^)${ap(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 zx.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)}},zx=nh,nh.ID="editor.widget.parameterHintsWidget",nh);Vx=zx=A5([f_(2,Yi),f_(3,la),f_(4,da),f_(5,ca)],Vx);yt("editorHoverWidget.highlightForeground",hP,y("editorHoverWidgetHighlightForeground","Foreground color of the active item in the parameter hint."));var H5=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},aD=function(o,e){return function(t,i){e(t,i,o)}},jx,sh;let Ng=(sh=class extends $e{static get(e){return e.getContribution(jx.ID)}constructor(e,t,i){super(),this.editor=e,this.model=this._register(new Bx(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 W0(()=>this._register(t.createInstance(Vx,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)}},jx=sh,sh.ID="editor.controller.parameterHints",sh);Ng=jx=H5([aD(1,di),aD(2,Tt)],Ng);class W5 extends we{constructor(){super({id:"editor.action.triggerParameterHints",label:y("parameterHints.trigger.label","Trigger Parameter Hints"),alias:"Trigger Parameter Hints",precondition:R.hasSignatureHelpProvider,kbOpts:{kbExpr:R.editorTextFocus,primary:3082,weight:100}})}run(e,t){const i=Ng.get(t);i==null||i.trigger({triggerKind:ac.Invoke})}}wi(Ng.ID,Ng,2);se(W5);const oL=175,rL=go.bindToContribution(Ng.get);Mt(new rL({id:"closeParameterHints",precondition:Ih.Visible,handler:o=>o.cancel(),kbOpts:{weight:oL,kbExpr:R.focus,primary:9,secondary:[1033]}}));Mt(new rL({id:"showPrevParameterHint",precondition:ce.and(Ih.Visible,Ih.MultipleSignatures),handler:o=>o.previous(),kbOpts:{weight:oL,kbExpr:R.focus,primary:16,secondary:[528],mac:{primary:16,secondary:[528,302]}}}));Mt(new rL({id:"showNextParameterHint",precondition:ce.and(Ih.Visible,Ih.MultipleSignatures),handler:o=>o.next(),kbOpts:{weight:oL,kbExpr:R.focus,primary:18,secondary:[530],mac:{primary:18,secondary:[530,300]}}}));var B5=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},z5=function(o,e){return function(t,i){e(t,i,o)}};class V5{constructor(e){this.instantiationService=e}init(...e){}}function j5(o,e){return class extends e{constructor(){super(...arguments),this._autorun=void 0}init(...i){this._autorun=rm((n,s)=>{const r=wS(o(),n);s.add(this.instantiationService.createInstance(r,...i))})}dispose(){var i;(i=this._autorun)==null||i.dispose()}}}function U5(o){return Q2()?j5(o,Ux):o()}let Ux=class extends V5{constructor(e,t){super(t),this.init(e)}};Ux=B5([z5(1,di)],Ux);wi(Ap.ID,U5(()=>Ap),0);yt("editor.placeholder.foreground",J2,y("placeholderForeground","Foreground color of the placeholder text in the editor."));var $5=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},p_=function(o,e){return function(t,i){e(t,i,o)}};const Kg=new Bi("renameInputVisible",!1,y("renameInputVisible","Whether the rename input widget is visible"));new Bi("renameInputFocused",!1,y("renameInputFocused","Whether the rename input widget is focused"));let $x=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 je,this._visibleContextKey=Kg.bindTo(s),this._isEditingRenameCandidate=!1,this._nRenameSuggestionsInvocations=0,this._hadAutomaticRenameSuggestionsInvocation=!1,this._candidates=new Set,this._beforeFirstInputFieldEditSW=new xo,this._inputWithButton=new q5,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 aL(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(eF),i=e.getColor(tF);this._domNode.style.backgroundColor=String(e.getColor(lP)??""),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(iF)??"");const n=e.getColor(nF);this._inputWithButton.domNode.style.backgroundColor=String(e.getColor(bk)??""),this._inputWithButton.input.style.backgroundColor=String(e.getColor(bk)??""),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;tn(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=am(this.getDomNode().ownerDocument.body),t=lo(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}=Op.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;tn(this._renameCandidateListView),tn(this._nPxAvailableAbove!==void 0),tn(this._nPxAvailableBelow!==void 0);const t=_u(this._inputWithButton.domNode),i=_u(this._label);let n;e===2?n=this._nPxAvailableBelow:n=this._nPxAvailableAbove,this._renameCandidateListView.layout({height:n-i-t,width:hr(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 je;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(Xi(this._inputWithButton.button,"click",()=>this._requestRenameCandidates(t,!0))),c.add(Xi(this._inputWithButton.button,Un.KEY_DOWN,g=>{const f=new c1(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 Pt(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(Rn(()=>{this._renameCts=void 0,s.dispose(!0)})),c.add(Rn(()=>{this._renameCandidateProvidersCts!==void 0&&(this._renameCandidateProvidersCts.dispose(!0),this._renameCandidateProvidersCts=void 0)})),c.add(Rn(()=>this._candidates.clear()));const h=new dy;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"),tn(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),tn(this._renameCts),this._inputWithButton.buttonState!=="stop")){this._renameCandidateProvidersCts=new Es;const i=t?SS.Invoke:SS.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){tn(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 em(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"&&S_(h.value)?h.value:[]);n(`received updateRenameCandidates results - total (unfiltered) ${r.length} candidates.`);const a=gE(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)}};$x=$5([p_(2,Er),p_(3,hs),p_(4,Yi),p_(5,Nh)],$x);class aL{constructor(e,t){this._disposables=new je,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=aL._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(uP({listInactiveFocusForeground:cP,listInactiveFocusBackground:dP}))}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`,rg(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}=Op.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 Op(r,i)}renderElement(r,a,c){c.populate(r)}disposeTemplate(r){r.dispose()}};return new j0("NewSymbolNameCandidates",e,n,[s],{keyboardSupport:!1,mouseSupport:!0,multipleSelectionSupport:!1})}}class q5{constructor(){this._onDidInputChange=new mi,this.onDidInputChange=this._onDidInputChange.event,this._disposables=new je}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=sF().setupManagedHover(yy("element"),this._buttonNode,this._buttonGenHoverText),this._disposables.add(this._buttonHover),this._domNode.appendChild(this._buttonNode),this._disposables.add(Xi(this.input,Un.INPUT,()=>this._onDidInputChange.fire())),this._disposables.add(Xi(this.input,Un.KEY_DOWN,e=>{const t=new c1(e);(t.keyCode===15||t.keyCode===17)&&this._onDidInputChange.fire()})),this._disposables.add(Xi(this.input,Un.CLICK,()=>this._onDidInputChange.fire())),this._disposables.add(Xi(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(Xi(this.input,Un.BLUR,()=>{this.domNode.style.outline="none"}))),this._domNode}get input(){return tn(this._inputNode),this._inputNode}get button(){return tn(this._buttonNode),this._buttonNode}get buttonState(){return this._buttonState}setSparkleButton(){var e;this._buttonState="sparkle",this._sparkleIcon??(this._sparkleIcon=CS(Jt.sparkle)),Fa(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(Jt.primitiveSquare)),Fa(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 np=class np{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=`${np._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(Jt.sparkle),this._icon.style.display="none",i.appendChild(this._icon),this._label=document.createElement("div"),JE(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(oF.AIGenerated));this._icon.style.display=t?"inherit":"none"}_updateLabel(e){this._label.innerText=e.newSymbolName}static getLayoutInfo({lineHeight:e}){return{totalHeight:e+np._PADDING*2}}dispose(){}};np._PADDING=2;let Op=np;var K5=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Vl=function(o,e){return function(t,i){e(t,i,o)}},qx;class lL{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 G5(o,e,t,i){const n=new lL(e,t,o),s=await n.resolveRenameLocation(_i.None);return s!=null&&s.rejectReason?{edits:[],rejectReason:s.rejectReason}:n.provideRenameEdits(i,_i.None)}var oh;let Rc=(oh=class{static get(e){return e.getContribution(qx.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 je,this._cts=new Es,this._renameWidget=this._disposableStore.add(this._instaService.createInstance($x,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 Es,!this.editor.hasModel()){e("editor has no model");return}const t=this.editor.getPosition(),i=new lL(this.editor.getModel(),t,this._languageFeaturesService.renameProvider);if(!i.hasProvider()){e("skeleton has no provider");return}const n=new sg(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 hy?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"||y_(S))&&((_=wo.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=wo.get(this.editor))==null||w.showMessage(s.rejectReason,t);return}if(n.token.isCancellationRequested){e("returning early - cts1 cancelled");return}const r=new sg(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===SS.Automatic&&(P=P.filter(([A,V])=>V)),P.map(([A])=>A.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=em(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&&kr(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)}},qx=oh,oh.ID="editor.contrib.renameController",oh);Rc=qx=K5([Vl(1,di),Vl(2,io),Vl(3,ly),Vl(4,im),Vl(5,Nh),Vl(6,rF),Vl(7,Tt),Vl(8,ca)],Rc);class Z5 extends we{constructor(){super({id:"editor.action.rename",label:y("rename.label","Rename Symbol"),alias:"Rename Symbol",precondition:ce.and(R.writable,R.hasRenameProvider),kbOpts:{kbExpr:R.editorTextFocus,primary:60,weight:100},contextMenuOpts:{group:"1_modification",order:1.1}})}runCommand(e,t){const i=e.get(os),[n,s]=Array.isArray(t)&&t||[void 0,void 0];return bn.isUri(n)&&Pt.isIPosition(s)?i.openCodeEditor({resource:n},i.getActiveCodeEditor()).then(r=>{r&&(r.setPosition(s),r.invokeWithinContext(a=>(this.reportTelemetry(a,r),this.run(a,r))))},Cn):super.runCommand(e,t)}run(e,t){const i=e.get(Nh),n=Rc.get(t);return n?(i.trace("[RenameAction] got controller, running..."),n.run()):(i.trace("[RenameAction] returning early - controller missing"),Promise.resolve())}}wi(Rc.ID,Rc,4);se(Z5);const cL=go.bindToContribution(Rc.get);Mt(new cL({id:"acceptRenameInput",precondition:Kg,handler:o=>o.acceptRenameInput(!1),kbOpts:{weight:199,kbExpr:ce.and(R.focus,ce.not("isComposing")),primary:3}}));Mt(new cL({id:"acceptRenameInputWithPreview",precondition:ce.and(Kg,ce.has("config.editor.rename.enablePreview")),handler:o=>o.acceptRenameInput(!0),kbOpts:{weight:199,kbExpr:ce.and(R.focus,ce.not("isComposing")),primary:2051}}));Mt(new cL({id:"cancelRenameInput",precondition:Kg,handler:o=>o.cancelRenameInput(),kbOpts:{weight:199,kbExpr:R.focus,primary:9,secondary:[1033]}}));mn(class extends uo{constructor(){super({id:"focusNextRenameSuggestion",title:{...xt("focusNextRenameSuggestion","Focus Next Rename Suggestion")},precondition:Kg,keybinding:[{primary:18,weight:199}]})}run(e){const t=e.get(os).getFocusedCodeEditor();if(!t)return;const i=Rc.get(t);i&&i.focusNextRenameSuggestion()}});mn(class extends uo{constructor(){super({id:"focusPreviousRenameSuggestion",title:{...xt("focusPreviousRenameSuggestion","Focus Previous Rename Suggestion")},precondition:Kg,keybinding:[{primary:16,weight:199}]})}run(e){const t=e.get(os).getFocusedCodeEditor();if(!t)return;const i=Rc.get(t);i&&i.focusPreviousRenameSuggestion()}});fo("_executeDocumentRenameProvider",function(o,e,t,...i){const[n]=i;tn(typeof n=="string");const{renameProvider:s}=o.get(Tt);return G5(s,e,t,n)});fo("_executePrepareRename",async function(o,e,t){const{renameProvider:i}=o.get(Tt),s=await new lL(e,t,i).resolveRenameLocation(_i.None);if(s!=null&&s.rejectReason)throw new Error(s.rejectReason);return s});aa.as(nm.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 X5=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},lD=function(o,e){return function(t,i){e(t,i,o)}},Ju;let Jv=(Ju=class extends $e{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 _s(()=>{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=>Y5(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()}},Ju.ID="editor.sectionHeaderDetector",Ju);Jv=X5([lD(1,xs),lD(2,Tl)],Jv);function Y5(o){return{range:o.range,options:Ai.createDynamic({description:"section-header",stickiness:3,collapseOnReplaceEdit:!0,minimap:{color:void 0,position:1,sectionHeaderStyle:o.hasSeparatorLine?2:1,sectionHeaderText:o.text}})}}wi(Jv.ID,Jv,1);function Q5(o){for(let e=0,t=o.length;e<t;e+=4){const i=o[e+0],n=o[e+1],s=o[e+2],r=o[e+3];o[e+0]=r,o[e+1]=s,o[e+2]=n,o[e+3]=i}}function J5(o){const e=new Uint8Array(o.buffer,o.byteOffset,o.length*4);return aF()||Q5(e),lF.wrap(e)}function qN(o){const e=new Uint32Array(e$(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 J5(e)}function e$(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 Qy(o){return o&&!!o.data}function KN(o){return o&&Array.isArray(o.edits)}class t${constructor(e,t,i){this.provider=e,this.tokens=t,this.error=i}}function GN(o,e){return o.has(e)}function i$(o,e){const t=o.orderedGroups(e);return t.length>0?t[0]:[]}async function ZN(o,e,t,i,n){const s=i$(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||!Qy(c)&&!KN(c))&&(c=null),new t$(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 n$(o,e){const t=o.orderedGroups(e);return t.length>0?t[0]:null}class s${constructor(e,t){this.provider=e,this.tokens=t}}function o$(o,e){return o.has(e)}function XN(o,e){const t=o.orderedGroups(e);return t.length>0?t[0]:[]}async function dL(o,e,t,i){const n=XN(o,e),s=await Promise.all(n.map(async r=>{let a;try{a=await r.provideDocumentRangeSemanticTokens(e,t,i)}catch(c){ss(c),a=null}return(!a||!Qy(a))&&(a=null),new s$(r,a)}));for(const r of s)if(r.tokens)return r;return s.length>0?s[0]:null}Pn.registerCommand("_provideDocumentSemanticTokensLegend",async(o,...e)=>{const[t]=e;tn(t instanceof bn);const i=o.get(no).getModel(t);if(!i)return;const{documentSemanticTokensProvider:n}=o.get(Tt),s=n$(n,i);return s?s[0].getLegend():o.get(Cs).executeCommand("_provideDocumentRangeSemanticTokensLegend",t)});Pn.registerCommand("_provideDocumentSemanticTokens",async(o,...e)=>{const[t]=e;tn(t instanceof bn);const i=o.get(no).getModel(t);if(!i)return;const{documentSemanticTokensProvider:n}=o.get(Tt);if(!GN(n,i))return o.get(Cs).executeCommand("_provideDocumentRangeSemanticTokens",t,i.getFullModelRange());const s=await ZN(n,i,null,null,_i.None);if(!s)return;const{provider:r,tokens:a}=s;if(!a||!Qy(a))return;const c=qN({id:0,type:"full",data:a.data});return a.resultId&&r.releaseDocumentSemanticTokens(a.resultId),c});Pn.registerCommand("_provideDocumentRangeSemanticTokensLegend",async(o,...e)=>{const[t,i]=e;tn(t instanceof bn);const n=o.get(no).getModel(t);if(!n)return;const{documentRangeSemanticTokensProvider:s}=o.get(Tt),r=XN(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 dL(s,n,z.lift(i),_i.None);if(a)return a.provider.getLegend()});Pn.registerCommand("_provideDocumentRangeSemanticTokens",async(o,...e)=>{const[t,i]=e;tn(t instanceof bn),tn(z.isIRange(i));const n=o.get(no).getModel(t);if(!n)return;const{documentRangeSemanticTokensProvider:s}=o.get(Tt),r=await dL(s,n,z.lift(i),_i.None);if(!(!r||!r.tokens))return qN({id:0,type:"full",data:r.tokens.data})});const hL="editor.semanticHighlighting";function V_(o,e,t){var n;const i=(n=t.getValue(hL,{overrideIdentifier:o.getLanguageId(),resource:o.uri}))==null?void 0:n.enabled;return typeof i=="boolean"?i:e.getColorTheme().semanticHighlighting}var YN=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Da=function(o,e){return function(t,i){e(t,i,o)}},Ul;let Kx=class extends $e{constructor(e,t,i,n,s,r){super(),this._watchers=Object.create(null);const a=g=>{this._watchers[g.uri.toString()]=new Gx(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()];V_(g,i,n)?f||a(g):f&&c(g,f)}};t.getModels().forEach(g=>{V_(g,i,n)&&a(g)}),this._register(t.onModelAdded(g=>{V_(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(hL)&&h()})),this._register(i.onDidColorThemeChange(h))}dispose(){for(const e of Object.values(this._watchers))e.dispose();super.dispose()}};Kx=YN([Da(0,d1),Da(1,no),Da(2,Er),Da(3,On),Da(4,nr),Da(5,Tt)],Kx);var Lc;let Gx=(Lc=class extends $e{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:Ul.REQUEST_MIN_DELAY,max:Ul.REQUEST_MAX_DELAY}),this._fetchDocumentSemanticTokens=this._register(new _s(()=>this._fetchDocumentSemanticTokensNow(),Ul.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=()=>{Xs(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),Xs(this._documentProvidersChangeListeners),this._documentProvidersChangeListeners=[],this._setDocumentSemanticTokens(null,null,null,[]),this._isDisposed=!0,super.dispose()}_fetchDocumentSemanticTokensNow(){if(this._currentDocumentRequestCancellationTokenSource)return;if(!GN(this._provider,this._model)){this._currentDocumentResponse&&this._model.tokenization.setSemanticTokens(null,!1);return}if(!this._model.isAttachedToEditor())return;const e=new Es,t=this._currentDocumentResponse?this._currentDocumentResponse.provider:null,i=this._currentDocumentResponse&&this._currentDocumentResponse.resultId||null,n=ZN(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 xo(!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&&(Oc(c)||typeof c.message=="string"&&c.message.indexOf("busy")!==-1)||Cn(c),this._currentDocumentRequestCancellationTokenSource=null,r.dispose(),(s.length>0||this._providersChangedDuringRequest)&&(this._fetchDocumentSemanticTokens.isScheduled()||this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model)))})}static _copy(e,t,i,n,s){s=Math.min(s,i.length-n,e.length-t);for(let r=0;r<s;r++)i[n+r]=e[t+r]}_setDocumentSemanticTokens(e,t,i,n){const s=this._currentDocumentResponse,r=()=>{(n.length>0||this._providersChangedDuringRequest)&&!this._fetchDocumentSemanticTokens.isScheduled()&&this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))};if(this._currentDocumentResponse&&(this._currentDocumentResponse.dispose(),this._currentDocumentResponse=null),this._isDisposed){e&&t&&e.releaseDocumentSemanticTokens(t.resultId);return}if(!e||!i){this._model.tokenization.setSemanticTokens(null,!1);return}if(!t){this._model.tokenization.setSemanticTokens(null,!0),r();return}if(KN(t)){if(!s){this._model.tokenization.setSemanticTokens(null,!0);return}if(t.edits.length===0)t={resultId:t.resultId,data:s.data};else{let a=0;for(const p of t.edits)a+=(p.data?p.data.length:0)-p.deleteCount;const c=s.data,h=new Uint32Array(c.length+a);let g=c.length,f=h.length;for(let p=t.edits.length-1;p>=0;p--){const v=t.edits[p];if(v.start>c.length){i.warnInvalidEditStart(s.resultId,t.resultId,p,v.start,c.length),this._model.tokenization.setSemanticTokens(null,!0);return}const _=g-(v.start+v.deleteCount);_>0&&(Ul._copy(c,g-_,h,f-_,_),f-=_),v.data&&(Ul._copy(v.data,0,h,f-v.data.length,v.data.length),f-=v.data.length),g=v.start}g>0&&Ul._copy(c,0,h,0,g),t={resultId:t.resultId,data:h}}}if(Qy(t)){this._currentDocumentResponse=new r$(e,t.resultId,t.data);const a=IP(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()}},Ul=Lc,Lc.REQUEST_MIN_DELAY=300,Lc.REQUEST_MAX_DELAY=2e3,Lc);Gx=Ul=YN([Da(1,d1),Da(2,Er),Da(3,nr),Da(4,Tt)],Gx);class r${constructor(e,t,i){this.provider=e,this.resultId=t,this.data=i}dispose(){this.provider.releaseDocumentSemanticTokens(this.resultId)}}Hg(Kx);var a$=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},_f=function(o,e){return function(t,i){e(t,i,o)}},eg;let eb=(eg=class extends $e{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 _s(()=>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(hL)&&(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(!V_(e,this._themeService,this._configurationService)){e.tokenization.hasSomeSemanticTokens()&&e.tokenization.setSemanticTokens(null,!1);return}if(!o$(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=Ds(r=>Promise.resolve(dL(this._provider,e,t,r))),s=new xo(!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,IP(c,h,e.getLanguageId()))}).then(()=>this._removeOutstandingRequest(n),()=>this._removeOutstandingRequest(n)),n}},eg.ID="editor.contrib.viewportSemanticTokens",eg);eb=a$([_f(1,d1),_f(2,Er),_f(3,On),_f(4,nr),_f(5,Tt)],eb);wi(eb.ID,eb,1);class l${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(yk(f)&&wk(g))break;g=f}for(c+=1;h<s.length;h++){const f=s.charCodeAt(h);if(wk(f)&&yk(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 c$=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},d$=function(o,e){return function(t,i){e(t,i,o)}},Zx;class uL{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 uL(t,this.ranges);return i.ranges[t].equalsRange(this.ranges[this.index])?i.mov(e):i}}var rh;let Fp=(rh=class{static get(e){return e.getContribution(Zx.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 JN(this._languageFeaturesService.selectionRangeProvider,i,t.map(s=>s.getPosition()),this._editor.getOption(114),_i.None).then(s=>{var r;if(!(!Oo(s)||s.length!==t.length)&&!(!this._editor.hasModel()||!Ba(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 uL(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=>Kt.fromPositions(s.ranges[s.index].getStartPosition(),s.ranges[s.index].getEndPosition()));this._ignoreSelection=!0;try{this._editor.setSelections(n)}finally{this._ignoreSelection=!1}}},Zx=rh,rh.ID="editor.contrib.smartSelectController",rh);Fp=Zx=c$([d$(1,Tt)],Fp);class QN extends we{constructor(e,t){super(t),this._forward=e}async run(e,t){const i=Fp.get(t);i&&await i.run(this._forward)}}class h$ extends QN{constructor(){super(!0,{id:"editor.action.smartSelect.expand",label:y("smartSelect.expand","Expand Selection"),alias:"Expand Selection",precondition:void 0,kbOpts:{kbExpr:R.editorTextFocus,primary:1553,mac:{primary:3345,secondary:[1297]},weight:100},menuOpts:{menuId:ht.MenubarSelectionMenu,group:"1_basic",title:y({key:"miSmartSelectGrow",comment:["&& denotes a mnemonic"]},"&&Expand Selection"),order:2}})}}Pn.registerCommandAlias("editor.action.smartSelect.grow","editor.action.smartSelect.expand");class u$ extends QN{constructor(){super(!1,{id:"editor.action.smartSelect.shrink",label:y("smartSelect.shrink","Shrink Selection"),alias:"Shrink Selection",precondition:void 0,kbOpts:{kbExpr:R.editorTextFocus,primary:1551,mac:{primary:3343,secondary:[1295]},weight:100},menuOpts:{menuId:ht.MenubarSelectionMenu,group:"1_basic",title:y({key:"miSmartSelectShrink",comment:["&& denotes a mnemonic"]},"&&Shrink Selection"),order:3}})}}wi(Fp.ID,Fp,4);se(h$);se(u$);async function JN(o,e,t,i,n){const s=o.all(e).concat(new l$(i.selectSubwords));s.length===1&&s.unshift(new Hv);const r=[],a=[];for(const c of s)r.push(Promise.resolve(c.provideSelectionRanges(e,t,n)).then(h=>{if(Oo(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))}},ss));return await Promise.all(r),a.map(c=>{if(c.length===0)return[];c.sort((p,v)=>Pt.isBefore(p.getStartPosition(),v.getStartPosition())?1:Pt.isBefore(v.getStartPosition(),p.getStartPosition())||Pt.isBefore(p.getEndPosition(),v.getEndPosition())?-1:Pt.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})}Pn.registerCommand("_executeSelectionRangeProvider",async function(o,...e){const[t,i]=e;tn(bn.isUri(t));const n=o.get(Tt).selectionRangeProvider,s=await o.get(ha).createModelReference(t);try{return JN(n,s.object.textEditorModel,i,{selectLeadingAndTrailingWhitespace:!0,selectSubwords:!0},_i.None)}finally{s.dispose()}});const g$=Object.freeze({View:xt("view","View"),Help:xt("help","Help"),Test:xt("test","Test"),File:xt("file","File"),Preferences:xt("preferences","Preferences"),Developer:xt({key:"developer",comment:["A developer on Code itself or someone diagnosing issues in Code"]},"Developer")});class Xf{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&&Ba(this.startLineNumbers,e.startLineNumbers)&&Ba(this.endLineNumbers,e.endLineNumbers)}static get Empty(){return new Xf([],[],0)}}const cD=ZE("stickyScrollViewLayer",{createHTML:o=>o}),Jw="data-sticky-line-index",dD="data-sticky-is-line",f$="data-sticky-is-line-number",hD="data-sticky-is-folding-icon";class p$ extends $e{constructor(e){super(),this._editor=e,this._foldingIconStore=new je,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 Dr),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(Xi(this._lineNumbersDomNode,Un.MOUSE_ENTER,()=>{this._isOnGlyphMargin=!0,this._setFoldingIconsVisibility(!0)})),this._foldingIconStore.add(Xi(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 Pt(t,1)).lineNumber,a=s.getViewLineRenderingData(r),c=this._editor.getOption(68);let h;try{h=fp.filter(a.inlineDecorations,r,a.minColumn,a.maxColumn)}catch{h=[]}const g=new QE(!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 XE(2e3),p=YE(g,f);let v;cD?v=cD.createHTML(f.build()):v=f.build();const _=document.createElement("span");_.setAttribute(Jw,String(e)),_.setAttribute(dD,""),_.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(Jw,String(e)),w.setAttribute(f$,""),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 A=new m$(e,t,_,w,P,p.characterMapping,_.scrollWidth);return this._updateTopAndZIndexOfStickyLine(A)}_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 _$(c,r,n.getEndLineNumber(s),this._lineHeight);return h.setVisible(this._isOnGlyphMargin?!0:c||i==="always"),h.domNode.setAttribute(hD,""),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=cF(t.characterMapping,e,0);return new Pt(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,Jw);return t?parseInt(t,10):null}isInStickyLine(e){return this._getAttributeValue(e,dD)!==void 0}isInFoldingIconDomNode(e){return this._getAttributeValue(e,hD)!==void 0}_getAttributeValue(e,t){for(;e&&e!==this._rootDomNode;){const i=e.getAttribute(t);if(i!==null)return i;e=e.parentElement}}}class m${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 _${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=sn.asClassName(e?Iv:kv)}setVisible(e){this.domNode.style.cursor=e?"pointer":"default",this.domNode.style.opacity=e?"1":"0"}}class Yf{constructor(e,t){this.startLineNumber=e,this.endLineNumber=t}}class tb{constructor(e,t,i){this.range=e,this.children=t,this.parent=i}}class eR{constructor(e,t,i,n){this.uri=e,this.version=t,this.element=i,this.outlineProviderId=n}}var Jy=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Hp=function(o,e){return function(t,i){e(t,i,o)}},Qf;(function(o){o.OUTLINE_MODEL="outlineModel",o.FOLDING_PROVIDER_MODEL="foldingProviderModel",o.INDENTATION_MODEL="indentationModel"})(Qf||(Qf={}));var oc;(function(o){o[o.VALID=0]="VALID",o[o.INVALID=1]="INVALID",o[o.CANCELED=2]="CANCELED"})(oc||(oc={}));let Xx=class extends $e{constructor(e,t,i,n){switch(super(),this._editor=e,this._modelProviders=[],this._modelPromise=null,this._updateScheduler=this._register(new Dc(300)),this._updateOperation=this._register(new je),this._editor.getOption(116).defaultModel){case Qf.OUTLINE_MODEL:this._modelProviders.push(new Yx(this._editor,n));case Qf.FOLDING_PROVIDER_MODEL:this._modelProviders.push(new Jx(this._editor,t,n));case Qf.INDENTATION_MODEL:this._modelProviders.push(new Qx(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 oc.CANCELED:return this._updateOperation.clear(),null;case oc.VALID:return t.stickyModel}}return null}).catch(t=>(Cn(t),null))}};Xx=Jy([Hp(2,di),Hp(3,Tt)],Xx);class tR extends $e{constructor(e){super(),this._editor=e,this._stickyModel=null}get stickyModel(){return this._stickyModel}_invalid(){return this._stickyModel=null,oc.INVALID}computeStickyModel(e){if(e.isCancellationRequested||!this.isProviderValid())return{statusPromise:this._invalid(),modelPromise:null};const t=Ds(i=>this.createModelFromProvider(i));return{statusPromise:t.then(i=>this.isModelValid(i)?e.isCancellationRequested?oc.CANCELED:(this._stickyModel=this.createStickyModel(e,i),oc.VALID):this._invalid()).then(void 0,i=>(Cn(i),oc.CANCELED)),modelPromise:t}}isModelValid(e){return!0}isProviderValid(){return!0}}let Yx=class extends tR{constructor(e,t){super(e),this._languageFeaturesService=t}createModelFromProvider(e){return il.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 eR(s.uri,s.getVersionId(),i,n)}isModelValid(e){return e&&e.children.size>0}_stickyModelFromOutlineModel(e,t){let i;if(ul.first(e.children.values())instanceof SN){const a=ul.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 Yf(a.symbol.range.startLineNumber,a.symbol.range.endLineNumber),g=new Yf(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 tb(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 Yf(e.symbol.selectionRange.startLineNumber,e.symbol.range.endLineNumber);return new tb(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 BC?t+e.symbol.range.endLineNumber-e.symbol.selectionRange.startLineNumber:t}};Yx=Jy([Hp(1,Tt)],Yx);class iR extends tR{constructor(e){super(e),this._foldingLimitReporter=new bN(e)}createStickyModel(e,t){const i=this._fromFoldingRegions(t),n=this._editor.getModel();return new eR(n.uri,n.getVersionId(),i,void 0)}isModelValid(e){return e!==null}_fromFoldingRegions(e){const t=e.length,i=[],n=new tb(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 tb(new Yf(e.getStartLineNumber(s),e.getEndLineNumber(s)+1),[],a);a.children.push(c),i.push(c)}return n}}let Qx=class extends iR{constructor(e,t){super(e),this._languageConfigurationService=t,this.provider=this._register(new Y1(e.getModel(),this._languageConfigurationService,this._foldingLimitReporter))}async createModelFromProvider(e){return this.provider.compute(e)}};Qx=Jy([Hp(1,xs)],Qx);let Jx=class extends iR{constructor(e,t,i){super(e),this._languageFeaturesService=i;const n=Nc.getFoldingRangeProviders(this._languageFeaturesService,e.getModel());n.length>0&&(this.provider=this._register(new Q1(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}};Jx=Jy([Hp(2,Tt)],Jx);var v$=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},uD=function(o,e){return function(t,i){e(t,i,o)}};class b${constructor(e,t,i){this.startLineNumber=e,this.endLineNumber=t,this.nestingDepth=i}}let e0=class extends $e{constructor(e,t,i){super(),this._languageFeaturesService=t,this._languageConfigurationService=i,this._onDidChangeStickyScroll=this._register(new mi),this.onDidChangeStickyScroll=this._onDidChangeStickyScroll.event,this._model=null,this._cts=null,this._stickyModelProvider=null,this._editor=e,this._sessionStore=this._register(new je),this._updateSoon=this._register(new _s(()=>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(Rn(()=>{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 Xx(e,()=>this._updateSoon.schedule(),this._languageConfigurationService,this._languageFeaturesService))}async update(){var e;(e=this._cts)==null||e.dispose(!0),this._cts=new Es,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(ev(a,e.startLineNumber,(g,f)=>g-f)),h=this.updateIndex(ev(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 b$(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}};e0=v$([uD(1,Tt),uD(2,xs)],e0);var y$=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},ou=function(o,e){return function(t,i){e(t,i,o)}},t0,ah;let Il=(ah=class extends $e{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 je,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 p$(this._editor),this._stickyLineCandidateProvider=new e0(this._editor,i,s),this._register(this._stickyScrollWidget),this._register(this._stickyLineCandidateProvider),this._widgetState=Xf.Empty,this._onDidResize(),this._readConfiguration();const c=this._stickyScrollWidget.getDomNode();this._register(this._editor.onDidChangeConfiguration(g=>{this._readConfigurationChange(g)})),this._register(Xi(c,Un.CONTEXT_MENU,async g=>{this._onContextMenu(pd(c),g)})),this._stickyScrollFocusedContextKey=R.stickyScrollFocused.bindTo(this._contextKeyService),this._stickyScrollVisibleContextKey=R.stickyScrollVisible.bindTo(this._contextKeyService);const h=this._register(og(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(Xi(c,Un.MOUSE_DOWN,g=>{this._onMouseDown=!0}))}static get(e){return e.getContribution(t0.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 je,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 je),t=this._register(new Vy(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(yl(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 Pt(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 Pt(h,1)}this._revealPosition(c)})),this._register(yl(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(Xi(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 Es;e.add(Rn(()=>g.dispose(!0)));let f;Cm(this._languageFeaturesService.definitionProvider,this._editor.getModel(),new Pt(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(Rn(()=>{f.style.textDecoration="none"}))):f||(f=v,f.style.textDecoration="underline",e.add(Rn(()=>{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(iN,s,this._editor,{uri:this._editor.getModel().uri,range:this._stickyRangeProjectedOnEditor})))}))}_onContextMenu(e,t){const i=new dF(e,t);this._contextMenuService.showContextMenu({menuId:ht.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;G1(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=Nc.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=Xf.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 Yf(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 Xf(s,r,n,this._showEndForLine)}dispose(){super.dispose(),this._sessionStore.dispose()}},t0=ah,ah.ID="store.contrib.stickyScrollController",ah);Il=t0=y$([ou(1,Ag),ou(2,Tt),ou(3,di),ou(4,xs),ou(5,nr),ou(6,Yi)],Il);class w$ extends uo{constructor(){super({id:"editor.action.toggleStickyScroll",title:{...xt("toggleEditorStickyScroll","Toggle Editor Sticky Scroll"),mnemonicTitle:y({key:"mitoggleStickyScroll",comment:["&& denotes a mnemonic"]},"&&Toggle Editor Sticky Scroll")},metadata:{description:xt("toggleEditorStickyScroll.description","Toggle/enable the editor sticky scroll which shows the nested scopes at the top of the viewport")},category:g$.View,toggled:{condition:ce.equals("config.editor.stickyScroll.enabled",!0),title:y("stickyScroll","Sticky Scroll"),mnemonicTitle:y({key:"miStickyScroll",comment:["&& denotes a mnemonic"]},"&&Sticky Scroll")},menu:[{id:ht.CommandPalette},{id:ht.MenubarAppearanceMenu,group:"4_editor",order:3},{id:ht.StickyScrollContext}]})}async run(e){const t=e.get(On),i=!t.getValue("editor.stickyScroll.enabled");return t.updateValue("editor.stickyScroll.enabled",i)}}const ew=100;class S$ extends ra{constructor(){super({id:"editor.action.focusStickyScroll",title:{...xt("focusStickyScroll","Focus on the editor sticky scroll"),mnemonicTitle:y({key:"mifocusStickyScroll",comment:["&& denotes a mnemonic"]},"&&Focus Sticky Scroll")},precondition:ce.and(ce.has("config.editor.stickyScroll.enabled"),R.stickyScrollVisible),menu:[{id:ht.CommandPalette}]})}runEditorCommand(e,t){var i;(i=Il.get(t))==null||i.focus()}}class C$ extends ra{constructor(){super({id:"editor.action.selectNextStickyScrollLine",title:xt("selectNextStickyScrollLine.title","Select the next editor sticky scroll line"),precondition:R.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:ew,primary:18}})}runEditorCommand(e,t){var i;(i=Il.get(t))==null||i.focusNext()}}class x$ extends ra{constructor(){super({id:"editor.action.selectPreviousStickyScrollLine",title:xt("selectPreviousStickyScrollLine.title","Select the previous sticky scroll line"),precondition:R.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:ew,primary:16}})}runEditorCommand(e,t){var i;(i=Il.get(t))==null||i.focusPrevious()}}class L$ extends ra{constructor(){super({id:"editor.action.goToFocusedStickyScrollLine",title:xt("goToFocusedStickyScrollLine.title","Go to the focused sticky scroll line"),precondition:R.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:ew,primary:3}})}runEditorCommand(e,t){var i;(i=Il.get(t))==null||i.goToFocused()}}class k$ extends ra{constructor(){super({id:"editor.action.selectEditor",title:xt("selectEditor.title","Select Editor"),precondition:R.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:ew,primary:9}})}runEditorCommand(e,t){var i;(i=Il.get(t))==null||i.selectEditor()}}wi(Il.ID,Il,1);mn(w$);mn(S$);mn(x$);mn(C$);mn(L$);mn(k$);var nR=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Nf=function(o,e){return function(t,i){e(t,i,o)}};class I${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 i0=class extends hF{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=ul.slice(t,i),s=ul.slice(t,0,i);let r=5;for(const a of ul.concat(n,s)){if(a.score===hp.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 I$(c,h,a.filterTextLow??a.labelLow,a.completion.additionalTextEdits,a.completion.command,a)),r-->=0&&a.resolve(_i.None)}return e}};i0=nR([Nf(5,Zy)],i0);let n0=class extends $e{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(Lu.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(Lu.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 YI(p,t.column-this._lastResult.word.endColumn);this._lastResult.completionModel.lineContext=_,this._lastResult.acquire(),f=this._lastResult}else{const _=await J1(this._languageFeatureService.completionProvider,e,t,new Ep(void 0,Bv.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 Zl(_.items,t.column,new YI(p,0),Wv.None,s.getOption(119),s.getOption(113),{boostFullMatch:!1,firstMatchCanBeWeak:!1},w);f=new i0(e,t.lineNumber,h,S,_,this._suggestMemoryService)}return this._lastResult=f,f}handleItemDidShow(e,t){t.completion.resolve(_i.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}}};n0=nR([Nf(0,Tt),Nf(1,Og),Nf(2,Zy),Nf(3,os)],n0);Hg(n0);class D$ extends we{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 xo;i.tokenization.forceTokenization(i.getLineCount()),n.stop(),console.log(`tokenization took ${n.elapsed()}`)}}se(D$);const Yb=class Yb extends uo{constructor(){super({id:Yb.ID,title:xt({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:xt("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=!Sk.getTabFocusMode();Sk.setTabFocusMode(t),t?kr(y("toggle.tabMovesFocus.on","Pressing Tab will now move focus to the next focusable element")):kr(y("toggle.tabMovesFocus.off","Pressing Tab will now insert the tab character"))}};Yb.ID="editor.action.toggleTabFocusMode";let s0=Yb;mn(s0);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},gD=function(o,e){return function(t,i){e(t,i,o)}};let o0=class extends $e{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=gt(e,bt("a.monaco-link",{tabIndex:t.tabIndex??0,href:t.href},t.label)),this.hoverDelegate=i.hoverDelegate??yy("mouse"),this.setTooltip(t.title),this.el.setAttribute("role","button");const r=this._register(new vw(this.el,"click")),a=this._register(new vw(this.el,"keypress")),c=ms.chain(a.event,f=>f.map(p=>new c1(p)).filter(p=>p.keyCode===3)),h=this._register(new vw(this.el,uF.Tap)).event;this._register(mE.addTarget(this.el));const g=ms.any(r.event,c,h);this._register(g(f=>{this.enabled&&(X_.stop(f,!0),i!=null&&i.opener?i.opener(this._link.href):s.open(this._link.href,{allowCommands:!0}))})),this.enabled=!0}setTooltip(e){this.hoverDelegate.showNativeHover?this.el.title=e??"":!this.hover&&e?this.hover=this._register(this._hoverService.setupManagedHover(this.hoverDelegate,this.el,e)):this.hover&&this.hover.update(e)}};o0=E$([gD(3,lm),gD(4,la)],o0);var sR=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},oR=function(o,e){return function(t,i){e(t,i,o)}};const P$=26;let r0=class extends $e{constructor(e,t){super(),this._editor=e,this.instantiationService=t,this.banner=this._register(this.instantiationService.createInstance(a0))}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,P$)}};r0=sR([oR(1,di)],r0);let a0=class extends $e{constructor(e){super(),this.instantiationService=e,this.markdownRenderer=this.instantiationService.createInstance(Wg,{}),this.element=bt("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=bt("span");return t.innerText=e,t}return this.markdownRenderer.render(e).element}clear(){Fa(this.element)}show(e){Fa(this.element);const t=this.getAriaLabel(e);t&&this.element.setAttribute("aria-label",t);const i=gt(this.element,bt("div.icon-container"));i.setAttribute("aria-hidden","true"),e.icon&&i.appendChild(bt(`div${sn.asCSSSelector(e.icon)}`));const n=gt(this.element,bt("div.message-container"));if(n.setAttribute("aria-hidden","true"),n.appendChild(this.getBannerMessage(e.message)),this.messageActionsContainer=gt(this.element,bt("div.message-actions-container")),e.actions)for(const r of e.actions)this._register(this.instantiationService.createInstance(o0,this.messageActionsContainer,{...r,tabIndex:-1},{}));const s=gt(this.element,bt("div.action-container"));this.actionBar=this._register(new op(s)),this.actionBar.push(this._register(new cg("banner.close","Close Banner",sn.asClassName(HE),!0,()=>{typeof e.onClose=="function"&&e.onClose()})),{icon:!0,label:!1}),this.actionBar.setFocusable(!1)}};a0=sR([oR(0,di)],a0);var gL=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Hu=function(o,e){return function(t,i){e(t,i,o)}};const T$=ts("extensions-warning-message",Jt.warning,y("warningIcon","Icon shown with a warning message in the extensions editor."));var tg;let Wp=(tg=class extends $e{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 zp};else if(s.ambiguousCharacterCount>=r)a={message:y("unicodeHighlighting.thisDocumentHasManyAmbiguousUnicodeCharacters","This document contains many ambiguous unicode characters"),command:new Dh};else if(s.invisibleCharacterCount>=r)a={message:y("unicodeHighlighting.thisDocumentHasManyInvisibleUnicodeCharacters","This document contains many invisible unicode characters"),command:new Bp};else throw new Error("Unreachable");this._bannerController.show({id:"unicodeHighlightBanner",message:a.message,icon:T$,actions:[{label:a.command.shortLabel,href:`command:${a.command.id}`}],onClose:()=>{this._bannerClosed=!0}})}else this._bannerController.hide()},this._bannerController=this._register(n.createInstance(r0,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=M$(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"?gF:i)};this._editorWorkerService.canComputeUnicodeHighlights(this._editor.getModel().uri)?this._highlighter=new l0(this._editor,t,this._updateState,this._editorWorkerService):this._highlighter=new N$(this._editor,t,this._updateState)}getDecorationInfo(e){return this._highlighter?this._highlighter.getDecorationInfo(e):null}},tg.ID="editor.contrib.unicodeHighlighter",tg);Wp=gL([Hu(1,Tl),Hu(2,fF),Hu(3,di)],Wp);function M$(o,e){return{nonBasicASCII:e.nonBasicASCII===bw?!o:e.nonBasicASCII,ambiguousCharacters:e.ambiguousCharacters,invisibleCharacters:e.invisibleCharacters,includeComments:e.includeComments===bw?!o:e.includeComments,includeStrings:e.includeStrings===bw?!o:e.includeStrings,allowedCharacters:e.allowedCharacters,allowedLocales:e.allowedLocales}}let l0=class extends $e{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 _s(()=>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:ib.instance.getDecorationFromOptions(this._options)});this._decorations.set(i)})}getDecorationInfo(e){if(!this._decorations.has(e))return null;const t=this._editor.getModel();if(!DP(t,e))return null;const i=t.getValueInRange(e.range);return{reason:aR(i,this._options),inComment:PP(t,e),inString:EP(t,e)}}};l0=gL([Hu(3,Tl)],l0);class N$ extends $e{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 _s(()=>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=TP.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:ib.instance.getDecorationFromOptions(this._options)});this._updateState(i),this._decorations.set(t)}getDecorationInfo(e){if(!this._decorations.has(e))return null;const t=this._editor.getModel(),i=t.getValueInRange(e.range);return DP(t,e)?{reason:aR(i,this._options),inComment:PP(t,e),inString:EP(t,e)}:null}}const rR=y("unicodeHighlight.configureUnicodeHighlightOptions","Configure Unicode Highlight Options");let c0=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(Wp.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=eS(f);let v;switch(h.reason.kind){case 0:{eP(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,eS(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,eS(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:${nb.ID}?${encodeURIComponent(JSON.stringify(_))}`,D=new Gs("",!0).appendMarkdown(v).appendText(" ").appendLink(S,w,rR);s.push(new yr(this,c.range,[D],!1,a++))}return s}renderHoverParts(e,t){return l4(e,t,this._editor,this._languageService,this._openerService)}};c0=gL([Hu(1,da),Hu(2,la)],c0);function d0(o){return`U+${o.toString(16).padStart(4,"0")}`}function eS(o){let e=`\`${d0(o)}\``;return MP.isInvisibleCharacter(o)||(e+=` "${`${R$(o)}`}"`),e}function R$(o){return o===96?"`` ` ``":"`"+String.fromCodePoint(o)+"`"}function aR(o,e){return TP.computeUnicodeHighlightReason(o,e)}const Qb=class Qb{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=Ai.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}};Qb.instance=new Qb;let ib=Qb;class A$ extends we{constructor(){super({id:Dh.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(On);n&&this.runAction(n)}async runAction(e){await e.updateValue(Sl.includeComments,!1,2)}}class O$ extends we{constructor(){super({id:Dh.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(On);n&&this.runAction(n)}async runAction(e){await e.updateValue(Sl.includeStrings,!1,2)}}const Jb=class Jb extends we{constructor(){super({id:Jb.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(On);n&&this.runAction(n)}async runAction(e){await e.updateValue(Sl.ambiguousCharacters,!1,2)}};Jb.ID="editor.action.unicodeHighlight.disableHighlightingOfAmbiguousCharacters";let Dh=Jb;const ey=class ey extends we{constructor(){super({id:ey.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(On);n&&this.runAction(n)}async runAction(e){await e.updateValue(Sl.invisibleCharacters,!1,2)}};ey.ID="editor.action.unicodeHighlight.disableHighlightingOfInvisibleCharacters";let Bp=ey;const ty=class ty extends we{constructor(){super({id:ty.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(On);n&&this.runAction(n)}async runAction(e){await e.updateValue(Sl.nonBasicASCII,!1,2)}};ty.ID="editor.action.unicodeHighlight.disableHighlightingOfNonBasicAsciiCharacters";let zp=ty;const iy=class iy extends we{constructor(){super({id:iy.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(Dl),g=e.get(On);function f(_){return MP.isInvisibleCharacter(_)?y("unicodeHighlight.excludeInvisibleCharFromBeingHighlighted","Exclude {0} (invisible character) from being highlighted",d0(_)):y("unicodeHighlight.excludeCharFromBeingHighlighted","Exclude {0} from being highlighted",`${d0(_)} "${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()=>{H$(g,[_])}});if(p.push({label:f(n),run:()=>F$(g,[n])}),a){const _=new A$;p.push({label:_.label,run:async()=>_.runAction(g)})}else if(r){const _=new O$;p.push({label:_.label,run:async()=>_.runAction(g)})}if(s.kind===0){const _=new Dh;p.push({label:_.label,run:async()=>_.runAction(g)})}else if(s.kind===1){const _=new Bp;p.push({label:_.label,run:async()=>_.runAction(g)})}else if(s.kind===2){const _=new zp;p.push({label:_.label,run:async()=>_.runAction(g)})}else W$(s);const v=await h.pick(p,{title:rR});v&&await v.run()}};iy.ID="editor.action.unicodeHighlight.showExcludeOptions";let nb=iy;async function F$(o,e){const t=o.getValue(Sl.allowedCharacters);let i;typeof t=="object"&&t?i=t:i={};for(const n of e)i[String.fromCodePoint(n)]=!0;await o.updateValue(Sl.allowedCharacters,i,2)}async function H$(o,e){var n;const t=(n=o.inspect(Sl.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(Sl.allowedLocales,i,2)}function W$(o){throw new Error(`Unexpected value: ${o}`)}se(Dh);se(Bp);se(zp);se(nb);wi(Wp.ID,Wp,1);Fh.register(c0);var B$=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},fD=function(o,e){return function(t,i){e(t,i,o)}};const lR="ignoreUnusualLineTerminators";function z$(o,e,t){o.setModelProperty(e.uri,lR,t)}function V$(o,e){return o.getModelProperty(e.uri,lR)}var ig;let sb=(ig=class extends $e{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()||V$(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`.",Va(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){z$(this._codeEditorService,e,!0);return}e.removeUnusualLineTerminators(this._editor.getSelections())}},ig.ID="editor.contrib.unusualLineTerminatorsDetector",ig);sb=B$([fD(1,h1),fD(2,os)],sb);wi(sb.ID,sb,1);var j$=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},U$=function(o,e){return function(t,i){e(t,i,o)}};class pD{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,Ck,!1).map(a=>({range:a.range,kind:iv.Text})):Promise.resolve(n)}provideMultiDocumentHighlights(e,t,i,n){const s=new Ic,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,Ck,!1).map(g=>({range:g.range,kind:iv.Text}));h&&s.set(a.uri,h)}return s}}let h0=class extends $e{constructor(e){super(),this._register(e.documentHighlightProvider.register("*",new pD)),this._register(e.multiDocumentHighlightProvider.register("*",new pD))}};h0=j$([U$(0,Tt)],h0);var cR=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(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)}},es,u0;const fL=new Bi("hasWordHighlights",!1);function dR(o,e,t,i){const n=o.ordered(e);return o1(n.map(s=>()=>Promise.resolve(s.provideDocumentHighlights(e,t,i)).then(void 0,ss)),s=>s!=null).then(s=>{if(s){const r=new Ic;return r.set(e.uri,s),r}return new Ic})}function $$(o,e,t,i,n,s){const r=o.ordered(e);return o1(r.map(a=>()=>{const c=s.filter(h=>mF(h)).filter(h=>_F(a.selector,h.uri,h.getLanguageId(),!0,void 0,void 0)>0);return Promise.resolve(a.provideMultiDocumentHighlights(e,t,c,n)).then(void 0,ss)}),a=>a!=null)}class hR{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=Ds(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 q$ extends hR{constructor(e,t,i,n){super(e,t,i),this._providers=n}_compute(e,t,i,n){return dR(this._providers,e,t.getPosition(),n).then(s=>s||new Ic)}}class K$ extends hR{constructor(e,t,i,n,s){super(e,t,i),this._providers=n,this._otherModels=s}_compute(e,t,i,n){return $$(this._providers,e,t.getPosition(),i,n,this._otherModels).then(s=>s||new Ic)}}function G$(o,e,t,i,n){return new q$(e,t,n,o)}function Z$(o,e,t,i,n,s){return new K$(e,t,n,o,s)}fo("_executeDocumentHighlights",async(o,e,t)=>{const i=o.get(Tt),n=await dR(i.documentHighlightProvider,e,t,_i.None);return n==null?void 0:n.get(e.uri)});var kc;let g0=(kc=class{constructor(e,t,i,n,s){this.toUnhook=new je,this.workerRequestTokenId=0,this.workerRequestCompleted=!1,this.workerRequestValue=new Ic,this.lastCursorPositionChangeTime=0,this.renderDecorationsTimer=-1,this.runDelayer=this.toUnhook.add(new Dc(50)),this.editor=e,this.providers=t,this.multiDocumentProviders=i,this.codeEditorService=s,this._hasWordHighlights=fL.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=>{pF(this.model.uri,"output")||this._stopAll()})),this.toUnhook.add(e.onDidChangeModel(r=>{!r.newModelUrl&&r.oldModelUrl?this._stopSingular():es.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=es.query)==null?void 0:c.modelInfo)==null?void 0:h.model);break;case"multiFile":es.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,es.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);kr(`${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);kr(`${r}, ${i+1} of ${e.length} for '${s.word}'`)}}finally{this._ignorePositionChangeEvent=!1}}_removeSingleDecorations(){if(!this.editor.hasModel())return;const e=es.storedDecorationIDs.get(this.editor.getModel().uri);e&&(this.editor.removeDecorations(e),es.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()||G_(n.getModel().uri,e==null?void 0:e.uri))continue;const s=es.storedDecorationIDs.get(n.getModel().uri);if(!s)continue;n.removeDecorations(s),i.push(n.getModel().uri);const r=Ac.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)es.storedDecorationIDs.delete(n)}_stopSingular(){var e,t,i,n;this._removeSingleDecorations(),this.editor.hasTextFocus()&&(((e=this.editor.getModel())==null?void 0:e.uri.scheme)!==ro.vscodeNotebookCell&&((i=(t=es.query)==null?void 0:t.modelInfo)==null?void 0:i.model.uri.scheme)!==ro.vscodeNotebookCell?(es.query=null,this._run()):(n=es.query)!=null&&n.modelInfo&&(es.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)!==ro.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===ro.vscodeNotebookCell){const s=[],r=this.codeEditorService.listCodeEditors();for(const a of r){const c=a.getModel();c&&c!==e&&c.uri.scheme===ro.vscodeNotebookCell&&s.push(c)}return s}const i=[],n=this.codeEditorService.listCodeEditors();for(const s of n){if(!NP(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){es.query=null,this._stopAll();return}const a=r.startColumn,c=r.endColumn,h=this._getWord();if(!h||h.startColumn>a||h.endColumn<c){es.query=null,this._stopAll();return}t=this.workerRequest&&this.workerRequest.isValid(this.model,r,this.decorations),es.query={modelInfo:{model:this.model,selection:r},word:h}}else if(!es.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(G_(this.editor.getModel().uri,(n=es.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(!es.query||!es.query.modelInfo||es.query.modelInfo.model.isDisposed())return;this.workerRequest=this.computeWithModel(es.query.modelInfo.model,es.query.modelInfo.selection,es.query.word,a),(s=this.workerRequest)==null||s.result.then(c=>{r===this.workerRequestTokenId&&(this.workerRequestCompleted=!0,this.workerRequestValue=c||[],this._beginRenderDecorations())},Cn)}}computeWithModel(e,t,i,n){return n.length?Z$(this.multiDocumentProviders,e,t,i,this.editor.getOption(132),n):G$(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=Ac.get(s);if(!r)continue;const a=[],c=(t=s.getModel())==null?void 0:t.uri;if(c&&this.workerRequestValue.has(c)){const h=es.storedDecorationIDs.get(c),g=this.workerRequestValue.get(c);if(g)for(const p of g)p.range&&a.push({range:p.range,options:FU(p.kind)});let f=[];s.changeDecorations(p=>{f=p.deltaDecorations(h??[],a)}),es.storedDecorationIDs=es.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()}},es=kc,kc.storedDecorationIDs=new Ic,kc.query=null,kc);g0=es=cR([j_(4,os)],g0);var lh;let Ac=(lh=class extends $e{static get(e){return e.getContribution(u0.ID)}constructor(e,t,i,n){super(),this._wordHighlighter=null;const s=()=>{e.hasModel()&&!e.getModel().isTooLargeForTokenization()&&(this._wordHighlighter=new g0(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()}},u0=lh,lh.ID="editor.contrib.wordHighlighter",lh);Ac=u0=cR([j_(1,Yi),j_(2,Tt),j_(3,os)],Ac);class uR extends we{constructor(e,t){super(t),this._isNext=e}run(e,t){const i=Ac.get(t);i&&(this._isNext?i.moveNext():i.moveBack())}}class X$ extends uR{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:fL,kbOpts:{kbExpr:R.editorTextFocus,primary:65,weight:100}})}}class Y$ extends uR{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:fL,kbOpts:{kbExpr:R.editorTextFocus,primary:1089,weight:100}})}}class Q$ extends we{constructor(){super({id:"editor.action.wordHighlight.trigger",label:y("wordHighlight.trigger.label","Trigger Symbol Highlight"),alias:"Trigger Symbol Highlight",precondition:void 0,kbOpts:{kbExpr:R.editorTextFocus,primary:0,weight:100}})}run(e,t,i){const n=Ac.get(t);n&&n.restoreViewState(!0)}}wi(Ac.ID,Ac,0);se(X$);se(Y$);se(Q$);Hg(h0);class tw extends go{constructor(e){super(e),this._inSelectionMode=e.inSelectionMode,this._wordNavigationType=e.wordNavigationType}runEditorCommand(e,t,i){if(!t.hasModel())return;const n=Rh(t.getOption(132),t.getOption(131)),s=t.getModel(),r=t.getSelections(),a=r.length>1,c=r.map(h=>{const g=new Pt(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=>vF.fromModelSelection(h))),c.length===1){const h=new Pt(c[0].positionLineNumber,c[0].positionColumn);t.revealPosition(h,0)}}_moveTo(e,t,i){return i?new Kt(e.selectionStartLineNumber,e.selectionStartColumn,t.lineNumber,t.column):new Kt(t.lineNumber,t.column,t.lineNumber,t.column)}}class Wc extends tw{_move(e,t,i,n,s){return gm.moveWordLeft(e,t,i,n,s)}}class Bc extends tw{_move(e,t,i,n,s){return gm.moveWordRight(e,t,i,n)}}class J$ extends Wc{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordStartLeft",precondition:void 0})}}class e8 extends Wc{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordEndLeft",precondition:void 0})}}class t8 extends Wc{constructor(){var e;super({inSelectionMode:!1,wordNavigationType:1,id:"cursorWordLeft",precondition:void 0,kbOpts:{kbExpr:ce.and(R.textInputFocus,(e=ce.and(xy,Ly))==null?void 0:e.negate()),primary:2063,mac:{primary:527},weight:100}})}}class i8 extends Wc{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordStartLeftSelect",precondition:void 0})}}class n8 extends Wc{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordEndLeftSelect",precondition:void 0})}}class s8 extends Wc{constructor(){var e;super({inSelectionMode:!0,wordNavigationType:1,id:"cursorWordLeftSelect",precondition:void 0,kbOpts:{kbExpr:ce.and(R.textInputFocus,(e=ce.and(xy,Ly))==null?void 0:e.negate()),primary:3087,mac:{primary:1551},weight:100}})}}class o8 extends Wc{constructor(){super({inSelectionMode:!1,wordNavigationType:3,id:"cursorWordAccessibilityLeft",precondition:void 0})}_move(e,t,i,n,s){return super._move(Rh(ky.wordSeparators.defaultValue,e.intlSegmenterLocales),t,i,n,s)}}class r8 extends Wc{constructor(){super({inSelectionMode:!0,wordNavigationType:3,id:"cursorWordAccessibilityLeftSelect",precondition:void 0})}_move(e,t,i,n,s){return super._move(Rh(ky.wordSeparators.defaultValue,e.intlSegmenterLocales),t,i,n,s)}}class a8 extends Bc{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordStartRight",precondition:void 0})}}class l8 extends Bc{constructor(){var e;super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordEndRight",precondition:void 0,kbOpts:{kbExpr:ce.and(R.textInputFocus,(e=ce.and(xy,Ly))==null?void 0:e.negate()),primary:2065,mac:{primary:529},weight:100}})}}class c8 extends Bc{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordRight",precondition:void 0})}}class d8 extends Bc{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordStartRightSelect",precondition:void 0})}}class h8 extends Bc{constructor(){var e;super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordEndRightSelect",precondition:void 0,kbOpts:{kbExpr:ce.and(R.textInputFocus,(e=ce.and(xy,Ly))==null?void 0:e.negate()),primary:3089,mac:{primary:1553},weight:100}})}}class u8 extends Bc{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordRightSelect",precondition:void 0})}}class g8 extends Bc{constructor(){super({inSelectionMode:!1,wordNavigationType:3,id:"cursorWordAccessibilityRight",precondition:void 0})}_move(e,t,i,n,s){return super._move(Rh(ky.wordSeparators.defaultValue,e.intlSegmenterLocales),t,i,n,s)}}class f8 extends Bc{constructor(){super({inSelectionMode:!0,wordNavigationType:3,id:"cursorWordAccessibilityRightSelect",precondition:void 0})}_move(e,t,i,n,s){return super._move(Rh(ky.wordSeparators.defaultValue,e.intlSegmenterLocales),t,i,n,s)}}class iw extends go{constructor(e){super(e),this._whitespaceHeuristics=e.whitespaceHeuristics,this._wordNavigationType=e.wordNavigationType}runEditorCommand(e,t,i){const n=e.get(xs);if(!t.hasModel())return;const s=Rh(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 Jp(_,"")});t.pushUndoStop(),t.executeCommands(this.id,p),t.pushUndoStop()}}class pL extends iw{_delete(e,t){const i=gm.deleteWordLeft(e,t);return i||new z(1,1,1,1)}}class mL extends iw{_delete(e,t){const i=gm.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 p8 extends pL{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:0,id:"deleteWordStartLeft",precondition:R.writable})}}class m8 extends pL{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:2,id:"deleteWordEndLeft",precondition:R.writable})}}class _8 extends pL{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:0,id:"deleteWordLeft",precondition:R.writable,kbOpts:{kbExpr:R.textInputFocus,primary:2049,mac:{primary:513},weight:100}})}}class v8 extends mL{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:0,id:"deleteWordStartRight",precondition:R.writable})}}class b8 extends mL{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:2,id:"deleteWordEndRight",precondition:R.writable})}}class y8 extends mL{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:2,id:"deleteWordRight",precondition:R.writable,kbOpts:{kbExpr:R.textInputFocus,primary:2068,mac:{primary:532},weight:100}})}}class w8 extends we{constructor(){super({id:"deleteInsideWord",precondition:R.writable,label:y("deleteInsideWord","Delete Word"),alias:"Delete Word"})}run(e,t,i){if(!t.hasModel())return;const n=Rh(t.getOption(132),t.getOption(131)),s=t.getModel(),a=t.getSelections().map(c=>{const h=gm.deleteInsideWord(n,s,c);return new Jp(h,"")});t.pushUndoStop(),t.executeCommands(this.id,a),t.pushUndoStop()}}Mt(new J$);Mt(new e8);Mt(new t8);Mt(new i8);Mt(new n8);Mt(new s8);Mt(new a8);Mt(new l8);Mt(new c8);Mt(new d8);Mt(new h8);Mt(new u8);Mt(new o8);Mt(new r8);Mt(new g8);Mt(new f8);Mt(new p8);Mt(new m8);Mt(new _8);Mt(new v8);Mt(new b8);Mt(new y8);se(w8);class S8 extends iw{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:0,id:"deleteWordPartLeft",precondition:R.writable,kbOpts:{kbExpr:R.textInputFocus,primary:0,mac:{primary:769},weight:100}})}_delete(e,t){const i=Iy.deleteWordPartLeft(e);return i||new z(1,1,1,1)}}class C8 extends iw{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:2,id:"deleteWordPartRight",precondition:R.writable,kbOpts:{kbExpr:R.textInputFocus,primary:0,mac:{primary:788},weight:100}})}_delete(e,t){const i=Iy.deleteWordPartRight(e);if(i)return i;const n=e.model.getLineCount(),s=e.model.getLineMaxColumn(n);return new z(n,s,n,s)}}class gR extends tw{_move(e,t,i,n,s){return Iy.moveWordPartLeft(e,t,i,s)}}class x8 extends gR{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordPartLeft",precondition:void 0,kbOpts:{kbExpr:R.textInputFocus,primary:0,mac:{primary:783},weight:100}})}}Pn.registerCommandAlias("cursorWordPartStartLeft","cursorWordPartLeft");class L8 extends gR{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordPartLeftSelect",precondition:void 0,kbOpts:{kbExpr:R.textInputFocus,primary:0,mac:{primary:1807},weight:100}})}}Pn.registerCommandAlias("cursorWordPartStartLeftSelect","cursorWordPartLeftSelect");class fR extends tw{_move(e,t,i,n,s){return Iy.moveWordPartRight(e,t,i)}}class k8 extends fR{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordPartRight",precondition:void 0,kbOpts:{kbExpr:R.textInputFocus,primary:0,mac:{primary:785},weight:100}})}}class I8 extends fR{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordPartRightSelect",precondition:void 0,kbOpts:{kbExpr:R.textInputFocus,primary:0,mac:{primary:1809},weight:100}})}}Mt(new S8);Mt(new C8);Mt(new x8);Mt(new L8);Mt(new k8);Mt(new I8);const TL=class TL extends $e{constructor(e){super(),this.editor=e,this._register(this.editor.onDidAttemptReadOnlyEdit(()=>this._onDidAttemptReadOnlyEdit()))}_onDidAttemptReadOnlyEdit(){const e=wo.get(this.editor);if(e&&this.editor.hasModel()){let t=this.editor.getOptions().get(93);t||(this.editor.isSimpleWidget?t=new Gs(y("editor.simple.readonly","Cannot edit in read-only input")):t=new Gs(y("editor.readonly","Cannot edit in read-only editor"))),e.showMessage(t,this.editor.getPosition())}}};TL.ID="editor.contrib.readOnlyMessageController";let ob=TL;wi(ob.ID,ob,2);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},mD=function(o,e){return function(t,i){e(t,i,o)}};let f0=class extends $e{constructor(e,t,i){super(),this._textModel=e,this._languageFeaturesService=t,this._outlineModelService=i,this._currentModel=Fo(this,void 0);const n=md("documentSymbolProvider.onDidChange",this._languageFeaturesService.documentSymbolProvider.onDidChange),s=md("_textModel.onDidChangeContent",ms.debounce(r=>this._textModel.onDidChangeContent(r),()=>{},100));this._register(rm(async(r,a)=>{n.read(r),s.read(r);const c=a.add(new wF),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(yF(cm(s=>s.range.endLineNumber-s.range.startLineNumber,_y))),n.map(s=>({name:s.name,kind:s.kind,startLineNumber:s.range.startLineNumber}))}};f0=D8([mD(1,Tt),mD(2,km)],f0);bF.setBreadcrumbsSourceFactory((o,e)=>e.createInstance(f0,o));const ML=class ML extends $e{constructor(e){super(),this.editor=e,this.widget=null,mS&&(this._register(e.onDidChangeConfiguration(()=>this.update())),this.update())}update(){const e=!this.editor.getOption(92);!this.widget&&e?this.widget=new p0(this.editor):this.widget&&!e&&(this.widget.dispose(),this.widget=null)}dispose(){super.dispose(),this.widget&&(this.widget.dispose(),this.widget=null)}};ML.ID="editor.contrib.iPadShowKeyboard";let rb=ML;const ny=class ny extends $e{constructor(e){super(),this.editor=e,this._domNode=document.createElement("textarea"),this._domNode.className="iPadShowKeyboard",this._register(Xi(this._domNode,"touchstart",t=>{this.editor.focus()})),this._register(Xi(this._domNode,"focus",t=>{this.editor.focus()})),this.editor.addOverlayWidget(this)}dispose(){this.editor.removeOverlayWidget(this),super.dispose()}getId(){return ny.ID}getDomNode(){return this._domNode}getPosition(){return{preference:1}}};ny.ID="editor.contrib.ShowKeyboardWidget";let p0=ny;wi(rb.ID,rb,3);var E8=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},_D=function(o,e){return function(t,i){e(t,i,o)}},m0,ch;let Vp=(ch=class extends $e{static get(e){return e.getContribution(m0.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(by.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 _0(this._editor,this._languageService))}stop(){this._widget&&(this._widget.dispose(),this._widget=null)}},m0=ch,ch.ID="editor.contrib.inspectTokens",ch);Vp=m0=E8([_D(1,RP),_D(2,da)],Vp);class P8 extends we{constructor(){super({id:"editor.action.inspectTokens",label:LF.inspectTokensAction,alias:"Developer: Inspect Tokens",precondition:void 0})}run(e,t){const i=Vp.get(t);i==null||i.launch()}}function T8(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 M8(o,e){const t=by.get(e);if(t)return t;const i=o.encodeLanguageId(e);return{getInitialState:()=>SF,tokenize:(n,s,r)=>xF(e,r),tokenizeEncoded:(n,s,r)=>CF(i,r)}}const sy=class sy extends $e{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=M8(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 sy._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)}Z_(this._domNode,bt("h2.tm-token",void 0,T8(r),bt("span.tm-token-length",void 0,`${r.length} ${r.length===1?"char":"chars"}`))),gt(this._domNode,bt("hr.tokens-inspect-separator",{style:"clear:both"}));const a=(n<<1)+1<t.tokens2.length?this._decodeMetadata(t.tokens2[(n<<1)+1]):null;gt(this._domNode,bt("table.tm-metadata-table",void 0,bt("tbody",void 0,bt("tr",void 0,bt("td.tm-metadata-key",void 0,"language"),bt("td.tm-metadata-value",void 0,`${a?a.languageId:"-?-"}`)),bt("tr",void 0,bt("td.tm-metadata-key",void 0,"token type"),bt("td.tm-metadata-value",void 0,`${a?this._tokenTypeToString(a.tokenType):"-?-"}`)),bt("tr",void 0,bt("td.tm-metadata-key",void 0,"font style"),bt("td.tm-metadata-value",void 0,`${a?this._fontStyleToString(a.fontStyle):"-?-"}`)),bt("tr",void 0,bt("td.tm-metadata-key",void 0,"foreground"),bt("td.tm-metadata-value",void 0,`${a?Ni.Format.CSS.formatHex(a.foreground):"-?-"}`)),bt("tr",void 0,bt("td.tm-metadata-key",void 0,"background"),bt("td.tm-metadata-value",void 0,`${a?Ni.Format.CSS.formatHex(a.background):"-?-"}`))))),gt(this._domNode,bt("hr.tokens-inspect-separator")),i<t.tokens1.length&&gt(this._domNode,bt("span.tm-token-type",void 0,t.tokens1[i].type)),this._editor.layoutContentWidget(this)}_decodeMetadata(e){const t=by.getColorMap(),i=df.getLanguageId(e),n=df.getTokenType(e),s=df.getFontStyle(e),r=df.getForeground(e),a=df.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]}}};sy._ID="editor.contrib.inspectTokensWidget";let _0=sy;wi(Vp.ID,Vp,4);se(P8);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},vD=function(o,e){return function(t,i){e(t,i,o)}},Rf,dh;let v0=(dh=class{constructor(e,t){this.quickInputService=e,this.keybindingService=t,this.registry=aa.as(fm.Quickaccess)}provide(e){const t=new je;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(Rf.PREFIX.length));n&&n.prefix&&n.prefix!==Rf.PREFIX&&this.quickInputService.quickAccess.show(n.prefix,{preserveValue:!0})})),e.items=this.getQuickAccessProviders().filter(i=>i.prefix!==Rf.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}})}},Rf=dh,dh.PREFIX="?",dh);v0=Rf=N8([vD(0,Dl),vD(1,hs)],v0);aa.as(fm.Quickaccess).registerQuickAccessProvider({ctor:v0,prefix:"",helpEntries:[{description:kF.helpQuickAccessActionLabel}]});class pR{constructor(e){this.options=e,this.rangeHighlightDecorationId=void 0}provide(e,t,i){var r;const n=new je;e.canAcceptInBackground=!!((r=this.options)!=null&&r.canAcceptInBackground),e.matchOnLabel=e.matchOnDescription=e.matchOnDetail=e.sortByLabel=!1;const s=n.add(new Wo);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 je,s=this.activeTextEditorControl;if(s&&this.canProvideWithTextEditor(s)){const r={editor:s},a=AP(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(OP(t.onCancellationRequested)(()=>{var h;return(h=r.restoreViewState)==null?void 0:h.call(r)}))}n.add(Rn(()=>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&&rg(`${i.getLineContent(t.range.startLineNumber)}`)}getModel(e){var t;return NP(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:fs(zE),position:Oa.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 oy=class oy extends pR{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,$e.None}provideWithTextEditor(e,t,i){const n=e.editor,s=new je;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(oy.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=AP(n);return a&&a.getOptions().get(68).renderType===2&&(a.updateOptions({lineNumbers:"on"}),s.add(Rn(()=>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}};oy.PREFIX=":";let b0=oy;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},A8=function(o,e){return function(t,i){e(t,i,o)}};let jp=class extends b0{constructor(e){super(),this.editorService=e,this.onDidActiveTextEditorControlChange=ms.None}get activeTextEditorControl(){return this.editorService.getFocusedCodeEditor()??void 0}};jp=R8([A8(0,os)],jp);var hh;let mR=(hh=class extends we{constructor(){super({id:hh.ID,label:FP.gotoLineActionLabel,alias:"Go to Line/Column...",precondition:void 0,kbOpts:{kbExpr:R.focus,primary:2085,mac:{primary:293},weight:100}})}run(e){e.get(Dl).quickAccess.show(jp.PREFIX)}},hh.ID="editor.action.gotoLine",hh);se(mR);aa.as(fm.Quickaccess).registerQuickAccessProvider({ctor:jp,prefix:jp.PREFIX,helpEntries:[{description:FP.gotoLineActionLabel,commandId:mR.ID}]});const _R=[void 0,[]];function tS(o,e,t=0,i=0){const n=e;return n.values&&n.values.length>1?O8(o,n.values,t,i):vR(o,e,t,i)}function O8(o,e,t,i){let n=0;const s=[];for(const r of e){const[a,c]=vR(o,r,t,i);if(typeof a!="number")return _R;n+=a,s.push(...c)}return[n,F8(s)]}function vR(o,e,t,i){const n=rP(e.original,e.originalLowercase,t,o,o.toLowerCase(),i,{firstMatchCanBeWeak:!0,boostFullMatch:!0});return n?[n[0],vy(n)]:_R}function F8(o){const e=o.sort((n,s)=>n.start-s.start),t=[];let i;for(const n of e)!i||!H8(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 H8(o,e){return!(o.end<e.start||e.end<o.start)}function bD(o){return o.startsWith('"')&&o.endsWith('"')}const bR=" ";function y0(o){typeof o!="string"&&(o="");const e=o.toLowerCase(),{pathNormalized:t,normalized:i,normalizedLowercase:n}=yD(o),s=t.indexOf(xS)>=0,r=bD(o);let a;const c=o.split(bR);if(c.length>1)for(const h of c){const g=bD(h),{pathNormalized:f,normalized:p,normalizedLowercase:v}=yD(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 yD(o){let e;cy?e=o.replace(/\//g,xS):e=o.replace(/\\/g,xS);const t=IF(e).replace(/\s|"/g,"");return{pathNormalized:e,normalized:t,normalizedLowercase:t.toLowerCase()}}function wD(o){return Array.isArray(o)?y0(o.map(e=>e.original).join(bR)):y0(o.original)}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},SD=function(o,e){return function(t,i){e(t,i,o)}},U_,Jr;let xd=(Jr=class extends pR{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.")),$e.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):$e.None}doProvideWithoutEditorSymbols(e,t,i,n){const s=new je;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 dy,n=t.add(this._languageFeaturesService.documentSymbolProvider.onDidChange(()=>{this._languageFeaturesService.documentSymbolProvider.has(e)&&(n.dispose(),i.complete(!0))}));return t.add(Rn(()=>i.complete(!1))),i.p}doProvideWithEditorSymbols(e,t,i,n,s){var f;const r=e.editor,a=new je;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 Es(n),i.busy=!0;try{const v=y0(i.value.substr(U_.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=TF(_,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(U_.SCOPE_PREFIX)===0,c=a?1:0;let h,g;t.values&&t.values.length>1?(h=wD(t.values[0]),g=wD(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"?sn.asClassName(Jt.splitHorizontal):sn.asClassName(Jt.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 A=r[P],V=DF(A.name),H=`$(${EF.toIcon(A.kind).id}) ${V}`,J=H.length-V.length;let X=A.containerName;i!=null&&i.extraContainerLabel&&(X?X=`${i.extraContainerLabel} • ${X}`:X=i.extraContainerLabel);let fe,Ie,Be,Se;if(t.original.length>c){let mt=!1;if(h!==t&&([fe,Ie]=tS(H,{...t,values:void 0},c,J),typeof fe=="number"&&(mt=!0)),typeof fe!="number"&&([fe,Ie]=tS(H,h,c,J),typeof fe!="number"))continue;if(!mt&&g){if(X&&g.original.length>0&&([Be,Se]=tS(X,g)),typeof Be!="number")continue;typeof fe=="number"&&(fe+=Be)}}const ut=A.tags&&A.tags.indexOf(1)>=0;v.push({index:P,kind:A.kind,score:fe,label:H,ariaLabel:PF(A.name,A.kind),description:X,highlights:ut?void 0:{label:Ie,description:Se},range:{selection:z.collapseToStart(A.selectionRange),decoration:A.range},uri:s.uri,symbolName:V,strikethrough:ut,buttons:f})}const _=v.sort((P,A)=>a?this.compareByKindAndScore(P,A):this.compareByScore(P,A));let w=[];if(a){let H=function(){A&&typeof P=="number"&&V>0&&(A.label=e1(nS[P]||iS,V))},P,A,V=0;for(const J of _)P!==J.kind?(H(),P=J.kind,V=1,A={type:"separator"},w.push(A)):V++,w.push(J);H()}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=nS[e.kind]||iS,n=nS[t.kind]||iS,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()}},U_=Jr,Jr.PREFIX="@",Jr.SCOPE_PREFIX=":",Jr.PREFIX_BY_CATEGORY=`${Jr.PREFIX}${Jr.SCOPE_PREFIX}`,Jr);xd=U_=W8([SD(0,Tt),SD(1,km)],xd);const iS=y("property","properties ({0})"),nS={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 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},sS=function(o,e){return function(t,i){e(t,i,o)}};let w0=class extends xd{constructor(e,t,i){super(t,i),this.editorService=e,this.onDidActiveTextEditorControlChange=ms.None}get activeTextEditorControl(){return this.editorService.getFocusedCodeEditor()??void 0}};w0=B8([sS(0,os),sS(1,Tt),sS(2,km)],w0);const ry=class ry extends we{constructor(){super({id:ry.ID,label:LS.quickOutlineActionLabel,alias:"Go to Symbol...",precondition:R.hasDocumentSymbolProvider,kbOpts:{kbExpr:R.focus,primary:3117,weight:100},contextMenuOpts:{group:"navigation",order:3}})}run(e){e.get(Dl).quickAccess.show(xd.PREFIX,{itemActivation:MF.NONE})}};ry.ID="editor.action.quickOutline";let ab=ry;se(ab);aa.as(fm.Quickaccess).registerQuickAccessProvider({ctor:w0,prefix:xd.PREFIX,helpEntries:[{description:LS.quickOutlineActionLabel,prefix:xd.PREFIX,commandId:ab.ID},{description:LS.quickOutlineByCategoryActionLabel,prefix:xd.PREFIX_BY_CATEGORY}]});function z8(o){const e=new Map;for(const t of o)e.set(t,(e.get(t)??0)+1);return e}class Jf{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 z8(Jf.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=Jf.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=Jf.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 V8(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 Iu;(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"})(Iu||(Iu={}));function oS(o){return Array.isArray(o.items)}function CD(o){const e=o;return!!e.picks&&e.additionalPicks instanceof Promise}class j8 extends $e{constructor(e,t){super(),this.prefix=e,this.options=t}provide(e,t,i){var h;const n=new je;e.canAcceptInBackground=!!((h=this.options)!=null&&h.canAcceptInBackground),e.matchOnLabel=e.matchOnDescription=e.matchOnDetail=e.sortByLabel=!1;let s;const r=n.add(new Wo),a=async()=>{var S;const g=r.value=new je;s==null||s.dispose(!0),e.busy=!1,s=new Es(t);const f=s.token;let p=e.value.substring(this.prefix.length);(S=this.options)!=null&&S.shouldSkipTrimPickFilter||(p=p.trim());const v=this._getPicks(p,g,f,i),_=(D,P)=>{var H;let A,V;if(oS(D)?(A=D.items,V=D.active):A=D,A.length===0){if(P)return!1;(p.length>0||e.hideInput)&&((H=this.options)!=null&&H.noResultsPick)&&(NF(this.options.noResultsPick)?A=[this.options.noResultsPick(p)]:A=[this.options.noResultsPick])}return e.items=A,V&&(e.activeItems=[V]),!0},w=async D=>{let P=!1,A=!1;await Promise.all([(async()=>{typeof D.mergeDelay=="number"&&(await Sy(D.mergeDelay),f.isCancellationRequested)||A||(P=_(D.picks,!0))})(),(async()=>{e.busy=!0;try{const V=await D.additionalPicks;if(f.isCancellationRequested)return;let H,J;oS(D.picks)?(H=D.picks.items,J=D.picks.active):H=D.picks;let X,fe;if(oS(V)?(X=V.items,fe=V.active):X=V,X.length>0||!P){let Ie;if(!J&&!fe){const Be=e.activeItems[0];Be&&H.indexOf(Be)!==-1&&(Ie=Be)}_({items:[...H,...X],active:J||fe||Ie})}}finally{f.isCancellationRequested||(e.busy=!1),A=!0}})()])};if(v!==null)if(CD(v))await w(v);else if(!(v instanceof Promise))_(v);else{e.busy=!0;try{const D=await v;if(f.isCancellationRequested)return;CD(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 Iu.NO_ACTION:break;case Iu.CLOSE_PICKER:e.hide();break;case Iu.REFRESH_PICKER:a();break;case Iu.REMOVE_ITEM:{const S=e.items.indexOf(f);if(S!==-1){const D=e.items.slice(),P=D.splice(S,1),A=e.activeItems.filter(H=>H!==P[0]),V=e.keepScrollPosition;e.keepScrollPosition=!0,e.items=D,A&&(e.activeItems=A),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 yR=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Xl=function(o,e){return function(t,i){e(t,i,o)}},Jc,ls,Ma;let S0=(Ma=class extends j8{constructor(e,t,i,n,s,r){super(Jc.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=OP(()=>{const w=new Jf;w.updateDocuments(s.map(D=>({key:D.commandId,textChunks:[this.getTfIdfChunk(D)]})));const S=w.calculateScores(e,i);return V8(S).filter(D=>D.score>Jc.TFIDF_THRESHOLD).slice(0,Jc.TFIDF_MAX_RESULTS)}),a=[];for(const w of s){const S=Jc.WORD_FILTER(e,w.label)??void 0,D=w.commandAlias?Jc.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 A=P.find(V=>V.key===w.commandId);A&&(w.tfIdfScore=A.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 A=this.options.suggestedCommandIds.has(w.commandId),V=this.options.suggestedCommandIds.has(S.commandId);if(A&&V)return 0;if(A)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){Oc(r)||this.dialogService.error(y("canNotRun","Command '{0}' resulted in an error",e.label),gv(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}},Jc=Ma,Ma.PREFIX=">",Ma.TFIDF_THRESHOLD=.5,Ma.TFIDF_MAX_RESULTS=5,Ma.WORD_FILTER=RF(FF,OF,AF),Ma);S0=Jc=yR([Xl(1,di),Xl(2,hs),Xl(3,Cs),Xl(4,ca),Xl(5,h1)],S0);var ea;let C0=(ea=class extends $e{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===q0.SHUTDOWN&&this.saveState()}))}updateConfiguration(e){e&&!e.affectsConfiguration("workbench.commandPalette.history")||(this.configuredCommandsHistoryLength=ls.getConfiguredCommandHistoryLength(this.configurationService),ls.cache&&ls.cache.limit!==this.configuredCommandsHistoryLength&&(ls.cache.limit=this.configuredCommandsHistoryLength,ls.hasChanges=!0))}load(){const e=this.storageService.get(ls.PREF_KEY_CACHE,0);let t;if(e)try{t=JSON.parse(e)}catch(n){this.logService.error(`[CommandsHistory] invalid data: ${n}`)}const i=ls.cache=new sm(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))}ls.counter=this.storageService.getNumber(ls.PREF_KEY_COUNTER,0,ls.counter)}push(e){ls.cache&&(ls.cache.set(e,ls.counter++),ls.hasChanges=!0)}peek(e){var t;return(t=ls.cache)==null?void 0:t.peek(e)}saveState(){if(!ls.cache||!ls.hasChanges)return;const e={usesLRU:!0,entries:[]};ls.cache.forEach((t,i)=>e.entries.push({key:i,value:t})),this.storageService.store(ls.PREF_KEY_CACHE,JSON.stringify(e),0,0),this.storageService.store(ls.PREF_KEY_COUNTER,ls.counter,0,0),ls.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:ls.DEFAULT_COMMANDS_HISTORY_LENGTH}},ls=ea,ea.DEFAULT_COMMANDS_HISTORY_LENGTH=50,ea.PREF_KEY_CACHE="commandPalette.mru.cache",ea.PREF_KEY_COUNTER="commandPalette.mru.counter",ea.counter=1,ea.hasChanges=!1,ea);C0=ls=yR([Xl(0,Fc),Xl(1,On),Xl(2,Nh)],C0);class U8 extends S0{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&&(HF(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:WF(n.label)||n.id})}return t}}var $8=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},ru=function(o,e){return function(t,i){e(t,i,o)}};let Up=class extends U8{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[]}};Up=$8([ru(0,di),ru(1,os),ru(2,hs),ru(3,Cs),ru(4,ca),ru(5,h1)],Up);const ay=class ay extends we{constructor(){super({id:ay.ID,label:HP.quickCommandActionLabel,alias:"Command Palette",precondition:void 0,kbOpts:{kbExpr:R.focus,primary:59,weight:100},contextMenuOpts:{group:"z_commands",order:1}})}run(e){e.get(Dl).quickAccess.show(Up.PREFIX)}};ay.ID="editor.action.quickCommand";let lb=ay;se(lb);aa.as(fm.Quickaccess).registerQuickAccessProvider({ctor:Up,prefix:Up.PREFIX,helpEntries:[{description:HP.quickCommandHelp,commandId:lb.ID}]});var q8=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},au=function(o,e){return function(t,i){e(t,i,o)}};let x0=class extends xh{constructor(e,t,i,n,s,r,a){super(!0,e,t,i,n,s,r,a)}};x0=q8([au(1,Yi),au(2,os),au(3,io),au(4,di),au(5,Fc),au(6,On)],x0);wi(xh.ID,x0,4);class K8 extends we{constructor(){super({id:"editor.action.toggleHighContrast",label:BF.toggleHighContrast,alias:"Toggle High Contrast Theme",precondition:void 0}),this._originalThemeName=null}run(e,t){const i=e.get(RP),n=i.getColorTheme();rp(n.type)?(i.setTheme(this._originalThemeName||(xk(n.type)?zF:VF)),this._originalThemeName=null):(i.setTheme(xk(n.type)?jF:UF),this._originalThemeName=n.themeName)}}se(K8);let L0=null;function G8(o){L0=o}function Z8(o={}){return{"Content-Type":"application/json",...o}}async function Si(o,e,t){const i=await fetch(e,{method:o,headers:Z8(),body:t!==void 0?JSON.stringify(t):void 0});if(i.status===401)throw L0&&L0(),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 X8(){return await(await fetch("/she/auth/mode")).json()}async function Y8(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 J8(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 e7(){return Si("GET","/she/scripts/tree")}function rS(o){return Si("GET",`/she/scripts/${o}`)}function Xc(o,e){return Si("PUT",`/she/scripts/${o}`,{content:e})}function m_(o){return Si("DELETE",`/she/scripts/${o}`)}function xD(o,e){return Si("POST",`/she/scripts/${o}/rename`,{newPath:e})}function t7(o){return Si("POST","/she/scripts/mkdir",{path:o})}function i7(){return Si("GET","/she/git/status")}function Af(){return Si("GET","/she/status")}function wR(){return Si("POST","/she/restart")}function n7(){return Si("POST","/she/update")}function s7(){return Si("POST","/she/check-update")}function o7(o,e){return Si("POST","/she/git/commit",{path:o,message:e})}function LD(o,e){return Si("POST","/she/git/commit",{files:o,message:e})}function kD(o){return Si("POST","/she/git/commit",{message:o})}function __(o){return Si("POST","/she/git/push",{remote:o})}function r7(o,e){return Si("GET",`/she/git/log?path=${encodeURIComponent(o)}&limit=${e}`)}function a7(o,e){return Si("GET",`/she/git/show?hash=${encodeURIComponent(o)}&path=${encodeURIComponent(e)}`)}function Rg(){return Si("GET","/she/config")}function SR(o){return Si("PUT","/she/config",o)}function CR(){return Si("GET","/she/db/docs")}function l7(o){return Si("GET",`/she/db/docs/${o}`)}function ID(o,e){return Si("PUT",`/she/db/docs/${o}`,e)}function c7(o){return Si("DELETE",`/she/db/docs/${o}`)}function xR(){return Si("GET","/she/db/views")}function d7(o){return Si("GET",`/she/db/views/${o}`)}function DD(o,e){return Si("PUT",`/she/db/views/${o}`,e)}function h7(o){return Si("DELETE",`/she/db/views/${o}`)}function u7(){return Si("GET","/she/deps")}function g7(o){return Si("GET",`/she/deps/search?q=${encodeURIComponent(o)}`)}function f7(o,e){return Si("POST","/she/deps/install",{name:o,version:null})}function p7(o){return Si("POST","/she/deps/remove",{name:o})}function m7(o){return Si("POST","/she/deps/update",{name:o})}function LR(){return Si("GET","/she/deps/outdated")}function _7(){return Si("POST","/she/deps/check-outdated")}function v7(){return Si("GET","/she/ai/conversations")}function ED(o){return Si("GET",`/she/ai/conversations/${encodeURIComponent(o)}`)}function b7(o,e,t){return Si("PUT",`/she/ai/conversations/${encodeURIComponent(o)}`,{title:e,messages:t})}function y7(o){return Si("DELETE",`/she/ai/conversations/${encodeURIComponent(o)}`)}function aS(o){return Si("GET",`/she/db/views/${o}/result`)}function kR(){return Si("GET","/she/matter/devices")}function $_(o){return Si("GET",`/she/matter/devices/${o}`)}function w7(o){return Si("POST","/she/matter/commission",o)}function S7(o){return Si("DELETE",`/she/matter/devices/${o}`)}function C7(o,e,t,i,n){return Si("POST",`/she/matter/devices/${o}/command`,{endpointId:e,clusterName:t,command:i,args:n})}function IR(){return Si("GET","/she/mqtt/state")}function PD(o,e,t=!1,i=0){return Si("POST","/she/mqtt/publish",{topic:o,payload:e,retain:t,qos:i})}function DR(){return Si("GET","/she/ai/config")}function ER(){return Si("GET","/she/ai/models")}function k0(o){return Si("GET",`/she/ai/model-info?model=${encodeURIComponent(o)}`)}function PR(o){return Si("POST","/she/ai/prompt",o)}async function TR(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 x7=2e3,q_=[];function MR(){return q_.slice()}let rc=null;const cb=new Set,Du=new Map;let I0=null;function $p(){let o=cb.size;for(const e of Du.values())o+=e.size;return o}function L7(){return`${location.protocol==="https:"?"wss:":"ws:"}//${location.host}/she/ws`}function _L(){if(rc)return;const o=L7(),e=new WebSocket(o);rc=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};q_.length>=x7&&q_.shift(),q_.push(s),cb.forEach(r=>r(s))}const n=Du.get(i.type);n&&n.forEach(s=>s(i))}catch{}},e.onclose=()=>{rc===e&&(rc=null),$p()>0&&(I0=setTimeout(_L,3e3))},e.onerror=()=>{e.close()}}function NR(){I0&&clearTimeout(I0),rc==null||rc.close(),rc=null}function vL(o){return cb.add(o),$p()===1&&_L(),()=>{cb.delete(o),$p()===0&&NR()}}function Sr(o,e){return Du.has(o)||Du.set(o,new Set),Du.get(o).add(e),$p()===1&&_L(),()=>{var t;(t=Du.get(o))==null||t.delete(e),$p()===0&&NR()}}var k7=M('<button class="cancel svelte-1eh8v5n">Cancel</button>'),I7=M('<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 Gg(o,e){zo(e,!0);let t=W(!1),i=W(""),n=W("Confirm"),s=W(!1),r=W(!1),a=null;function c(w,S){return C(i,w,!0),C(n,(S==null?void 0:S.confirm)??(S!=null&&S.alert?"OK":"Confirm"),!0),C(s,(S==null?void 0:S.danger)??!1,!0),C(r,(S==null?void 0:S.alert)??!1,!0),C(t,!0),new Promise(D=>a=D)}function h(w){C(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=Us();cs("keydown",bd,g);var v=_t(p);{var _=w=>{var S=I7(),D=_t(S),P=x(D,2),A=k(P),V=k(A),H=x(A,2),J=k(H);{var X=Se=>{var ut=k7();Q("click",ut,()=>h(!1)),E(Se,ut)};U(J,Se=>{u(r)||Se(X)})}var fe=x(J,2);let Ie;var Be=k(fe);G(()=>{q(V,u(i)),Ie=$t(fe,1,"svelte-1eh8v5n",null,Ie,{danger:u(s)}),q(Be,u(n))}),Q("click",D,()=>h(!1)),Q("click",fe,()=>h(!0)),E(w,S)};U(v,w=>{u(t)&&w(_)})}return E(o,p),Vo(f)}Pr(["click"]);var D7=M('<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 E7(o,e){zo(e,!0);let t=W(!1),i=W(""),n=W(""),s=W("OK"),r=W(""),a=null,c=W(void 0);function h(D,P){return C(i,D,!0),C(n,(P==null?void 0:P.placeholder)??"",!0),C(s,(P==null?void 0:P.confirm)??"OK",!0),C(r,(P==null?void 0:P.initial)??"",!0),C(t,!0),setTimeout(()=>{if(u(c)){u(c).focus();const A=u(c).value.length;u(c).setSelectionRange(A,A)}},0),new Promise(A=>a=A)}function g(){const D=u(r).trim();D&&(C(t,!1),a==null||a(D),a=null,C(r,""))}function f(){C(t,!1),a==null||a(null),a=null,C(r,"")}function p(D){u(t)&&D.key==="Escape"&&(D.stopPropagation(),f())}var v={show:h},_=Us();cs("keydown",bd,p);var w=_t(_);{var S=D=>{var P=D7(),A=_t(P),V=x(A,2),H=k(V),J=k(H),X=x(H,2);Is(X,ut=>C(c,ut),()=>u(c));var fe=x(X,2),Ie=k(fe),Be=x(Ie,2),Se=k(Be);G(ut=>{q(J,u(i)),gn(X,"placeholder",u(n)),Be.disabled=ut,q(Se,u(s))},[()=>!u(r).trim()]),Q("click",A,f),Q("keydown",X,ut=>{ut.key==="Enter"&&(ut.preventDefault(),g())}),Mi(X,()=>u(r),ut=>C(r,ut)),Q("click",Ie,f),Q("click",Be,g),E(D,P)};U(w,D=>{u(t)&&D(S)})}return E(o,_),Vo(v)}Pr(["click","keydown"]);function RR(o){return o&&o.__esModule&&Object.prototype.hasOwnProperty.call(o,"default")?o.default:o}var lS,TD;function P7(){if(TD)return lS;TD=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(oe=>{const _e=O[oe],Xe=typeof _e;(Xe==="object"||Xe==="function")&&!Object.isFrozen(_e)&&o(_e)}),O}class e{constructor(oe){oe.data===void 0&&(oe.data={}),this.data=oe.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}}function t(O){return O.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#x27;")}function i(O,...oe){const _e=Object.create(null);for(const Xe in O)_e[Xe]=O[Xe];return oe.forEach(function(Xe){for(const it in Xe)_e[it]=Xe[it]}),_e}const n="</span>",s=O=>!!O.scope,r=(O,{prefix:oe})=>{if(O.startsWith("language:"))return O.replace("language:","language-");if(O.includes(".")){const _e=O.split(".");return[`${oe}${_e.shift()}`,..._e.map((Xe,it)=>`${Xe}${"_".repeat(it+1)}`)].join(" ")}return`${oe}${O}`};class a{constructor(oe,_e){this.buffer="",this.classPrefix=_e.classPrefix,oe.walk(this)}addText(oe){this.buffer+=t(oe)}openNode(oe){if(!s(oe))return;const _e=r(oe.scope,{prefix:this.classPrefix});this.span(_e)}closeNode(oe){s(oe)&&(this.buffer+=n)}value(){return this.buffer}span(oe){this.buffer+=`<span class="${oe}">`}}const c=(O={})=>{const oe={children:[]};return Object.assign(oe,O),oe};class h{constructor(){this.rootNode=c(),this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(oe){this.top.children.push(oe)}openNode(oe){const _e=c({scope:oe});this.add(_e),this.stack.push(_e)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(oe){return this.constructor._walk(oe,this.rootNode)}static _walk(oe,_e){return typeof _e=="string"?oe.addText(_e):_e.children&&(oe.openNode(_e),_e.children.forEach(Xe=>this._walk(oe,Xe)),oe.closeNode(_e)),oe}static _collapse(oe){typeof oe!="string"&&oe.children&&(oe.children.every(_e=>typeof _e=="string")?oe.children=[oe.children.join("")]:oe.children.forEach(_e=>{h._collapse(_e)}))}}class g extends h{constructor(oe){super(),this.options=oe}addText(oe){oe!==""&&this.add(oe)}startScope(oe){this.openNode(oe)}endScope(){this.closeNode()}__addSublanguage(oe,_e){const Xe=oe.root;_e&&(Xe.scope=`language:${_e}`),this.add(Xe)}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(_e=>f(_e)).join("")}function S(O){const oe=O[O.length-1];return typeof oe=="object"&&oe.constructor===Object?(O.splice(O.length-1,1),oe):{}}function D(...O){return"("+(S(O).capture?"":"?:")+O.map(Xe=>f(Xe)).join("|")+")"}function P(O){return new RegExp(O.toString()+"|").exec("").length-1}function A(O,oe){const _e=O&&O.exec(oe);return _e&&_e.index===0}const V=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;function H(O,{joinWith:oe}){let _e=0;return O.map(Xe=>{_e+=1;const it=_e;let $=f(Xe),re="";for(;$.length>0;){const de=V.exec($);if(!de){re+=$;break}re+=$.substring(0,de.index),$=$.substring(de.index+de[0].length),de[0][0]==="\\"&&de[1]?re+="\\"+String(Number(de[1])+it):(re+=de[0],de[0]==="("&&_e++)}return re}).map(Xe=>`(${Xe})`).join(oe)}const J=/\b\B/,X="[a-zA-Z]\\w*",fe="[a-zA-Z_]\\w*",Ie="\\b\\d+(\\.\\d+)?",Be="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",Se="\\b(0b[01]+)",ut="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",mt=(O={})=>{const oe=/^#![ ]*\//;return O.binary&&(O.begin=w(oe,/.*\b/,O.binary,/\b.*/)),i({scope:"meta",begin:oe,end:/$/,relevance:0,"on:begin":(_e,Xe)=>{_e.index!==0&&Xe.ignoreMatch()}},O)},at={begin:"\\\\[\\s\\S]",relevance:0},hi={scope:"string",begin:"'",end:"'",illegal:"\\n",contains:[at]},Ut={scope:"string",begin:'"',end:'"',illegal:"\\n",contains:[at]},ti={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/},Fe=function(O,oe,_e={}){const Xe=i({scope:"comment",begin:O,end:oe,contains:[]},_e);Xe.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 it=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 Xe.contains.push({begin:w(/[ ]+/,"(",it,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),Xe},Gt=Fe("//","$"),Je=Fe("/\\*","\\*/"),Lt=Fe("#","$"),Yt={scope:"number",begin:Ie,relevance:0},Ci={scope:"number",begin:Be,relevance:0},xi={scope:"number",begin:Se,relevance:0},ii={scope:"regexp",begin:/\/(?=[^/\n]*\/)/,end:/\/[gimuy]*/,contains:[at,{begin:/\[/,end:/\]/,relevance:0,contains:[at]}]},Nt={scope:"title",begin:X,relevance:0},Ri={scope:"title",begin:fe,relevance:0},vt={begin:"\\.\\s*"+fe,relevance:0};var ai=Object.freeze({__proto__:null,APOS_STRING_MODE:hi,BACKSLASH_ESCAPE:at,BINARY_NUMBER_MODE:xi,BINARY_NUMBER_RE:Se,COMMENT:Fe,C_BLOCK_COMMENT_MODE:Je,C_LINE_COMMENT_MODE:Gt,C_NUMBER_MODE:Ci,C_NUMBER_RE:Be,END_SAME_AS_BEGIN:function(O){return Object.assign(O,{"on:begin":(oe,_e)=>{_e.data._beginMatch=oe[1]},"on:end":(oe,_e)=>{_e.data._beginMatch!==oe[1]&&_e.ignoreMatch()}})},HASH_COMMENT_MODE:Lt,IDENT_RE:X,MATCH_NOTHING_RE:J,METHOD_GUARD:vt,NUMBER_MODE:Yt,NUMBER_RE:Ie,PHRASAL_WORDS_MODE:ti,QUOTE_STRING_MODE:Ut,REGEXP_MODE:ii,RE_STARTERS_RE:ut,SHEBANG:mt,TITLE_MODE:Nt,UNDERSCORE_IDENT_RE:fe,UNDERSCORE_TITLE_MODE:Ri});function Vi(O,oe){O.input[O.index-1]==="."&&oe.ignoreMatch()}function Qi(O,oe){O.className!==void 0&&(O.scope=O.className,delete O.className)}function Ji(O,oe){oe&&O.beginKeywords&&(O.begin="\\b("+O.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",O.__beforeBegin=Vi,O.keywords=O.keywords||O.beginKeywords,delete O.beginKeywords,O.relevance===void 0&&(O.relevance=0))}function cn(O,oe){Array.isArray(O.illegal)&&(O.illegal=D(...O.illegal))}function Li(O,oe){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 ni(O,oe){O.relevance===void 0&&(O.relevance=1)}const pi=(O,oe)=>{if(!O.beforeMatch)return;if(O.starts)throw new Error("beforeMatch cannot be used with starts");const _e=Object.assign({},O);Object.keys(O).forEach(Xe=>{delete O[Xe]}),O.keywords=_e.keywords,O.begin=w(_e.beforeMatch,p(_e.begin)),O.starts={relevance:0,contains:[Object.assign(_e,{endsParent:!0})]},O.relevance=0,delete _e.beforeMatch},Ki=["of","and","for","in","not","or","if","then","parent","list","value"],on="keyword";function _n(O,oe,_e=on){const Xe=Object.create(null);return typeof O=="string"?it(_e,O.split(" ")):Array.isArray(O)?it(_e,O):Object.keys(O).forEach(function($){Object.assign(Xe,_n(O[$],oe,$))}),Xe;function it($,re){oe&&(re=re.map(de=>de.toLowerCase())),re.forEach(function(de){const ze=de.split("|");Xe[ze[0]]=[$,rn(ze[0],ze[1])]})}}function rn(O,oe){return oe?Number(oe):$n(O)?0:1}function $n(O){return Ki.includes(O.toLowerCase())}const en={},dn=O=>{console.error(O)},Xn=(O,...oe)=>{console.log(`WARN: ${O}`,...oe)},Fn=(O,oe)=>{en[`${O}/${oe}`]||(console.log(`Deprecated as of ${O}. ${oe}`),en[`${O}/${oe}`]=!0)},ji=new Error;function qn(O,oe,{key:_e}){let Xe=0;const it=O[_e],$={},re={};for(let de=1;de<=oe.length;de++)re[de+Xe]=it[de],$[de+Xe]=!0,Xe+=P(oe[de-1]);O[_e]=re,O[_e]._emit=$,O[_e]._multi=!0}function He(O){if(Array.isArray(O.begin)){if(O.skip||O.excludeBegin||O.returnBegin)throw dn("skip, excludeBegin, returnBegin not compatible with beginScope: {}"),ji;if(typeof O.beginScope!="object"||O.beginScope===null)throw dn("beginScope must be object"),ji;qn(O,O.begin,{key:"beginScope"}),O.begin=H(O.begin,{joinWith:""})}}function Wt(O){if(Array.isArray(O.end)){if(O.skip||O.excludeEnd||O.returnEnd)throw dn("skip, excludeEnd, returnEnd not compatible with endScope: {}"),ji;if(typeof O.endScope!="object"||O.endScope===null)throw dn("endScope must be object"),ji;qn(O,O.end,{key:"endScope"}),O.end=H(O.end,{joinWith:""})}}function ei(O){O.scope&&typeof O.scope=="object"&&O.scope!==null&&(O.beginScope=O.scope,delete O.scope)}function ki(O){ei(O),typeof O.beginScope=="string"&&(O.beginScope={_wrap:O.beginScope}),typeof O.endScope=="string"&&(O.endScope={_wrap:O.endScope}),He(O),Wt(O)}function Pi(O){function oe(re,de){return new RegExp(f(re),"m"+(O.case_insensitive?"i":"")+(O.unicodeRegex?"u":"")+(de?"g":""))}class _e{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(de,ze){ze.position=this.position++,this.matchIndexes[this.matchAt]=ze,this.regexes.push([ze,de]),this.matchAt+=P(de)+1}compile(){this.regexes.length===0&&(this.exec=()=>null);const de=this.regexes.map(ze=>ze[1]);this.matcherRe=oe(H(de,{joinWith:"|"}),!0),this.lastIndex=0}exec(de){this.matcherRe.lastIndex=this.lastIndex;const ze=this.matcherRe.exec(de);if(!ze)return null;const Bt=ze.findIndex((De,Rt)=>Rt>0&&De!==void 0),lt=this.matchIndexes[Bt];return ze.splice(0,Bt),Object.assign(ze,lt)}}class Xe{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 ze=new _e;return this.rules.slice(de).forEach(([Bt,lt])=>ze.addRule(Bt,lt)),ze.compile(),this.multiRegexes[de]=ze,ze}resumingScanAtSamePosition(){return this.regexIndex!==0}considerAll(){this.regexIndex=0}addRule(de,ze){this.rules.push([de,ze]),ze.type==="begin"&&this.count++}exec(de){const ze=this.getMatcher(this.regexIndex);ze.lastIndex=this.lastIndex;let Bt=ze.exec(de);if(this.resumingScanAtSamePosition()&&!(Bt&&Bt.index===this.lastIndex)){const lt=this.getMatcher(0);lt.lastIndex=this.lastIndex+1,Bt=lt.exec(de)}return Bt&&(this.regexIndex+=Bt.position+1,this.regexIndex===this.count&&this.considerAll()),Bt}}function it(re){const de=new Xe;return re.contains.forEach(ze=>de.addRule(ze.begin,{rule:ze,type:"begin"})),re.terminatorEnd&&de.addRule(re.terminatorEnd,{type:"end"}),re.illegal&&de.addRule(re.illegal,{type:"illegal"}),de}function $(re,de){const ze=re;if(re.isCompiled)return ze;[Qi,Li,ki,pi].forEach(lt=>lt(re,de)),O.compilerExtensions.forEach(lt=>lt(re,de)),re.__beforeBegin=null,[Ji,cn,ni].forEach(lt=>lt(re,de)),re.isCompiled=!0;let Bt=null;return typeof re.keywords=="object"&&re.keywords.$pattern&&(re.keywords=Object.assign({},re.keywords),Bt=re.keywords.$pattern,delete re.keywords.$pattern),Bt=Bt||/\w+/,re.keywords&&(re.keywords=_n(re.keywords,O.case_insensitive)),ze.keywordPatternRe=oe(Bt,!0),de&&(re.begin||(re.begin=/\B|\b/),ze.beginRe=oe(ze.begin),!re.end&&!re.endsWithParent&&(re.end=/\B|\b/),re.end&&(ze.endRe=oe(ze.end)),ze.terminatorEnd=f(ze.end)||"",re.endsWithParent&&de.terminatorEnd&&(ze.terminatorEnd+=(re.end?"|":"")+de.terminatorEnd)),re.illegal&&(ze.illegalRe=oe(re.illegal)),re.contains||(re.contains=[]),re.contains=[].concat(...re.contains.map(function(lt){return Hn(lt==="self"?re:lt)})),re.contains.forEach(function(lt){$(lt,ze)}),re.starts&&$(re.starts,de),ze.matcher=it(ze),ze}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||{}),$(O)}function zn(O){return O?O.endsWithParent||zn(O.starts):!1}function Hn(O){return O.variants&&!O.cachedVariants&&(O.cachedVariants=O.variants.map(function(oe){return i(O,{variants:null},oe)})),O.cachedVariants?O.cachedVariants:zn(O)?i(O,{starts:O.starts?i(O.starts):null}):Object.isFrozen(O)?i(O):O}var Yn="11.11.1";class xn extends Error{constructor(oe,_e){super(oe),this.name="HTMLInjectionError",this.html=_e}}const qe=t,Z=i,Ke=Symbol("nomatch"),St=7,kt=function(O){const oe=Object.create(null),_e=Object.create(null),Xe=[];let it=!0;const $="Could not find the language '{}', did you forget to load/include a language module?",re={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 ze(N){return de.noHighlightRe.test(N)}function Bt(N){let K=N.className+" ";K+=N.parentNode?N.parentNode.className:"";const Ce=de.languageDetectRe.exec(K);if(Ce){const Pe=Zt(Ce[1]);return Pe||(Xn($.replace("{}",Ce[1])),Xn("Falling back to no-highlight mode for this block.",N)),Pe?Ce[1]:"no-highlight"}return K.split(/\s+/).find(Pe=>ze(Pe)||Zt(Pe))}function lt(N,K,Ce){let Pe="",Ve="";typeof K=="object"?(Pe=N,Ce=K.ignoreIllegals,Ve=K.language):(Fn("10.7.0","highlight(lang, code, ...args) has been deprecated."),Fn("10.7.0",`Please use highlight(code, options) instead.
80
- https://github.com/highlightjs/highlight.js/issues/2277`),Ve=N,Pe=K),Ce===void 0&&(Ce=!0);const Te={code:Pe,language:Ve};oi("before:highlight",Te);const tt=Te.result?Te.result:De(Te.language,Te.code,Ce);return tt.code=Te.code,oi("after:highlight",tt),tt}function De(N,K,Ce,Pe){const Ve=Object.create(null);function Te(le,Ne){return le.keywords[Ne]}function tt(){if(!Ee.keywords){Oe.addText(pe);return}let le=0;Ee.keywordPatternRe.lastIndex=0;let Ne=Ee.keywordPatternRe.exec(pe),Qe="";for(;Ne;){Qe+=pe.substring(le,Ne.index);const rt=ke.case_insensitive?Ne[0].toLowerCase():Ne[0],We=Te(Ee,rt);if(We){const[Ot,zt]=We;if(Oe.addText(Qe),Qe="",Ve[rt]=(Ve[rt]||0)+1,Ve[rt]<=St&&(ye+=zt),Ot.startsWith("_"))Qe+=Ne[0];else{const vn=ke.classNameAliases[Ot]||Ot;Le(Ne[0],vn)}}else Qe+=Ne[0];le=Ee.keywordPatternRe.lastIndex,Ne=Ee.keywordPatternRe.exec(pe)}Qe+=pe.substring(le),Oe.addText(Qe)}function Vt(){if(pe==="")return;let le=null;if(typeof Ee.subLanguage=="string"){if(!oe[Ee.subLanguage]){Oe.addText(pe);return}le=De(Ee.subLanguage,pe,!0,pt[Ee.subLanguage]),pt[Ee.subLanguage]=le._top}else le=Qt(pe,Ee.subLanguage.length?Ee.subLanguage:null);Ee.relevance>0&&(ye+=le.relevance),Oe.__addSublanguage(le._emitter,le.language)}function ue(){Ee.subLanguage!=null?Vt():tt(),pe=""}function Le(le,Ne){le!==""&&(Oe.startScope(Ne),Oe.addText(le),Oe.endScope())}function ft(le,Ne){let Qe=1;const rt=Ne.length-1;for(;Qe<=rt;){if(!le._emit[Qe]){Qe++;continue}const We=ke.classNameAliases[le[Qe]]||le[Qe],Ot=Ne[Qe];We?Le(Ot,We):(pe=Ot,tt(),pe=""),Qe++}}function Re(le,Ne){return le.scope&&typeof le.scope=="string"&&Oe.openNode(ke.classNameAliases[le.scope]||le.scope),le.beginScope&&(le.beginScope._wrap?(Le(pe,ke.classNameAliases[le.beginScope._wrap]||le.beginScope._wrap),pe=""):le.beginScope._multi&&(ft(le.beginScope,Ne),pe="")),Ee=Object.create(le,{parent:{value:Ee}}),Ee}function dt(le,Ne,Qe){let rt=A(le.endRe,Qe);if(rt){if(le["on:end"]){const We=new e(le);le["on:end"](Ne,We),We.isMatchIgnored&&(rt=!1)}if(rt){for(;le.endsParent&&le.parent;)le=le.parent;return le}}if(le.endsWithParent)return dt(le.parent,Ne,Qe)}function wt(le){return Ee.matcher.regexIndex===0?(pe+=le[0],1):(Ye=!0,0)}function B(le){const Ne=le[0],Qe=le.rule,rt=new e(Qe),We=[Qe.__beforeBegin,Qe["on:begin"]];for(const Ot of We)if(Ot&&(Ot(le,rt),rt.isMatchIgnored))return wt(Ne);return Qe.skip?pe+=Ne:(Qe.excludeBegin&&(pe+=Ne),ue(),!Qe.returnBegin&&!Qe.excludeBegin&&(pe=Ne)),Re(Qe,le),Qe.returnBegin?0:Ne.length}function Y(le){const Ne=le[0],Qe=K.substring(le.index),rt=dt(Ee,le,Qe);if(!rt)return Ke;const We=Ee;Ee.endScope&&Ee.endScope._wrap?(ue(),Le(Ne,Ee.endScope._wrap)):Ee.endScope&&Ee.endScope._multi?(ue(),ft(Ee.endScope,le)):We.skip?pe+=Ne:(We.returnEnd||We.excludeEnd||(pe+=Ne),ue(),We.excludeEnd&&(pe=Ne));do Ee.scope&&Oe.closeNode(),!Ee.skip&&!Ee.subLanguage&&(ye+=Ee.relevance),Ee=Ee.parent;while(Ee!==rt.parent);return rt.starts&&Re(rt.starts,le),We.returnEnd?0:Ne.length}function xe(){const le=[];for(let Ne=Ee;Ne!==ke;Ne=Ne.parent)Ne.scope&&le.unshift(Ne.scope);le.forEach(Ne=>Oe.openNode(Ne))}let Ae={};function Me(le,Ne){const Qe=Ne&&Ne[0];if(pe+=le,Qe==null)return ue(),0;if(Ae.type==="begin"&&Ne.type==="end"&&Ae.index===Ne.index&&Qe===""){if(pe+=K.slice(Ne.index,Ne.index+1),!it){const rt=new Error(`0 width match regex (${N})`);throw rt.languageName=N,rt.badRule=Ae.rule,rt}return 1}if(Ae=Ne,Ne.type==="begin")return B(Ne);if(Ne.type==="illegal"&&!Ce){const rt=new Error('Illegal lexeme "'+Qe+'" for mode "'+(Ee.scope||"<unnamed>")+'"');throw rt.mode=Ee,rt}else if(Ne.type==="end"){const rt=Y(Ne);if(rt!==Ke)return rt}if(Ne.type==="illegal"&&Qe==="")return pe+=`
81
- `,1;if(me>1e5&&me>Ne.index*3)throw new Error("potential infinite loop, way more iterations than matches");return pe+=Qe,Qe.length}const ke=Zt(N);if(!ke)throw dn($.replace("{}",N)),new Error('Unknown language: "'+N+'"');const Dt=Pi(ke);let ot="",Ee=Pe||Dt;const pt={},Oe=new de.__emitter(de);xe();let pe="",ye=0,ge=0,me=0,Ye=!1;try{if(ke.__emitTokens)ke.__emitTokens(K,Oe);else{for(Ee.matcher.considerAll();;){me++,Ye?Ye=!1:Ee.matcher.considerAll(),Ee.matcher.lastIndex=ge;const le=Ee.matcher.exec(K);if(!le)break;const Ne=K.substring(ge,le.index),Qe=Me(Ne,le);ge=le.index+Qe}Me(K.substring(ge))}return Oe.finalize(),ot=Oe.toHTML(),{language:N,value:ot,relevance:ye,illegal:!1,_emitter:Oe,_top:Ee}}catch(le){if(le.message&&le.message.includes("Illegal"))return{language:N,value:qe(K),illegal:!0,relevance:0,_illegalBy:{message:le.message,index:ge,context:K.slice(ge-100,ge+100),mode:le.mode,resultSoFar:ot},_emitter:Oe};if(it)return{language:N,value:qe(K),illegal:!1,relevance:0,errorRaised:le,_emitter:Oe,_top:Ee};throw le}}function Rt(N){const K={value:qe(N),illegal:!1,relevance:0,_top:re,_emitter:new de.__emitter(de)};return K._emitter.addText(N),K}function Qt(N,K){K=K||de.languages||Object.keys(oe);const Ce=Rt(N),Pe=K.filter(Zt).filter(ri).map(ue=>De(ue,N,!1));Pe.unshift(Ce);const Ve=Pe.sort((ue,Le)=>{if(ue.relevance!==Le.relevance)return Le.relevance-ue.relevance;if(ue.language&&Le.language){if(Zt(ue.language).supersetOf===Le.language)return 1;if(Zt(Le.language).supersetOf===ue.language)return-1}return 0}),[Te,tt]=Ve,Vt=Te;return Vt.secondBest=tt,Vt}function At(N,K,Ce){const Pe=K&&_e[K]||Ce;N.classList.add("hljs"),N.classList.add(`language-${Pe}`)}function ui(N){let K=null;const Ce=Bt(N);if(ze(Ce))return;if(oi("before:highlightElement",{el:N,language:Ce}),N.dataset.highlighted){console.log("Element previously highlighted. To highlight again, first unset `dataset.highlighted`.",N);return}if(N.children.length>0&&(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(N)),de.throwUnescapedHTML))throw new xn("One of your code blocks includes unescaped HTML.",N.innerHTML);K=N;const Pe=K.textContent,Ve=Ce?lt(Pe,{language:Ce,ignoreIllegals:!0}):Qt(Pe);N.innerHTML=Ve.value,N.dataset.highlighted="yes",At(N,Ce,Ve.language),N.result={language:Ve.language,re:Ve.relevance,relevance:Ve.relevance},Ve.secondBest&&(N.secondBest={language:Ve.secondBest.language,relevance:Ve.secondBest.relevance}),oi("after:highlightElement",{el:N,result:Ve,text:Pe})}function ci(N){de=Z(de,N)}const ie=()=>{ct(),Fn("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")};function be(){ct(),Fn("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.")}let Ge=!1;function ct(){function N(){ct()}if(document.readyState==="loading"){Ge||window.addEventListener("DOMContentLoaded",N,!1),Ge=!0;return}document.querySelectorAll(de.cssSelector).forEach(ui)}function Ct(N,K){let Ce=null;try{Ce=K(O)}catch(Pe){if(dn("Language definition for '{}' could not be registered.".replace("{}",N)),it)dn(Pe);else throw Pe;Ce=re}Ce.name||(Ce.name=N),oe[N]=Ce,Ce.rawDefinition=K.bind(null,O),Ce.aliases&&si(Ce.aliases,{languageName:N})}function et(N){delete oe[N];for(const K of Object.keys(_e))_e[K]===N&&delete _e[K]}function It(){return Object.keys(oe)}function Zt(N){return N=(N||"").toLowerCase(),oe[N]||oe[_e[N]]}function si(N,{languageName:K}){typeof N=="string"&&(N=[N]),N.forEach(Ce=>{_e[Ce.toLowerCase()]=K})}function ri(N){const K=Zt(N);return K&&!K.disableAutodetect}function hn(N){N["before:highlightBlock"]&&!N["before:highlightElement"]&&(N["before:highlightElement"]=K=>{N["before:highlightBlock"](Object.assign({block:K.el},K))}),N["after:highlightBlock"]&&!N["after:highlightElement"]&&(N["after:highlightElement"]=K=>{N["after:highlightBlock"](Object.assign({block:K.el},K))})}function yn(N){hn(N),Xe.push(N)}function Gi(N){const K=Xe.indexOf(N);K!==-1&&Xe.splice(K,1)}function oi(N,K){const Ce=N;Xe.forEach(function(Pe){Pe[Ce]&&Pe[Ce](K)})}function st(N){return Fn("10.7.0","highlightBlock will be removed entirely in v12.0"),Fn("10.7.0","Please use highlightElement now."),ui(N)}Object.assign(O,{highlight:lt,highlightAuto:Qt,highlightAll:ct,highlightElement:ui,highlightBlock:st,configure:ci,initHighlighting:ie,initHighlightingOnLoad:be,registerLanguage:Ct,unregisterLanguage:et,listLanguages:It,getLanguage:Zt,registerAliases:si,autoDetection:ri,inherit:Z,addPlugin:yn,removePlugin:Gi}),O.debugMode=function(){it=!1},O.safeMode=function(){it=!0},O.versionString=Yn,O.regex={concat:w,lookahead:p,either:D,optional:_,anyNumberOfTimes:v};for(const N in ai)typeof ai[N]=="object"&&o(ai[N]);return Object.assign(O,ai),O},jt=kt({});return jt.newInstance=()=>kt({}),lS=jt,jt.HighlightJS=jt,jt.default=jt,lS}var T7=P7();const db=RR(T7),MD="[A-Za-z$_][0-9A-Za-z$_]*",M7=["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"],N7=["true","false","null","undefined","NaN","Infinity"],AR=["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"],OR=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],FR=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],R7=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],A7=[].concat(FR,AR,OR);function HR(o){const e=o.regex,t=(Fe,{after:Gt})=>{const Je="</"+Fe[0].slice(1);return Fe.input.indexOf(Je,Gt)!==-1},i=MD,n={begin:"<>",end:"</>"},s=/<[A-Za-z0-9\\._:-]+\s*\/>/,r={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(Fe,Gt)=>{const Je=Fe[0].length+Fe.index,Lt=Fe.input[Je];if(Lt==="<"||Lt===","){Gt.ignoreMatch();return}Lt===">"&&(t(Fe,{after:Je})||Gt.ignoreMatch());let Yt;const Ci=Fe.input.substring(Je);if(Yt=Ci.match(/^\s*=/)){Gt.ignoreMatch();return}if((Yt=Ci.match(/^\s+extends\s+/))&&Yt.index===0){Gt.ignoreMatch();return}}},a={$pattern:MD,keyword:M7,literal:N7,built_in:A7,"variable.language":R7},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]},A=[o.APOS_STRING_MODE,o.QUOTE_STRING_MODE,v,_,w,S,{match:/\$\d+/},f];p.contains=A.concat({begin:/\{/,end:/\}/,keywords:a,contains:["self"].concat(A)});const V=[].concat(P,p.contains),H=V.concat([{begin:/(\s*)\(/,end:/\)/,keywords:a,contains:["self"].concat(V)}]),J={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:a,contains:H},X={variants:[{match:[/class/,/\s+/,i,/\s+/,/extends/,/\s+/,e.concat(i,"(",e.concat(/\./,i),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,i],scope:{1:"keyword",3:"title.class"}}]},fe={relevance:0,match:e.either(/\bJSON/,/\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/,/\b[A-Z]{2,}([A-Z][a-z]+|\d)+([A-Z][a-z]*)*/,/\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*([A-Z][a-z]*)*/),className:"title.class",keywords:{_:[...AR,...OR]}},Ie={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},Be={variants:[{match:[/function/,/\s+/,i,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[J],illegal:/%/},Se={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function ut(Fe){return e.concat("(?!",Fe.join("|"),")")}const mt={match:e.concat(/\b/,ut([...FR,"super","import"].map(Fe=>`${Fe}\\s*\\(`)),i,e.lookahead(/\s*\(/)),className:"title.function",relevance:0},at={begin:e.concat(/\./,e.lookahead(e.concat(i,/(?![0-9A-Za-z$_(])/))),end:i,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},hi={match:[/get|set/,/\s+/,i,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},J]},Ut="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+o.UNDERSCORE_IDENT_RE+")\\s*=>",ti={match:[/const|var|let/,/\s+/,i,/\s*/,/=\s*/,/(async\s*)?/,e.lookahead(Ut)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[J]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:a,exports:{PARAMS_CONTAINS:H,CLASS_REFERENCE:fe},illegal:/#(?![$_A-z])/,contains:[o.SHEBANG({label:"shebang",binary:"node",relevance:5}),Ie,o.APOS_STRING_MODE,o.QUOTE_STRING_MODE,v,_,w,S,P,{match:/\$\d+/},f,fe,{scope:"attr",match:i+e.lookahead(":"),relevance:0},ti,{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:Ut,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:o.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:a,contains:H}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:n.begin,end:n.end},{match:s},{begin:r.begin,"on:begin":r.isTrulyOpeningTag,end:r.end}],subLanguage:"xml",contains:[{begin:r.begin,end:r.end,skip:!0,contains:["self"]}]}]},Be,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+o.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[J,o.inherit(o.TITLE_MODE,{begin:i,className:"title.function"})]},{match:/\.\.\./,relevance:0},at,{match:"\\$"+i,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[J]},mt,Se,X,hi,{match:/\$[(.]/}]}}function bL(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var zh=bL();function WR(o){zh=o}var id={exec:()=>null};function lu(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 En(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(ao.caret,"$1"),t=t.replace(n,r),i},getRegex:()=>new RegExp(t,e)};return i}var O7=((o="")=>{try{return!!new RegExp("(?<=1)(?<!1)"+o)}catch{return!1}})(),ao={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:lu(o=>new RegExp(`^ {0,${o}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`)),hrRegex:lu(o=>new RegExp(`^ {0,${o}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`)),fencesBeginRegex:lu(o=>new RegExp(`^ {0,${o}}(?:\`\`\`|~~~)`)),headingBeginRegex:lu(o=>new RegExp(`^ {0,${o}}#`)),htmlBeginRegex:lu(o=>new RegExp(`^ {0,${o}}<(?:[a-z].*>|!--)`,"i")),blockquoteBeginRegex:lu(o=>new RegExp(`^ {0,${o}}>`))},F7=/^(?:[ \t]*(?:\n|$))+/,H7=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,W7=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,Dm=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,B7=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,yL=/ {0,3}(?:[*+-]|\d{1,9}[.)])/,BR=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,zR=En(BR).replace(/bull/g,yL).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(),z7=En(BR).replace(/bull/g,yL).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(),wL=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,V7=/^[^\n]+/,SL=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/,j7=En(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",SL).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),U7=En(/^(bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,yL).getRegex(),nw="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",CL=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,$7=En("^ {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",CL).replace("tag",nw).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),VR=En(wL).replace("hr",Dm).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",nw).getRegex(),q7=En(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",VR).getRegex(),xL={blockquote:q7,code:H7,def:j7,fences:W7,heading:B7,hr:Dm,html:$7,lheading:zR,list:U7,newline:F7,paragraph:VR,table:id,text:V7},ND=En("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",Dm).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",nw).getRegex(),K7={...xL,lheading:z7,table:ND,paragraph:En(wL).replace("hr",Dm).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",ND).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",nw).getRegex()},G7={...xL,html:En(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",CL).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:id,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:En(wL).replace("hr",Dm).replace("heading",` *#{1,6} *[^
82
- ]`).replace("lheading",zR).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},Z7=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,X7=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,jR=/^( {2,}|\\)\n(?!\s*$)/,Y7=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,Zg=/[\p{P}\p{S}]/u,sw=/[\s\p{P}\p{S}]/u,LL=/[^\s\p{P}\p{S}]/u,Q7=En(/^((?![*_])punctSpace)/,"u").replace(/punctSpace/g,sw).getRegex(),UR=/(?!~)[\p{P}\p{S}]/u,J7=/(?!~)[\s\p{P}\p{S}]/u,eq=/(?:[^\s\p{P}\p{S}]|~)/u,tq=En(/link|precode-code|html/,"g").replace("link",/\[(?:[^\[\]`]|(?<a>`+)[^`]+\k<a>(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace("precode-",O7?"(?<!`)()":"(^^|[^`])").replace("code",/(?<b>`+)[^`]+\k<b>(?!`)/).replace("html",/<(?! )[^<>]*?>/).getRegex(),$R=/^(?:\*+(?:((?!\*)punct)|([^\s*]))?)|^_+(?:((?!_)punct)|([^\s_]))?/,iq=En($R,"u").replace(/punct/g,Zg).getRegex(),nq=En($R,"u").replace(/punct/g,UR).getRegex(),qR="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)",sq=En(qR,"gu").replace(/notPunctSpace/g,LL).replace(/punctSpace/g,sw).replace(/punct/g,Zg).getRegex(),oq=En(qR,"gu").replace(/notPunctSpace/g,eq).replace(/punctSpace/g,J7).replace(/punct/g,UR).getRegex(),rq=En("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)","gu").replace(/notPunctSpace/g,LL).replace(/punctSpace/g,sw).replace(/punct/g,Zg).getRegex(),aq=En(/^~~?(?:((?!~)punct)|[^\s~])/,"u").replace(/punct/g,Zg).getRegex(),lq="^[^~]+(?=[^~])|(?!~)punct(~~?)(?=[\\s]|$)|notPunctSpace(~~?)(?!~)(?=punctSpace|$)|(?!~)punctSpace(~~?)(?=notPunctSpace)|[\\s](~~?)(?!~)(?=punct)|(?!~)punct(~~?)(?!~)(?=punct)|notPunctSpace(~~?)(?=notPunctSpace)",cq=En(lq,"gu").replace(/notPunctSpace/g,LL).replace(/punctSpace/g,sw).replace(/punct/g,Zg).getRegex(),dq=En(/\\(punct)/,"gu").replace(/punct/g,Zg).getRegex(),hq=En(/^<(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(),uq=En(CL).replace("(?:-->|$)","-->").getRegex(),gq=En("^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",uq).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),hb=/(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+(?!`)[^`]*?`+(?!`)|``+(?=\])|[^\[\]\\`])*?/,fq=En(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]+(?:\n[ \t]*)?|\n[ \t]*)(title))?\s*\)/).replace("label",hb).replace("href",/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),KR=En(/^!?\[(label)\]\[(ref)\]/).replace("label",hb).replace("ref",SL).getRegex(),GR=En(/^!?\[(ref)\](?:\[\])?/).replace("ref",SL).getRegex(),pq=En("reflink|nolink(?!\\()","g").replace("reflink",KR).replace("nolink",GR).getRegex(),RD=/[hH][tT][tT][pP][sS]?|[fF][tT][pP]/,kL={_backpedal:id,anyPunctuation:dq,autolink:hq,blockSkip:tq,br:jR,code:X7,del:id,delLDelim:id,delRDelim:id,emStrongLDelim:iq,emStrongRDelimAst:sq,emStrongRDelimUnd:rq,escape:Z7,link:fq,nolink:GR,punctuation:Q7,reflink:KR,reflinkSearch:pq,tag:gq,text:Y7,url:id},mq={...kL,link:En(/^!?\[(label)\]\((.*?)\)/).replace("label",hb).getRegex(),reflink:En(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",hb).getRegex()},D0={...kL,emStrongRDelimAst:oq,emStrongLDelim:nq,delLDelim:aq,delRDelim:cq,url:En(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("protocol",RD).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:En(/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|protocol:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/).replace("protocol",RD).getRegex()},_q={...D0,br:En(jR).replace("{2,}","*").getRegex(),text:En(D0.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()},v_={normal:xL,gfm:K7,pedantic:G7},vf={normal:kL,gfm:D0,breaks:_q,pedantic:mq},vq={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},AD=o=>vq[o];function ya(o,e){if(e){if(ao.escapeTest.test(o))return o.replace(ao.escapeReplace,AD)}else if(ao.escapeTestNoEncode.test(o))return o.replace(ao.escapeReplaceNoEncode,AD);return o}function OD(o){try{o=encodeURI(o).replace(ao.percentDecode,"%")}catch{return null}return o}function FD(o,e){var s;let t=o.replace(ao.findPipe,(r,a,c)=>{let h=!1,g=a;for(;--g>=0&&c[g]==="\\";)h=!h;return h?"|":" |"}),i=t.split(ao.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(ao.slashPipe,"|");return i}function jl(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 HD(o){let e=o.split(`
83
- `),t=e.length-1;for(;t>=0&&ao.blankLine.test(e[t]);)t--;return e.length-t<=2?o:e.slice(0,t+1).join(`
84
- `)}function bq(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 yq(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 WD(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 wq(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 ub=class{constructor(o){Zi(this,"options");Zi(this,"rules");Zi(this,"lexer");this.options=o||zh}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]:HD(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=wq(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=jl(t,"#");(this.options.pedantic||!i||this.rules.other.endingSpaceChar.test(i))&&(t=i.trim())}return{type:"heading",raw:jl(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:jl(e[0],`
88
- `)}}blockquote(o){let e=this.rules.block.blockquote.exec(o);if(e){let t=jl(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=yq(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(_),A=this.rules.other.htmlBeginRegex(_),V=this.rules.other.blockquoteBeginRegex(_);for(;o;){let H=o.split(`
103
- `,1)[0],J;if(p=H,this.options.pedantic?(p=p.replace(this.rules.other.listReplaceNesting," "),J=p):J=p.replace(this.rules.other.tabCharGlobal," "),D.test(p)||P.test(p)||A.test(p)||V.test(p)||w.test(p)||S.test(p))break;if(J.search(this.rules.other.nonSpaceChar)>=_||!p.trim())g+=`
104
- `+J.slice(_);else{if(v||f.replace(this.rules.other.tabCharGlobal," ").search(this.rules.other.nonSpaceChar)>=4||D.test(f)||P.test(f)||S.test(f))break;g+=`
105
- `+p}v=!p.trim(),h+=H+`
106
- `,o=o.substring(H.length+1),f=J.slice(_)}}n.loose||(r?n.loose=!0:this.rules.other.doubleBlankLine.test(h)&&(r=!0)),n.items.push({type:"list_item",raw:h,task:!!this.options.gfm&&this.rules.other.listIsTask.test(g),loose:!1,text:g,tokens:[]}),n.raw+=h}let a=n.items.at(-1);if(a)a.raw=a.raw.trimEnd(),a.text=a.text.trimEnd();else return;n.raw=n.raw.trimEnd();for(let c of n.items){this.lexer.state.top=!1,c.tokens=this.lexer.blockTokens(c.text,[]);let h=c.tokens[0];if(c.task&&((h==null?void 0:h.type)==="text"||(h==null?void 0:h.type)==="paragraph")){c.text=c.text.replace(this.rules.other.listReplaceTask,""),h.raw=h.raw.replace(this.rules.other.listReplaceTask,""),h.text=h.text.replace(this.rules.other.listReplaceTask,"");for(let f=this.lexer.inlineQueue.length-1;f>=0;f--)if(this.rules.other.listIsTask.test(this.lexer.inlineQueue[f].src)){this.lexer.inlineQueue[f].src=this.lexer.inlineQueue[f].src.replace(this.rules.other.listReplaceTask,"");break}let g=this.rules.other.listTaskCheckbox.exec(c.raw);if(g){let f={type:"checkbox",raw:g[0]+" ",checked:g[0]!=="[ ]"};c.checked=f.checked,n.loose?c.tokens[0]&&["paragraph","text"].includes(c.tokens[0].type)&&"tokens"in c.tokens[0]&&c.tokens[0].tokens?(c.tokens[0].raw=f.raw+c.tokens[0].raw,c.tokens[0].text=f.raw+c.tokens[0].text,c.tokens[0].tokens.unshift(f)):c.tokens.unshift({type:"paragraph",raw:f.raw,text:f.raw,tokens:[f]}):c.tokens.unshift(f)}}else c.task&&(c.task=!1);if(!n.loose){let g=c.tokens.filter(p=>p.type==="space"),f=g.length>0&&g.some(p=>this.rules.other.anyLine.test(p.raw));n.loose=f}}if(n.loose)for(let c of n.items){c.loose=!0;for(let h of c.tokens)h.type==="text"&&(h.type="paragraph")}return n}}html(o){let e=this.rules.block.html.exec(o);if(e){let t=HD(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:jl(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=FD(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:jl(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(FD(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:jl(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=jl(t.slice(0,-1),"\\");if((t.length-s.length)%2===0)return}else{let s=bq(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)),WD(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 WD(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}}}},Xr=class E0{constructor(e){Zi(this,"tokens");Zi(this,"options");Zi(this,"state");Zi(this,"inlineQueue");Zi(this,"tokenizer");this.tokens=[],this.tokens.links=Object.create(null),this.options=e||zh,this.options.tokenizer=this.options.tokenizer||new ub,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:ao,block:v_.normal,inline:vf.normal};this.options.pedantic?(t.block=v_.pedantic,t.inline=vf.pedantic):this.options.gfm&&(t.block=v_.gfm,this.options.breaks?t.inline=vf.breaks:t.inline=vf.gfm),this.tokenizer.rules=t}static get rules(){return{block:v_,inline:vf}}static lex(e,t){return new E0(t).lex(e)}static lexInline(e,t){return new E0(t).inlineTokens(e)}lex(e){e=e.replace(ao.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(ao.tabCharGlobal," ").replace(ao.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(A=>{P=A.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)}},gb=class{constructor(o){Zi(this,"options");Zi(this,"parser");this.options=o||zh}space(o){return""}code({text:o,lang:e,escaped:t}){var s;let i=(s=(e||"").match(ao.notSpaceStart))==null?void 0:s[0],n=o.replace(ao.endingNewline,"")+`
126
- `;return i?'<pre><code class="language-'+ya(i)+'">'+(t?n:ya(n,!0))+`</code></pre>
127
- `:"<pre><code>"+(t?n:ya(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>${ya(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=OD(o);if(n===null)return i;o=n;let s='<a href="'+o+'"';return e&&(s+=' title="'+ya(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=OD(o);if(n===null)return ya(t);o=n;let s=`<img src="${o}" alt="${ya(t)}"`;return e&&(s+=` title="${ya(e)}"`),s+=">",s}text(o){return"tokens"in o&&o.tokens?this.parser.parseInline(o.tokens):"escaped"in o&&o.escaped?o.text:ya(o.text)}},IL=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}},Yr=class P0{constructor(e){Zi(this,"options");Zi(this,"renderer");Zi(this,"textRenderer");this.options=e||zh,this.options.renderer=this.options.renderer||new gb,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new IL}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}},b_,Of=(b_=class{constructor(o){Zi(this,"options");Zi(this,"block");this.options=o||zh}preprocess(o){return o}postprocess(o){return o}processAllTokens(o){return o}emStrongMask(o){return o}provideLexer(o=this.block){return o?Xr.lex:Xr.lexInline}provideParser(o=this.block){return o?Yr.parse:Yr.parseInline}},Zi(b_,"passThroughHooks",new Set(["preprocess","postprocess","processAllTokens","emStrongMask"])),Zi(b_,"passThroughHooksRespectAsync",new Set(["preprocess","postprocess","processAllTokens"])),b_),Sq=class{constructor(...o){Zi(this,"defaults",bL());Zi(this,"options",this.setOptions);Zi(this,"parse",this.parseMarkdown(!0));Zi(this,"parseInline",this.parseMarkdown(!1));Zi(this,"Parser",Yr);Zi(this,"Renderer",gb);Zi(this,"TextRenderer",IL);Zi(this,"Lexer",Xr);Zi(this,"Tokenizer",ub);Zi(this,"Hooks",Of);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 gb(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 ub(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 Of;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];Of.passThroughHooks.has(s)?n[r]=h=>{if(this.defaults.async&&Of.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 Xr.lex(o,e??this.defaults)}parser(o,e){return Yr.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?Xr.lex:Xr.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?Yr.parse:Yr.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?Xr.lex:Xr.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?Yr.parse:Yr.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>"+ya(t.message+"",!0)+"</pre>";return e?Promise.resolve(i):i}if(e)return Promise.reject(t);throw t}}},Eh=new Sq;function Bn(o,e){return Eh.parse(o,e)}Bn.options=Bn.setOptions=function(o){return Eh.setOptions(o),Bn.defaults=Eh.defaults,WR(Bn.defaults),Bn};Bn.getDefaults=bL;Bn.defaults=zh;Bn.use=function(...o){return Eh.use(...o),Bn.defaults=Eh.defaults,WR(Bn.defaults),Bn};Bn.walkTokens=function(o,e){return Eh.walkTokens(o,e)};Bn.parseInline=Eh.parseInline;Bn.Parser=Yr;Bn.parser=Yr.parse;Bn.Renderer=gb;Bn.TextRenderer=IL;Bn.Lexer=Xr;Bn.lexer=Xr.lex;Bn.Tokenizer=ub;Bn.Hooks=Of;Bn.parse=Bn;Bn.options;Bn.setOptions;Bn.use;Bn.walkTokens;Bn.parseInline;Yr.parse;Xr.lex;var Cq=M('<span class="chat-model svelte-10ayso4"><!></span>'),xq=M('<button class="clear-btn svelte-10ayso4" title="New conversation">+</button>'),Lq=M('<p class="history-empty svelte-10ayso4">No saved conversations.</p>'),kq=M('<li><button class="history-load svelte-10ayso4"> </button> <button class="history-del svelte-10ayso4" title="Delete">✕</button></li>'),Iq=M('<ul class="history-list svelte-10ayso4"></ul>'),Dq=M('<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>'),Eq=M('<div class="unconfigured svelte-10ayso4">Configure an AI provider in the <strong class="svelte-10ayso4">Config</strong> tab to use the AI assistant.</div>'),Pq=M('Chatting in context of <code class="svelte-10ayso4"> </code>',1),Tq=M('<button class="chip svelte-10ayso4"> </button>'),Mq=M('<div class="suggestions svelte-10ayso4"><p class="suggestions-hint svelte-10ayso4"><!></p> <!></div>'),Nq=M('<div class="msg-content user-text svelte-10ayso4"> </div>'),BD=M('<span class="tool-args svelte-10ayso4"> </span>'),zD=M('<div class="tool-event tool-call svelte-10ayso4"><span class="tool-icon svelte-10ayso4">🔧</span> <span class="tool-name svelte-10ayso4"> </span> <!></div>'),VD=M('<div class="tool-event tool-result svelte-10ayso4"><span class="tool-icon svelte-10ayso4">✓</span> <span class="tool-name svelte-10ayso4"> </span></div>'),jD=M('<div class="tool-events svelte-10ayso4"></div>'),UD=M('<div class="text-block svelte-10ayso4"></div>'),Rq=M('<button class="create-btn svelte-10ayso4">Save as new file…</button>'),Aq=M('<span class="auto-badge svelte-10ayso4" title="Auto-applying AI code to this script in this session">auto ✓</span>'),Oq=M('<button class="apply-auto-btn svelte-10ayso4" title="Apply and always apply for this script in this session">always</button>'),Fq=M('<button class="apply-btn svelte-10ayso4">Apply</button> <!>',1),Hq=M('<button class="expand-btn svelte-10ayso4"> </button>'),Wq=M('<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>'),Bq=M('<!> <div class="msg-content svelte-10ayso4"></div>',1),zq=M("<div><!></div>"),Vq=M('<div class="message assistant svelte-10ayso4"><div class="msg-content svelte-10ayso4"><span class="status-shimmer svelte-10ayso4"> </span></div></div>'),jq=M('<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>'),Uq=M('<div class="message assistant streaming svelte-10ayso4"><div class="msg-content svelte-10ayso4"></div></div>'),$q=M('<div class="chat-error svelte-10ayso4"> </div>'),qq=M('<span class="ctx-indicator svelte-10ayso4"><svg width="12" height="12" viewBox="0 0 12 12" class="svelte-10ayso4"><circle cx="6" cy="6" r="5" fill="none" stroke="var(--border-sub)" stroke-width="2" class="svelte-10ayso4"></circle><circle cx="6" cy="6" r="5" fill="none" stroke-width="2" stroke-dashoffset="7.85" stroke-linecap="round" class="svelte-10ayso4"></circle></svg></span>'),Kq=M('<span><span> </span> <span class="chip-name svelte-10ayso4"> </span> <button class="chip-remove svelte-10ayso4"> </button></span>'),Gq=M('<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>'),Zq=M('<button class="stop-btn svelte-10ayso4" title="Stop generation">■</button>'),Xq=M('<button class="send-btn svelte-10ayso4">↑</button>'),Yq=M('<option class="svelte-10ayso4"> </option>'),Qq=M('<select class="model-select svelte-10ayso4"></select>'),Jq=M('<span class="model-name svelte-10ayso4"> </span>'),eK=M('<button class="info-btn svelte-10ayso4" title="Model info">ℹ</button>'),tK=M('<div class="model-bar svelte-10ayso4"><span class="model-provider svelte-10ayso4"> </span> <!> <!></div>'),iK=M('<p class="info-status svelte-10ayso4">Loading…</p>'),nK=M('<p class="info-status info-err svelte-10ayso4"> </p>'),sK=M('<dt class="svelte-10ayso4">Ollama version</dt><dd class="svelte-10ayso4"> </dd>',1),oK=M('<dt class="svelte-10ayso4">Family</dt><dd class="svelte-10ayso4"> </dd>',1),rK=M('<dt class="svelte-10ayso4">Parameters</dt><dd class="svelte-10ayso4"> </dd>',1),aK=M('<dt class="svelte-10ayso4">Quantization</dt><dd class="svelte-10ayso4"> </dd>',1),lK=M('<dt class="svelte-10ayso4">Format</dt><dd class="svelte-10ayso4"> </dd>',1),cK=M('<div class="running-model svelte-10ayso4"> </div>'),dK=M('<dt class="svelte-10ayso4">Loaded</dt> <dd class="svelte-10ayso4"></dd>',1),hK=M('<dt class="svelte-10ayso4">Loaded</dt><dd class="dim svelte-10ayso4">Not in memory</dd>',1),uK=M('<dl class="svelte-10ayso4"><!> <!> <!> <!> <!> <!></dl>'),gK=M('<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>'),fK=M('<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 pK(o,e){zo(e,!0),db.registerLanguage("javascript",HR),Bn.use({breaks:!0,gfm:!0});let t=vg(e,"currentScript",3,null),i=vg(e,"extraFiles",31,()=>li([])),n=W(li([])),s=W(null),r=W(""),a=W(!1),c=W(""),h=W(null);const g="she:conversationId";function f(){return crypto.randomUUID().replace(/-/g,"").slice(0,16)}let p=W(li(localStorage.getItem(g)??f())),v=W(li([])),_=W(!1);Wn(()=>{localStorage.setItem(g,u(p))});let w=W(li([])),S=W(li(localStorage.getItem("she:selectedModel")??"")),D=W(null);const P=nt(()=>{var B;return u(D)!==null&&((B=t())==null?void 0:B.path)===u(D)});let A=W(li(new Set)),V=W(!1),H=W(null),J=W(!1),X=W(""),fe=W(0),Ie=null,Be=W(0);const Se=["[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 ut=W(!0),mt=W(!0),at=W(!0),hi=W(!1),Ut,ti=W(li([])),Fe,Gt;const Je=nt(()=>({apiref:u(ut),tools:u(mt)})),Lt=nt(()=>{var B;return((B=u(h))==null?void 0:B.configured)??!1}),Yt=nt(()=>{var B;return u(Lt)||!!((B=u(h))!=null&&B.provider)&&!!u(S)}),Ci=nt(()=>u(fe)+new TextEncoder().encode(u(r)).length),xi=nt(()=>u(at)?t():null);Wn(()=>{var Y;const B=(Y=t())==null?void 0:Y.path;C(at,!0),u(D)!==null&&B!==u(D)&&C(D,null)}),Wn(()=>{var Ae;if(!u(P))return;const B=u(n).at(-1);if(!B||B.role!=="assistant")return;const xe=Nt(B.content).find(Me=>Me.type==="code"&&Li(Me.lang));if(xe){const Me=ni(xe.text);(Ae=e.onApply)==null||Ae.call(e,Me?Me.code:xe.text)}});async function ii(){try{const B=await DR();C(h,B,!0),B.configured&&!u(S)&&C(S,B.model,!0)}catch{}}Wn(()=>(window.addEventListener("she:config-changed",ii),()=>window.removeEventListener("she:config-changed",ii))),Wn(()=>{u(S)&&localStorage.setItem("she:selectedModel",u(S))}),Wn(()=>{var B;(B=u(h))!=null&&B.provider&&ER().then(Y=>{C(w,Y.models,!0),!u(S)&&Y.models.length>0&&C(S,Y.models[0],!0)}).catch(()=>{})}),Wn(()=>{u(S),C(H,null),C(X,"")}),Wn(()=>{var Y,xe;if(((Y=u(h))==null?void 0:Y.provider)!=="ollama")return;const B=u(S)||((xe=u(h))==null?void 0:xe.model);!B||u(H)||k0(B).then(Ae=>{C(H,Ae,!0)}).catch(()=>{})}),Wn(()=>{if(!u(a))return;C(Be,Math.floor(Math.random()*Se.length),!0);const B=setInterval(()=>{C(Be,(u(Be)+1)%Se.length)},1e4);return()=>clearInterval(B)}),Wn(()=>{var B;Gt&&(u(n).length+(((B=u(s))==null?void 0:B.length)??0),requestAnimationFrame(()=>{Gt&&(Gt.scrollTop=Gt.scrollHeight)}))}),Wn(()=>{const B=u(Je),Y=u(xi),xe=i();u(Yt)&&PR({context:B,currentScript:Y??null,extraFiles:xe.length>0?xe:void 0}).then(Ae=>{C(fe,new TextEncoder().encode(Ae.prompt).length,!0)}).catch(()=>{})});function Nt(B){const Y=B.replace(/(\n|^)(\/{2} @[a-z-]+:[^\n]+)\n(```\w*)\n/g,`$1$3
145
- $2
146
- `),xe=[],Ae=/```(\w*)\n([\s\S]*?)```/g;let Me=0,ke;for(;(ke=Ae.exec(Y))!==null;)ke.index>Me&&xe.push({type:"text",text:Y.slice(Me,ke.index)}),xe.push({type:"code",lang:ke[1]||"text",text:ke[2].trimEnd()}),Me=ke.index+ke[0].length;return Me<Y.length&&xe.push({type:"text",text:Y.slice(Me)}),xe}const Ri=15;function vt(B){return B.split(`
147
- `).length>Ri}function vi(B){const Y=new Set(u(A));Y.has(B)?Y.delete(B):Y.add(B),C(A,Y,!0)}function ai(B,Y){if(Li(Y))try{return db.highlight(B,{language:"javascript"}).value}catch{}return B.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function Vi(B){return Bn.parse(B)}function Qi(B){const Y=B.replace(/(\n|^)(\/{2} @[a-z-]+:[^\n]+)\n(```\w*)\n/g,`$1$3
148
- $2
149
- `),xe=[],Ae=/```(\w*)\n([\s\S]*?)```/g;let Me=0,ke;for(;(ke=Ae.exec(Y))!==null;)ke.index>Me&&xe.push({type:"text",text:Y.slice(Me,ke.index)}),xe.push({type:"code",lang:ke[1]||"text",text:ke[2].trimEnd()}),Me=ke.index+ke[0].length;const Dt=Y.slice(Me),ot=Dt.match(/```(\w*)\n([\s\S]*)$/);return ot?(ot.index>0&&xe.push({type:"text",text:Dt.slice(0,ot.index)}),xe.push({type:"code",lang:ot[1]||"text",text:ot[2]})):Dt&&xe.push({type:"text",text:Dt}),xe}function Ji(B){navigator.clipboard.writeText(B).catch(()=>{})}function cn(B,Y=!1){var xe;Y&&t()&&C(D,t().path,!0),(xe=e.onApply)==null||xe.call(e,B)}function Li(B){return!B||B==="js"||B==="javascript"}function ni(B){const Y=B.match(/^\/\/ @new-file:\s*(\S+\.js)[ \t]*\n/);return Y?{filename:Y[1],code:B.slice(Y[0].length)}:null}function pi(B){return B>=1e9?`${(B/1e9).toFixed(1)} GB`:B>=1e6?`${(B/1e6).toFixed(0)} MB`:B>=1024?`${(B/1024).toFixed(1)} kB`:`${B} B`}async function Ki(){if(C(V,!0),!(u(H)||u(J))){C(J,!0),C(X,"");try{C(H,await k0(u(S)||u(h).model),!0)}catch(B){C(X,B.message,!0)}C(J,!1)}}function on(B){const Y=B.match(/\.([^.]+)$/);return Y?Y[1].toUpperCase():"?"}function _n(B){switch(B){case"SH":case"BASH":return"$";case"MD":case"MARKDOWN":return"⇓";case"JSON":case"JSONC":return"{}";default:return B}}function rn(B){i(i().filter((Y,xe)=>xe!==B))}function $n(){Ut.click()}async function en(B){if(!(!B||B.length===0))for(const Y of Array.from(B)){const xe=await Y.text();i([...i(),{name:Y.name,content:xe}])}}function dn(B){const Y=B.target;en(Y.files),Y.value=""}function Xn(B){var Y;B.preventDefault(),C(hi,!1),en(((Y=B.dataTransfer)==null?void 0:Y.files)??null)}function Fn(B){var Y;(Y=B.dataTransfer)!=null&&Y.types.includes("Files")&&(B.preventDefault(),C(hi,!0))}function ji(){C(hi,!1)}async function qn(){try{C(v,await v7(),!0)}catch{}}async function He(){var Y;if(u(n).length===0)return;const B=((Y=u(n).find(xe=>xe.role==="user"))==null?void 0:Y.content.slice(0,80))??u(p);try{await b7(u(p),B,u(n)),await qn()}catch{}}async function Wt(B){try{const Y=await ED(B);C(n,Y.messages,!0),C(p,B,!0),C(_,!1),C(c,"")}catch{}}async function ei(B){try{await y7(B),await qn(),B===u(p)&&ki()}catch{}}function ki(){C(n,[],!0),C(c,""),C(p,f(),!0),C(_,!1)}Tr(async()=>{ii();try{const B=await ED(u(p));C(n,B.messages,!0)}catch{}await qn()});async function Pi(){const B=u(r).trim();if(!B||u(a))return;C(r,""),C(c,""),C(a,!0);const Y={role:"user",content:B};C(n,[...u(n),Y],!0),Ie=new AbortController,C(ti,[],!0);try{await TR({messages:u(n),currentScript:u(xi),context:u(Je),modelOverride:u(S)||void 0,extraFiles:i().length>0?i():void 0},xe=>{C(s,(u(s)??"")+xe)},Ie.signal,xe=>{C(ti,[...u(ti),xe],!0)}),C(n,[...u(n),{role:"assistant",content:u(s)??"",toolEvents:u(ti).length>0?[...u(ti)]:void 0}],!0),C(ti,[],!0)}catch(xe){if(xe.name==="AbortError"){const Ae=u(s);Ae&&Ae.trim()&&C(n,[...u(n),{role:"assistant",content:Ae+`
150
-
151
- *[stopped]*`,toolEvents:u(ti).length>0?[...u(ti)]:void 0}],!0)}else C(c,xe.message,!0)}finally{Ie=null,C(s,null),C(ti,[],!0),C(a,!1),He()}}function zn(){Ie==null||Ie.abort()}function Hn(B){B.key==="Enter"&&!B.shiftKey&&(B.preventDefault(),Pi())}function Yn(){ki()}const xn=["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 qe(B){C(r,B,!0),Fe==null||Fe.focus()}var Z=fK(),Ke=_t(Z),St=k(Ke),kt=x(k(St),2);{var jt=B=>{var Y=Cq(),xe=k(Y);{var Ae=Dt=>{var ot=sa();G(()=>q(ot,`${u(h).provider??""} · ${(u(S)||u(h).model)??""}`)),E(Dt,ot)},Me=Dt=>{var ot=sa();G(()=>q(ot,`${u(h).provider??""} · pick a model below`)),E(Dt,ot)},ke=Dt=>{var ot=sa("Not configured");E(Dt,ot)};U(xe,Dt=>{u(Yt)?Dt(Ae):u(h).provider?Dt(Me,1):Dt(ke,-1)})}G(()=>gn(Y,"title",`Provider: ${u(h).provider??""}`)),E(B,Y)};U(kt,B=>{u(h)&&B(jt)})}var O=x(kt,2);let oe;var _e=x(O,2);{var Xe=B=>{var Y=xq();Q("click",Y,Yn),E(B,Y)};U(_e,B=>{u(n).length>0&&B(Xe)})}var it=x(St,2);{var $=B=>{var Y=Dq(),xe=k(Y),Ae=x(k(xe),2),Me=x(xe,2);{var ke=ot=>{var Ee=Lq();E(ot,Ee)},Dt=ot=>{var Ee=Iq();gi(Ee,21,()=>u(v),pt=>pt.id,(pt,Oe)=>{var pe=kq();let ye;var ge=k(pe),me=k(ge),Ye=x(ge,2);G(()=>{ye=$t(pe,1,"history-item svelte-10ayso4",null,ye,{"history-active":u(Oe).id===u(p)}),gn(ge,"title",u(Oe).id),q(me,u(Oe).title||u(Oe).id)}),Q("click",ge,()=>Wt(u(Oe).id)),Q("click",Ye,()=>ei(u(Oe).id)),E(pt,pe)}),E(ot,Ee)};U(Me,ot=>{u(v).length===0?ot(ke):ot(Dt,-1)})}Q("click",Ae,ki),E(B,Y)};U(it,B=>{u(_)&&B($)})}var re=x(it,2),de=k(re);{var ze=B=>{var Y=Eq();E(B,Y)},Bt=B=>{var Y=Mq(),xe=k(Y),Ae=k(xe);{var Me=ot=>{var Ee=Pq(),pt=x(_t(Ee)),Oe=k(pt);G(pe=>q(Oe,pe),[()=>t().path.split("/").pop()]),E(ot,Ee)},ke=ot=>{var Ee=sa("No script open. Ask a general she scripting question.");E(ot,Ee)};U(Ae,ot=>{t()?ot(Me):ot(ke,-1)})}var Dt=x(xe,2);gi(Dt,17,()=>xn,Nn,(ot,Ee)=>{var pt=Tq(),Oe=k(pt);G(()=>q(Oe,u(Ee))),Q("click",pt,()=>qe(u(Ee))),E(ot,pt)}),E(B,Y)};U(de,B=>{u(Lt)?u(n).length===0&&u(s)===null&&B(Bt,1):B(ze)})}var lt=x(de,2);gi(lt,17,()=>u(n),Nn,(B,Y,xe)=>{var Ae=zq(),Me=k(Ae);{var ke=ot=>{var Ee=Nq(),pt=k(Ee);G(()=>q(pt,u(Y).content)),E(ot,Ee)},Dt=ot=>{const Ee=nt(()=>Nt(u(Y).content));var pt=Bq(),Oe=_t(pt);{var pe=ge=>{var me=jD();gi(me,21,()=>u(Y).toolEvents,Nn,(Ye,le)=>{var Ne=Us(),Qe=_t(Ne);{var rt=Ot=>{var zt=zD(),vn=x(k(zt),2),Ui=k(vn),Ln=x(vn,2);{var Qn=qt=>{var nn=BD(),zi=k(nn);G(rs=>q(zi,rs),[()=>Object.entries(u(le).args).map(([rs,oo])=>`${rs}=${JSON.stringify(oo)}`).join(", ")]),E(qt,nn)},Ii=nt(()=>u(le).args&&Object.keys(u(le).args).length>0);U(Ln,qt=>{u(Ii)&&qt(Qn)})}G(qt=>q(Ui,qt),[()=>u(le).name.replace(/_/g," ")]),E(Ot,zt)},We=Ot=>{var zt=VD(),vn=x(k(zt),2),Ui=k(vn);G(Ln=>q(Ui,Ln),[()=>u(le).name.replace(/_/g," ")]),E(Ot,zt)};U(Qe,Ot=>{u(le).type==="tool_call"?Ot(rt):Ot(We,-1)})}E(Ye,Ne)}),E(ge,me)};U(Oe,ge=>{var me;(me=u(Y).toolEvents)!=null&&me.length&&ge(pe)})}var ye=x(Oe,2);gi(ye,21,()=>u(Ee),Nn,(ge,me,Ye)=>{var le=Us(),Ne=_t(le);{var Qe=We=>{var Ot=UD();ic(Ot,()=>Vi(u(me).text),!0),E(We,Ot)},rt=We=>{const Ot=nt(()=>Li(u(me).lang)?ni(u(me).text):null),zt=nt(()=>u(Ot)?u(Ot).code:u(me).text),vn=nt(()=>`${xe}:${Ye}`),Ui=nt(()=>vt(u(zt))),Ln=nt(()=>u(A).has(u(vn)));var Qn=Wq(),Ii=k(Qn),qt=k(Ii),nn=k(qt),zi=x(qt,2),rs=k(zi),oo=x(rs,2);{var jo=Ls=>{var Ks=Rq();Q("click",Ks,()=>e.onCreateFile(u(Ot).filename,u(Ot).code)),E(Ls,Ks)},Mr=Ls=>{var Ks=Fq(),Rr=_t(Ks),Ga=x(Rr,2);{var Al=Uo=>{var Ar=Aq();E(Uo,Ar)},Za=Uo=>{var Ar=Oq();Q("click",Ar,()=>cn(u(me).text,!0)),E(Uo,Ar)};U(Ga,Uo=>{u(P)?Uo(Al):Uo(Za,-1)})}Q("click",Rr,()=>cn(u(me).text)),E(Ls,Ks)},Ka=nt(()=>Li(u(me).lang)&&t());U(oo,Ls=>{u(Ot)&&e.onCreateFile?Ls(jo):u(Ka)&&Ls(Mr,1)})}var Jn=x(Ii,2);let ga;var fa=k(Jn),qi=k(fa);ic(qi,()=>ai(u(zt),u(me).lang??""),!0);var Nr=x(fa,2);{var qs=Ls=>{var Ks=Hq(),Rr=k(Ks);G(()=>q(Rr,u(Ln)?"▲ collapse":"▼ expand")),Q("click",Ks,()=>vi(u(vn))),E(Ls,Ks)};U(Nr,Ls=>{u(Ui)&&Ls(qs)})}G(()=>{q(nn,u(Ot)?`new: ${u(Ot).filename}`:u(me).lang),ga=$t(Jn,1,"code-body svelte-10ayso4",null,ga,{collapsed:u(Ui)&&!u(Ln)})}),Q("click",rs,()=>Ji(u(zt))),E(We,Qn)};U(Ne,We=>{u(me).type==="text"?We(Qe):We(rt,-1)})}E(ge,le)}),E(ot,pt)};U(Me,ot=>{u(Y).role==="user"?ot(ke):ot(Dt,-1)})}G(()=>$t(Ae,1,`message ${u(Y).role??""}`,"svelte-10ayso4")),E(B,Ae)});var De=x(lt,2);{var Rt=B=>{var Y=jD();gi(Y,21,()=>u(ti),Nn,(xe,Ae)=>{var Me=Us(),ke=_t(Me);{var Dt=Ee=>{var pt=zD(),Oe=x(k(pt),2),pe=k(Oe),ye=x(Oe,2);{var ge=Ye=>{var le=BD(),Ne=k(le);G(Qe=>q(Ne,Qe),[()=>Object.entries(u(Ae).args).map(([Qe,rt])=>`${Qe}=${JSON.stringify(rt)}`).join(", ")]),E(Ye,le)},me=nt(()=>u(Ae).args&&Object.keys(u(Ae).args).length>0);U(ye,Ye=>{u(me)&&Ye(ge)})}G(Ye=>q(pe,Ye),[()=>u(Ae).name.replace(/_/g," ")]),E(Ee,pt)},ot=Ee=>{var pt=VD(),Oe=x(k(pt),2),pe=k(Oe);G(ye=>q(pe,ye),[()=>u(Ae).name.replace(/_/g," ")]),E(Ee,pt)};U(ke,Ee=>{u(Ae).type==="tool_call"?Ee(Dt):Ee(ot,-1)})}E(xe,Me)}),E(B,Y)};U(De,B=>{u(ti).length>0&&B(Rt)})}var Qt=x(De,2);{var At=B=>{var Y=Vq(),xe=k(Y),Ae=k(xe),Me=k(Ae);G(()=>q(Me,Se[u(Be)])),E(B,Y)};U(Qt,B=>{u(a)&&u(s)===null&&u(ti).length===0&&B(At)})}var ui=x(Qt,2);{var ci=B=>{var Y=Uq(),xe=k(Y);gi(xe,21,()=>Qi(u(s)),Nn,(Ae,Me)=>{var ke=Us(),Dt=_t(ke);{var ot=pt=>{var Oe=UD();ic(Oe,()=>Vi(u(Me).text),!0),E(pt,Oe)},Ee=pt=>{var Oe=jq(),pe=k(Oe),ye=k(pe),ge=k(ye),me=x(pe,2),Ye=k(me);ic(Ye,()=>ai(u(Me).text,u(Me).lang??""),!0),G(()=>q(ge,u(Me).lang)),E(pt,Oe)};U(Dt,pt=>{u(Me).type==="text"?pt(ot):pt(Ee,-1)})}E(Ae,ke)}),E(B,Y)};U(ui,B=>{u(s)!==null&&B(ci)})}Is(re,B=>Gt=B,()=>Gt);var ie=x(re,2);{var be=B=>{var Y=$q(),xe=k(Y);G(()=>q(xe,u(c))),E(B,Y)};U(ie,B=>{u(c)&&B(be)})}var Ge=x(ie,2),ct=k(Ge),Ct=k(ct),et=x(ct,2),It=k(et),Zt=x(et,2),si=k(Zt),ri=x(si);{var hn=B=>{const Y=nt(()=>Math.min(100,Math.round(u(Ci)/4/u(H).contextLength*100)));var xe=qq(),Ae=k(xe),Me=x(k(Ae));G((ke,Dt)=>{gn(xe,"title",`~${u(Y)??""}% of ${ke??""} token context window used`),gn(Me,"stroke",u(Y)>80?"var(--fg-err)":u(Y)>50?"var(--fg-warn)":"var(--fg-ok)"),gn(Me,"stroke-dasharray",`${Dt??""} 31.4`)},[()=>u(H).contextLength.toLocaleString(),()=>(u(Y)/100*31.4).toFixed(1)]),E(B,xe)};U(ri,B=>{var Y;(Y=u(H))!=null&&Y.contextLength&&B(hn)})}var yn=x(Ge,2),Gi=k(yn);{var oi=B=>{const Y=nt(()=>on(t().path.split("/").pop()??t().path));var xe=Kq();let Ae;var Me=k(xe),ke=k(Me),Dt=x(Me,2),ot=k(Dt),Ee=x(Dt,2),pt=k(Ee);G((Oe,pe)=>{Ae=$t(xe,1,"file-chip svelte-10ayso4",null,Ae,{inactive:!u(at)}),$t(Me,1,`badge badge-${Oe??""}`,"svelte-10ayso4"),q(ke,pe),q(ot,t().path),gn(Ee,"title",u(at)?"Remove from context":"Re-add to context"),q(pt,u(at)?"×":"+")},[()=>u(Y).toLowerCase(),()=>_n(u(Y))]),Q("click",Ee,()=>C(at,!u(at))),E(B,xe)};U(Gi,B=>{t()&&B(oi)})}var st=x(Gi,2);gi(st,17,i,Nn,(B,Y,xe)=>{const Ae=nt(()=>on(u(Y).name));var Me=Gq(),ke=k(Me),Dt=k(ke),ot=x(ke,2),Ee=k(ot),pt=x(ot,2);G((Oe,pe)=>{$t(ke,1,`badge badge-${Oe??""}`,"svelte-10ayso4"),q(Dt,pe),q(Ee,u(Y).name)},[()=>u(Ae).toLowerCase(),()=>_n(u(Ae))]),Q("click",pt,()=>rn(xe)),E(B,Me)});var N=x(st,2),K=x(N,2);Is(K,B=>Ut=B,()=>Ut);var Ce=x(yn,2);let Pe;var Ve=k(Ce);let Te;var tt=k(Ve);Is(tt,B=>Fe=B,()=>Fe);var Vt=x(Ve,2);{var ue=B=>{var Y=Zq();Q("click",Y,zn),E(B,Y)},Le=B=>{var Y=Xq();G(xe=>Y.disabled=xe,[()=>!u(r).trim()||!u(Yt)]),Q("click",Y,Pi),E(B,Y)};U(Vt,B=>{u(a)?B(ue):B(Le,-1)})}var ft=x(Ce,2);{var Re=B=>{var Y=tK(),xe=k(Y),Ae=k(xe),Me=x(xe,2);{var ke=pt=>{var Oe=Qq();gi(Oe,21,()=>u(w),Nn,(pe,ye)=>{var ge=Yq(),me=k(ge),Ye={};G(()=>{q(me,u(ye)),Ye!==(Ye=u(ye))&&(ge.value=(ge.__value=u(ye))??"")}),E(pe,ge)}),G(()=>Oe.disabled=u(a)),Zr(Oe,()=>u(S),pe=>C(S,pe)),E(pt,Oe)},Dt=pt=>{var Oe=Jq(),pe=k(Oe);G(()=>q(pe,u(S)||u(h).model)),E(pt,Oe)};U(Me,pt=>{u(w).length>0?pt(ke):pt(Dt,-1)})}var ot=x(Me,2);{var Ee=pt=>{var Oe=eK();Q("click",Oe,Ki),E(pt,Oe)};U(ot,pt=>{u(h).provider==="ollama"&&pt(Ee)})}G(()=>q(Ae,u(h).provider)),E(B,Y)};U(ft,B=>{var Y;(Y=u(h))!=null&&Y.provider&&(u(Lt)||u(w).length>0)&&B(Re)})}var dt=x(Ke,2);{var wt=B=>{var Y=gK(),xe=k(Y),Ae=k(xe),Me=k(Ae),ke=k(Me),Dt=x(Me,2),ot=x(Ae,2),Ee=k(ot);{var pt=ye=>{var ge=iK();E(ye,ge)},Oe=ye=>{var ge=nK(),me=k(ge);G(()=>q(me,u(X))),E(ye,ge)},pe=ye=>{var ge=uK(),me=k(ge);{var Ye=Ii=>{var qt=sK(),nn=x(_t(qt)),zi=k(nn);G(()=>q(zi,u(H).version)),E(Ii,qt)};U(me,Ii=>{u(H).version&&Ii(Ye)})}var le=x(me,2);{var Ne=Ii=>{var qt=oK(),nn=x(_t(qt)),zi=k(nn);G(()=>q(zi,u(H).details.family)),E(Ii,qt)};U(le,Ii=>{var qt;(qt=u(H).details)!=null&&qt.family&&Ii(Ne)})}var Qe=x(le,2);{var rt=Ii=>{var qt=rK(),nn=x(_t(qt)),zi=k(nn);G(()=>q(zi,u(H).details.parameter_size)),E(Ii,qt)};U(Qe,Ii=>{var qt;(qt=u(H).details)!=null&&qt.parameter_size&&Ii(rt)})}var We=x(Qe,2);{var Ot=Ii=>{var qt=aK(),nn=x(_t(qt)),zi=k(nn);G(()=>q(zi,u(H).details.quantization_level)),E(Ii,qt)};U(We,Ii=>{var qt;(qt=u(H).details)!=null&&qt.quantization_level&&Ii(Ot)})}var zt=x(We,2);{var vn=Ii=>{var qt=lK(),nn=x(_t(qt)),zi=k(nn);G(()=>q(zi,u(H).details.format)),E(Ii,qt)};U(zt,Ii=>{var qt;(qt=u(H).details)!=null&&qt.format&&Ii(vn)})}var Ui=x(zt,2);{var Ln=Ii=>{var qt=dK(),nn=x(_t(qt),2);gi(nn,21,()=>u(H).running,Nn,(zi,rs)=>{var oo=cK(),jo=k(oo);G(Mr=>q(jo,`${u(rs).name??""} · ${Mr??""} VRAM`),[()=>pi(u(rs).size_vram)]),E(zi,oo)}),E(Ii,qt)},Qn=Ii=>{var qt=hK();E(Ii,qt)};U(Ui,Ii=>{u(H).running&&u(H).running.length>0?Ii(Ln):u(H).running!==null&&Ii(Qn,1)})}E(ye,ge)};U(Ee,ye=>{u(J)?ye(pt):u(X)?ye(Oe,1):u(H)&&ye(pe,2)})}G(()=>{var ye;return q(ke,`Ollama · ${(u(S)||((ye=u(h))==null?void 0:ye.model))??""}`)}),Q("click",Y,()=>C(V,!1)),Q("click",xe,ye=>ye.stopPropagation()),Q("click",Dt,()=>C(V,!1)),E(B,Y)};U(dt,B=>{u(V)&&B(wt)})}G(B=>{oe=$t(O,1,"icon-hdr-btn svelte-10ayso4",null,oe,{active:u(_)}),q(si,B),Pe=$t(Ce,1,"input-row svelte-10ayso4",null,Pe,{"drag-over":u(hi)}),Te=$t(Ve,1,"textarea-wrap svelte-10ayso4",null,Te,{loading:u(a)}),gn(tt,"placeholder",u(Yt)?"Ask anything… (Enter to send, Shift+Enter for newline, drag & drop files to add context)":u(Lt)?"Select a model above to start chatting":"AI not configured"),tt.disabled=u(a)||!u(Yt)},[()=>pi(u(Ci))]),Q("click",O,()=>C(_,!u(_))),Vs(Ct,()=>u(ut),B=>C(ut,B)),Vs(It,()=>u(mt),B=>C(mt,B)),Q("click",N,$n),Q("change",K,dn),cs("dragover",Ce,Fn),cs("dragleave",Ce,ji),cs("drop",Ce,Xn),Q("keydown",tt,Hn),Mi(tt,()=>u(r),B=>C(r,B)),E(o,Z),Vo()}Pr(["click","change","keydown"]);const mK={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"]},_K={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 T0=[],M0=[],N0=[];const fb=new Map;let ZR=[];const R0=new Map,A0=new Map;async function $D(){try{T0=(await IR()).map(e=>e.topic)}catch{}}async function qD(){try{const[o,e]=await Promise.all([CR(),xR()]);M0=o,N0=e}catch{}}async function KD(){try{const o=await kR();ZR=o.map(e=>e.nodeId),R0.clear(),A0.clear();for(const e of o)e.name&&(R0.set(e.nodeId,e.name),A0.set(e.name,e.nodeId));await Promise.all(o.map(async e=>{if(!fb.has(e.nodeId))try{fb.set(e.nodeId,await $_(e.nodeId))}catch{}}))}catch{}}function vK(o){const e=/(?:she\.mqtt\.(?:sub|pub|get|set|link|age|getProp|or|and|max|min|timer)|she\.(?:getValue|setValue|getProp))\s*\([^)]*?['"]([^'"]*)\s*$/,t=o.match(e);if(t)return{type:"mqtt",prefix:t[1]};const i=/she\.db\.sub\s*\([^)]*?['"]([^'"]*)\s*$/,n=o.match(i);if(n)return{type:"db",prefix:n[1],includeViews:!0};const s=/she\.db\.(?:get|set|extend|delete|prop|query)\s*\([^)]*?['"]([^'"]*)\s*$/,r=o.match(s);if(r)return{type:"db",prefix:r[1],includeViews:!1};const a=/she\.matter\.(?:sub|get|send|on)\s*\(\s*(.*)\s*$/,c=o.match(a);if(c){const h=c[1],g=bK(h),f=yK(h);if(g===0)return{type:"matter-nodeId",prefix:f};if(g===1){const p=cu(h,0);if(p)return{type:"matter-endpointId",nodeId:p}}if(g===2){const p=cu(h,0),v=GD(h,1)??cu(h,1);if(p&&v!==null)return{type:"matter-cluster",nodeId:p,endpointId:v}}if(g>=3){const p=cu(h,0),v=GD(h,1)??cu(h,1),_=cu(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 bK(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 yK(o){const e=o.match(/['"]([^'"]*)\s*$/);return e?e[1]:""}function cu(o,e){var s;const i=(s=XR(o)[e])==null?void 0:s.trim();if(!i)return null;const n=i.match(/^['"](.*)['"]$/);return n?n[1]:null}function GD(o,e){var s;const i=(s=XR(o)[e])==null?void 0:s.trim();if(!i)return null;const n=parseInt(i,10);return isNaN(n)?null:n}function XR(o){const e=[];let t="",i=0,n=!1,s="";for(const r of o){if(n){r===s&&(n=!1),t+=r;continue}if(r==='"'||r==="'"){n=!0,s=r,t+=r;continue}if(r==="("||r==="["||r==="{"){i++,t+=r;continue}if(r===")"||r==="]"||r==="}"){i--,t+=r;continue}if(r===","&&i===0){e.push(t),t="";continue}t+=r}return e.push(t),e}const Ph=ed.CompletionItemKind;function wK(o,e){return(e?T0.filter(i=>i.startsWith(e)):T0).map(i=>({label:i,kind:Ph.Value,insertText:i,range:o,detail:"MQTT topic",sortText:"0"+i}))}function SK(o,e,t){const i=t?[...M0,...N0]:M0;return(e?i.filter(s=>s.startsWith(e)):i).map(s=>({label:s,kind:Ph.Value,insertText:s,range:o,detail:N0.includes(s)?"sheDB view":"sheDB document",sortText:"0"+s}))}function CK(o,e){return ZR.map(t=>{const i=R0.get(t)??t;return e&&!i.startsWith(e)&&!t.startsWith(e)?null:{label:i,kind:Ph.Value,insertText:i,range:o,detail:i!==t?`Node ID: ${t}`:"Matter node",sortText:"0"+i}}).filter(Boolean)}function YR(o){return A0.get(o)??o}function xK(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 LK(o,e){const t=fb.get(YR(e));return t?t.endpoints.map(i=>{const n=i.name??String(i.endpointId),s=i.clusters.map(r=>r.name).join(", ");return{label:n,kind:Ph.Value,insertText:n,range:o,detail:i.name?`Endpoint ${i.endpointId} — ${s}`:`Clusters: ${s}`,sortText:"0"+String(i.endpointId).padStart(4,"0")}}):[]}function kK(o,e,t){const i=fb.get(YR(e));if(!i)return[];const n=xK(i,t);return n?n.clusters.map(s=>({label:s.name,kind:Ph.Value,insertText:s.name,range:o,detail:"Matter cluster",sortText:"0"+s.name})):[]}function IK(o,e,t){return(t?_K[e]??[]:mK[e]??[]).map(n=>({label:n,kind:t?Ph.Function:Ph.Property,insertText:n,range:o,detail:t?`${e} command`:`${e} attribute`,sortText:"0"+n}))}let ZD=!1;function DK(){ZD||(ZD=!0,$D(),qD(),KD(),setInterval($D,15e3),setInterval(qD,1e4),setInterval(KD,6e4),ed.registerCompletionItemProvider("javascript",{triggerCharacters:["'",'"',"(",","," "],provideCompletionItems(o,e){const t=o.getValueInRange({startLineNumber:e.lineNumber,startColumn:1,endLineNumber:e.lineNumber,endColumn:e.column}),i=vK(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:wK(a,i.prefix)};case"db":return{suggestions:SK(a,i.prefix,i.includeViews)};case"matter-nodeId":return{suggestions:CK(a,i.prefix)};case"matter-endpointId":return{suggestions:LK(a,i.nodeId)};case"matter-cluster":return{suggestions:kK(a,i.nodeId,i.endpointId)};case"matter-attr":return{suggestions:IK(a,i.cluster,i.isSend)};default:return null}}}))}var EK=M('<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),PK=M('<button class="svelte-1pyfjii">Show git history</button>'),TK=M('<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),MK=M('<div class="ctx-backdrop svelte-1pyfjii" role="presentation"></div> <div class="ctx-menu svelte-1pyfjii"><!></div>',1),NK=M('<div class="lib-tip-float svelte-1pyfjii">Library directory — files here are not auto-loaded as scripts</div>'),XD=M('<span class="git-mod svelte-1pyfjii" title="Uncommitted changes">M</span>'),RK=M('<ul class="tree-children svelte-1pyfjii"></ul>'),AK=M('<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>'),OK=M('<span class="dirty-dot svelte-1pyfjii">●</span>'),FK=M('<span class="run-dot svelte-1pyfjii" title="Running">●</span>'),HK=M('<span class="err-dot svelte-1pyfjii">●</span>'),WK=M('<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>'),BK=M('<span class="dis-spacer svelte-1pyfjii"></span>'),zK=M('<li draggable="true"><div class="file-row svelte-1pyfjii"><button><span> </span> <span class="fname svelte-1pyfjii"> </span> <!><!> <!> <!></button> <!></div></li>'),VK=M('<div class="err svelte-1pyfjii"> </div>'),jK=M('<div class="history-empty svelte-1pyfjii">Loading…</div>'),UK=M('<div class="history-empty svelte-1pyfjii">No commits found.</div>'),$K=M('<button class="history-row svelte-1pyfjii"><span class="history-subject svelte-1pyfjii"> </span> <span class="history-meta svelte-1pyfjii"> </span></button>'),qK=M('<button class="history-load-more svelte-1pyfjii"> </button>'),KK=M("<!> <!>",1),GK=M('<div class="history-panel svelte-1pyfjii"><div class="history-resize-handle svelte-1pyfjii" role="separator"></div> <div class="history-hdr svelte-1pyfjii"><span class="history-title svelte-1pyfjii"> </span> <button class="history-close svelte-1pyfjii">✕</button></div> <div class="history-body svelte-1pyfjii"><!></div></div>'),ZK=M('<span class="tab-dirty svelte-1pyfjii">●</span>'),XK=M('<div role="button" tabindex="0"><span class="tab-label svelte-1pyfjii"> </span> <!> <button class="tab-close svelte-1pyfjii" title="Close">×</button></div>'),YK=M('<div class="tab-bar svelte-1pyfjii"></div>'),QK=M('<li class="changes-item svelte-1pyfjii"><input type="checkbox" class="changes-check svelte-1pyfjii"/> <span class="changes-status svelte-1pyfjii"> </span> <span class="changes-file svelte-1pyfjii"> </span></li>'),JK=M('<div class="changes-err svelte-1pyfjii"> </div>'),eG=M('<div class="changes-backdrop svelte-1pyfjii" role="presentation"></div> <div class="changes-popup svelte-1pyfjii"><div class="changes-popup-hdr svelte-1pyfjii">Uncommitted changes</div> <ul class="changes-list svelte-1pyfjii"></ul> <div class="changes-commit-row svelte-1pyfjii"><input class="changes-msg-input svelte-1pyfjii" type="text" placeholder="Commit message…"/> <button class="changes-commit-btn svelte-1pyfjii"> </button></div> <!></div>',1),tG=M('<div class="changes-wrap svelte-1pyfjii"><button class="git-changes svelte-1pyfjii"> </button> <!></div>'),iG=M('<div class="changes-backdrop svelte-1pyfjii" role="presentation"></div> <div class="changes-popup svelte-1pyfjii"><div class="changes-popup-hdr svelte-1pyfjii"> </div> <div class="changes-commit-row svelte-1pyfjii"><button class="changes-commit-btn svelte-1pyfjii">Push</button></div></div>',1),nG=M('<div class="changes-wrap svelte-1pyfjii"><button class="git-ahead svelte-1pyfjii"> </button> <!></div>'),sG=M('<span class="git-behind svelte-1pyfjii"> </span>'),oG=M('<span class="git-status svelte-1pyfjii"><span class="git-branch svelte-1pyfjii"> </span> <!> <!> <!></span>'),rG=M('<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 &amp; Commit</button></div>',1),aG=M('<button class="danger svelte-1pyfjii">Delete</button>'),lG=M(`<div class="welcome svelte-1pyfjii"><div class="welcome-inner svelte-1pyfjii"><div class="welcome-logo svelte-1pyfjii">she</div> <p class="welcome-sub svelte-1pyfjii">Smart Home Engine — a scriptable smart home automation engine</p> <div class="welcome-hint svelte-1pyfjii"><strong>Quick start:</strong> click <kbd class="svelte-1pyfjii">+ File</kbd> in the sidebar to create your first script,
152
- or click an existing file to open it. Scripts run in a sandboxed VM with access to the <code class="svelte-1pyfjii">she</code> object for MQTT, scheduling, and more.</div> <div class="welcome-links svelte-1pyfjii"><a href="https://github.com/hobbyquaker/she" target="_blank" rel="noopener" class="svelte-1pyfjii">GitHub</a> <span class="svelte-1pyfjii">·</span> <a href="https://github.com/hobbyquaker/she/blob/main/doc/sandbox-api.md" target="_blank" rel="noopener" class="svelte-1pyfjii">API reference</a> <span class="svelte-1pyfjii">·</span> <a href="https://github.com/hobbyquaker/she/blob/main/README.md" target="_blank" rel="noopener" class="svelte-1pyfjii">README</a></div> <div class="welcome-shortcuts svelte-1pyfjii"><div class="welcome-shortcuts-title svelte-1pyfjii">Keyboard shortcuts</div> <div class="welcome-shortcuts-grid svelte-1pyfjii"><span class="keys svelte-1pyfjii"><kbd class="svelte-1pyfjii">Ctrl</kbd><kbd class="svelte-1pyfjii">S</kbd></span><span class="svelte-1pyfjii">Save</span> <span class="keys svelte-1pyfjii"><kbd class="svelte-1pyfjii">Ctrl</kbd><kbd class="svelte-1pyfjii">F</kbd></span><span class="svelte-1pyfjii">Find</span> <span class="keys svelte-1pyfjii"><kbd class="svelte-1pyfjii">Ctrl</kbd><kbd class="svelte-1pyfjii">H</kbd></span><span class="svelte-1pyfjii">Find &amp; Replace</span> <span class="keys svelte-1pyfjii"><kbd class="svelte-1pyfjii">Ctrl</kbd><kbd class="svelte-1pyfjii">G</kbd></span><span class="svelte-1pyfjii">Go to line</span> <span class="keys svelte-1pyfjii"><kbd class="svelte-1pyfjii">Ctrl</kbd><kbd class="svelte-1pyfjii">Z</kbd></span><span class="svelte-1pyfjii">Undo</span> <span class="keys svelte-1pyfjii"><kbd class="svelte-1pyfjii">Ctrl</kbd><kbd class="svelte-1pyfjii">Shift</kbd><kbd class="svelte-1pyfjii">Z</kbd></span><span class="svelte-1pyfjii">Redo</span> <span class="keys svelte-1pyfjii"><kbd class="svelte-1pyfjii">Ctrl</kbd><kbd class="svelte-1pyfjii">/</kbd></span><span class="svelte-1pyfjii">Toggle comment</span> <span class="keys svelte-1pyfjii"><kbd class="svelte-1pyfjii">Alt</kbd><kbd class="svelte-1pyfjii">↑ / ↓</kbd></span><span class="svelte-1pyfjii">Move line up / down</span></div></div></div></div>`),cG=M('<button class="svelte-1pyfjii">Always accept in this session</button>'),dG=M('<button class="svelte-1pyfjii">Disable auto-accept</button>'),hG=M('<div class="split-backdrop svelte-1pyfjii" role="presentation"></div> <div class="split-menu svelte-1pyfjii"><!></div>',1),uG=M('<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>'),gG=M('<div class="history-diff-notice svelte-1pyfjii">Binary file — diff not available.</div>'),fG=M('<div class="diff-container svelte-1pyfjii"></div>'),pG=M('<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>'),mG=M('<div class="log-resize-handle svelte-1pyfjii" role="separator"></div>'),_G=M('<span class="log-file svelte-1pyfjii"> </span>'),vG=M("<option> </option>"),bG=M('<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),yG=M('<div><span class="ts svelte-1pyfjii"> </span> <span class="lvl svelte-1pyfjii"> </span> <span class="msg svelte-1pyfjii"> </span></div>'),wG=M('<span class="log-empty svelte-1pyfjii">No log output for this script.</span>'),SG=M('<div class="log-body svelte-1pyfjii"><!> <!></div>'),CG=M('<div class="chat-resize-handle svelte-1pyfjii" role="separator"></div> <div class="chat-container svelte-1pyfjii"><!></div>',1),xG=M('<!> <!> <!> <!> <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 LG(o,e){zo(e,!0);let t=W(li([])),i=W(li({})),n=W(null),s=W(null),r=W(null),a=W(null),c=W(li([])),h=W(null),g=W(!1),f=W(""),p=W(!1),v=W(!0),_=W(null),w=W(!1),S=W(!1),D=W(null),P=W(li([])),A=W(!1),V=W(30),H=W(void 0),J=null,X=null,fe=null,Ie=W(!1),Be=W(""),Se=W(!1),ut=W(void 0),mt=W(li(new Set));const at=new Set;let hi=W(li(new Set)),Ut=W(li([])),ti=W("all"),Fe=W(""),Gt=W(!1);const Je=["all","debug","info","warn","error"],Lt={debug:0,info:1,warn:2,error:3};function Yt(F){if(u(ti)!=="all"&&Lt[F.level]<Lt[u(ti)])return!1;if(!u(Fe))return!0;if(u(Gt))try{return new RegExp(u(Fe),"i").test(F.msg)}catch{}return F.msg.toLowerCase().includes(u(Fe).toLowerCase())}let Ci=W(null);function xi(F){const ee=F.currentTarget.getBoundingClientRect();C(Ci,{x:ee.left,y:ee.top},!0)}function ii(){C(Ci,null)}let Nt,Ri,vt,vi=!1,ai=null,Vi=null,Qi=!1,Ji=!1,cn=W(!1),Li=W(null),ni=W(!1),pi=W(!1),Ki=W(void 0),on=null,_n=null,rn=null,$n=W(li(parseInt(localStorage.getItem("she-scripts-sidebar-width")??"220",10))),en=W(li(parseInt(localStorage.getItem("she-scripts-log-height")??"130",10))),dn=W(li(parseInt(localStorage.getItem("she-scripts-chat-width")??"340",10))),Xn=W(li(parseInt(localStorage.getItem("she-scripts-history-height")??"220",10))),Fn=!1,ji=0,qn=0,He=!1,Wt=0,ei=0,ki=!1,Pi=0,zn=0,Hn=!1,Yn=0,xn=0;const qe=nt(()=>{var F;return u(h)&&u(re)?{path:u(h),content:((F=u(re).model)==null?void 0:F.getValue())??u(re).savedContent}:null}),Z=nt(()=>{var F;return new Set(((F=u(_))==null?void 0:F.changes.map(ee=>ee.file))??[])}),Ke=nt(()=>{const F=new Set;for(const ee of u(Z)){const ve=ee.split("/");for(let ae=1;ae<ve.length;ae++)F.add(ve.slice(0,ae).join("/"))}return F});let St=W(!1),kt=W(!1),jt=W(""),O=W(!1),oe=W(""),_e=W(li(new Set));async function Xe(){var F;if(!(!u(jt).trim()||u(_e).size===0)){C(O,!0),C(oe,"");try{const ee=u(_).changes.filter(ve=>u(_e).has(ve.file)).map(ve=>ve.file);if(ee.length===u(_).changes.length?await kD(u(jt).trim()):await LD(ee,u(jt).trim()),u(S))try{await __()}catch{}C(jt,""),await It(),(F=u(_))!=null&&F.changes.length?C(_e,new Set(u(_).changes.map(ve=>ve.file)),!0):C(St,!1)}catch(ee){C(oe,ee.message,!0)}finally{C(O,!1)}}}let it,$,re=nt(()=>u(c).find(F=>F.path===u(h))??null);const de="she-tabs",ze="she-active-tab",Bt="she-log-open",lt="she-chat-open";let De=vg(e,"active",3,!0);Wn(()=>{Ji&&(localStorage.setItem(de,JSON.stringify(u(c).map(F=>F.path))),u(h)?localStorage.setItem(ze,u(h)):localStorage.removeItem(ze))}),Wn(()=>{Ji&&localStorage.setItem(lt,String(u(cn)))}),Wn(()=>{De()&&Ri&&Ri.layout()});const Rt=`
153
- declare const she: {
154
- log(...args: any[]): void;
155
- info(...args: any[]): void;
156
- debug(...args: any[]): void;
157
- warn(...args: any[]): void;
158
- error(...args: any[]): void;
159
- now(): number;
160
- /** Schedule with a cron string, Date, node-schedule literal, array of any of those,
161
- * or a suncalc event name ('sunrise', 'sunset', 'dawn', 'dusk', …) for solar scheduling.
162
- * opts.shift (seconds) offsets solar events; opts.random adds a random delay. */
163
- schedule(pattern: string | Date | object | (string | Date | object)[], opts?: { shift?: number; random?: number }, cb?: () => void): void;
164
- mqtt: {
165
- sub(topic: string | string[], opts?: any, cb?: (topic: string, val: any, obj: any, prev: any, msg: any) => void): void;
166
- pub(topic: string | string[], payload: any, opts?: { qos?: number; retain?: boolean }): void;
167
- get(topic: string): any;
168
- getProp(topic: string, ...prop: string[]): any;
169
- link(source: string | string[], target: string | string[], value?: any): void;
170
- age(topic: string): number;
171
- or(srcs: string[], target: string | ((topic: string | null, val: 0 | 1) => void)): void;
172
- and(srcs: string[], target: string | ((topic: string | null, val: 0 | 1) => void)): void;
173
- max(srcs: string[], target: string | ((topic: string | null, val: number) => void)): void;
174
- min(srcs: string[], target: string | ((topic: string | null, val: number) => void)): void;
175
- timer(src: string | string[], ms: number, target: string | ((topic: string | null, val: 0 | 1) => void)): void;
176
- };
177
- http: {
178
- fetch(url: string, opts?: RequestInit): Promise<any>;
179
- sub(path: string, callback: (body: any, req: { params: any; query: any; headers: any }) => any): void;
180
- };
181
- api: {
182
- get(path: string, handler: (req: any) => any): void;
183
- post(path: string, handler: (req: any, body: any) => any): void;
184
- put(path: string, handler: (req: any, body: any) => any): void;
185
- delete(path: string, handler: (req: any) => any): void;
186
- };
187
- db: {
188
- get(id: string): any;
189
- set(id: string, doc: object): void;
190
- extend(id: string, partial: object): void;
191
- delete(id: string): void;
192
- prop(id: string, method: 'set' | 'create' | 'del', prop: string, val?: any): void;
193
- sub(pattern: string, callback: (id: string, doc: any) => void): void;
194
- query(filter: string | null, mapFn: Function, reduceFn?: Function): any[];
195
- };
196
- matter: {
197
- sub(nodeId: string, endpointId: number, cluster: string, attr: string, cb: (val: any, old: any) => void): number;
198
- unsub(listenerId: number): void;
199
- get(nodeId: string, endpointId: number, cluster: string, attr: string): Promise<any>;
200
- send(nodeId: string, endpointId: number, cluster: string, command: string, args?: object): Promise<any>;
201
- on(nodeId: string, endpointId: number, cluster: string, event: string, cb: (val: any) => void): number;
202
- };
203
- influx: {
204
- query(fluxQuery: string): Promise<any[]>;
205
- write(measurement: string, fields: object, tags?: object, timestamp?: number | Date): Promise<void>;
206
- getLast(topic: string, n: number): Promise<Array<{ ts: number; val: any }>>;
207
- getRange(topic: string, from: number | string | Date, to: number | string | Date): Promise<Array<{ ts: number; val: any }>>;
208
- };
209
- elastic: {
210
- search(index: string, query: object): Promise<{ hits: any[]; total: number }>;
211
- get(index: string, id: string): Promise<object | null>;
212
- index(index: string, doc: object, id?: string): Promise<{ id: string }>;
213
- find(index: string, field: string, text: string, size?: number): Promise<any[]>;
214
- };
215
- };
216
- `;function Qt(F){u(c).some(ee=>ee.dirty)&&F.preventDefault()}Tr(async()=>{var ae;window.addEventListener("beforeunload",Qt),C(v,localStorage.getItem(Bt)!=="false"),C(cn,localStorage.getItem(lt)==="true"),ed.typescript.javascriptDefaults.addExtraLib(Rt,"she-api.d.ts"),ed.typescript.javascriptDefaults.setCompilerOptions({target:ed.typescript.ScriptTarget.ES2022,allowNonTsExtensions:!0,checkJs:!0}),ed.typescript.javascriptDefaults.setDiagnosticsOptions({noSyntaxValidation:!1,noSemanticValidation:!0}),DK(),vt=ar.createModel("","javascript"),Ri=ar.create(Nt,{model:vt,theme:"vs-dark",automaticLayout:!0,minimap:{enabled:!1},fontSize:14,lineNumbers:"on",scrollBeyondLastLine:!1}),Ri.onDidChangeModelContent(()=>{if(vi)return;const Ze=u(c).find(Et=>Et.path===u(h));Ze&&(Ze.dirty=Ri.getValue()!==Ze.savedContent),pt&&clearTimeout(pt),pt=setTimeout(Oe,600)}),ai=vL(Ze=>{const Et=Ze.msg.match(/^([^:\n]+\.js):\s/);if(!Et)return;const Ft=Et[1];if(Ze.level==="error")at.add(Ft),u(mt).has(Ft)||C(mt,new Set([...u(mt),Ft]),!0);else if(at.has(Ft)){at.delete(Ft);const bi=new Set(u(mt));bi.delete(Ft),C(mt,bi,!0)}const Oi=u(c).find(bi=>bi.path===Ft);Oi&&(Oi.logEntries=[...Oi.logEntries.slice(-199),Ze],Oi.path===u(h)&&u(v)&&u(ut)&&T_().then(()=>{u(ut)&&(u(ut).scrollTop=u(ut).scrollHeight)}))}),Vi=Sr("script:running",Ze=>{const Et=Ze.path;if(Ze.running)C(hi,new Set([...u(hi),Et]),!0);else{const Ft=new Set(u(hi));Ft.delete(Et),C(hi,Ft,!0)}}),await At(),It();try{const Ze=await Rg();typeof Ze.gitAutoCommit=="boolean"&&C(w,Ze.gitAutoCommit,!0),typeof Ze.gitAutoPush=="boolean"&&C(S,Ze.gitAutoPush,!0)}catch{}try{const Ze=await getDaemonStatus();C(hi,new Set(Ze.runningScripts??[]),!0)}catch{}const F=JSON.parse(localStorage.getItem(de)??"[]"),ee=localStorage.getItem(ze);for(const Ze of F)await Ge(Ze,!1);const ve=ee&&u(c).some(Ze=>Ze.path===ee)?ee:((ae=u(c)[0])==null?void 0:ae.path)??null;ve&&await Ct(ve),Ji=!0}),Ry(()=>{var F;window.removeEventListener("beforeunload",Qt),pt&&clearTimeout(pt),ai==null||ai(),Vi==null||Vi();for(const ee of u(c))(F=ee.model)==null||F.dispose();vt==null||vt.dispose(),Ri==null||Ri.dispose()});async function At(){try{if(C(t,await e7(),!0),!Qi){let ee=function(ve){for(const ae of ve)ae.type==="dir"&&(F[ae.path]=!0,ae.children&&ee(ae.children))};Qi=!0;const F={};ee(u(t)),C(i,F,!0)}C(f,"")}catch(F){C(f,F.message,!0)}}function ui(F){u(i)[F]=!u(i)[F]}function ci(F){switch(F){case"SH":case"BASH":return"$";case"MD":case"MARKDOWN":return"⇓";case"JSON":case"JSONC":return"{}";default:return F}}async function ie(F,ee){try{ee?await Xc(`${F}/.shelib`,""):await m_(`${F}/.shelib`),await At(),await Zt("all",ee?`lib ${F}`:`unlib ${F}`)}catch(ve){C(f,ve.message,!0)}}async function be(F,ee){const ve=F.split("/").pop(),ae=F.includes("/")?F.slice(0,F.lastIndexOf("/")):"",Ze=ae?`${ae}/.shedisable-${ve}`:`.shedisable-${ve}`;try{ee?await Xc(Ze,""):await m_(Ze),await At(),await Zt("all",ee?`disable ${F}`:`enable ${F}`)}catch(Et){C(f,Et.message,!0)}}async function Ge(F,ee=!0){var ve;if(u(c).some(ae=>ae.path===F)){ee&&await Ct(F);return}try{const{content:ae}=await rS(F),Ze=$F.parse(`file:///she-scripts/${encodeURIComponent(F)}`);(ve=ar.getModel(Ze))==null||ve.dispose();const Et=ar.createModel(ae,Ee(F),Ze);C(c,[...u(c),{path:F,dirty:!1,savedContent:ae,model:Et,logEntries:[]}],!0),ee&&await Ct(F)}catch(ae){C(f,ae.message,!0)}}async function ct(F){await Ge(F,!0)}async function Ct(F){const ee=u(c).find(ve=>ve.path===F);ee!=null&&ee.model&&(Ce(),C(Li,null),C(h,F,!0),vi=!0,Ri.setModel(ee.model),vi=!1,Oe())}async function et(F){var ae;const ee=u(c).find(Ze=>Ze.path===F);if(!ee||ee.dirty&&!await it.show(`Discard unsaved changes to ${F}?`,{confirm:"Discard"}))return;const ve=u(c).findIndex(Ze=>Ze.path===F);if((ae=ee.model)==null||ae.dispose(),C(c,u(c).filter(Ze=>Ze.path!==F),!0),u(h)===F){const Ze=u(c)[ve]??u(c)[ve-1]??null;Ze?await Ct(Ze.path):(C(h,null),Ri.setModel(vt))}}async function It(){try{C(_,await i7(),!0)}catch{C(_,null)}}async function Zt(F,ee){if(u(_))try{if(F==="all"?await kD(ee):await LD(F,ee),u(S))try{await __()}catch{}await It()}catch{}}async function si(){if(!u(h))return;const F=u(c).find(ee=>ee.path===u(h));if(F){C(g,!0);try{const ee=Ri.getValue();await Xc(u(h),ee),F.savedContent=ee,F.dirty=!1,C(f,""),u(w)?await Zt([u(h)],`update ${u(h)}`):It()}catch(ee){C(f,ee.message,!0)}finally{C(g,!1)}}}async function ri(){if(!u(h)||(await si(),u(f)))return;const F=await $.show("Commit message:",{initial:`update ${u(h)}`,placeholder:"Update script",confirm:"Commit"});if(F)try{if(await o7(u(h),F),u(S))try{await __()}catch{}It()}catch(ee){C(f,"Git: "+ee.message)}}async function hn(){C(p,!1);try{await __(),await It(),C(f,"")}catch(F){C(f,"Git push: "+F.message)}}function yn(F){const ee=Date.now()-new Date(F).getTime(),ve=Math.floor(ee/1e3);if(ve<60)return"just now";const ae=Math.floor(ve/60);if(ae<60)return`${ae}m ago`;const Ze=Math.floor(ae/60);if(Ze<24)return`${Ze}h ago`;const Et=Math.floor(Ze/24);if(Et<30)return`${Et}d ago`;const Ft=Math.floor(Et/30);return Ft<12?`${Ft}mo ago`:`${Math.floor(Ft/12)}y ago`}async function Gi(F){tt(),C(D,F,!0),C(P,[],!0),C(V,30),await oi()}async function oi(){if(u(D)){C(A,!0);try{C(P,await r7(u(D).path,u(V)),!0)}catch{}finally{C(A,!1)}}}async function st(){C(V,u(V)+30),await oi()}function N(){C(D,null),C(P,[],!0),Ce()}async function K(F){if(!u(D))return;Ce(),await ct(u(D).path);let ee;try{ee=await a7(F.hash,u(D).path)}catch{return}if(C(Be,F.hash,!0),C(Se,ee.binary,!0),C(Ie,!0),ee.binary||ee.content===null)return;let ve="";const ae=u(c).find(Et=>Et.path===u(D).path);if(ae!=null&&ae.model)ve=ae.model.getValue();else try{ve=(await rS(u(D).path)).content}catch{}if(await T_(),!u(H))return;const Ze=Ee(u(D).path);X=ar.createModel(ee.content,Ze),fe=ar.createModel(ve,Ze),J=ar.createDiffEditor(u(H),{theme:"vs-dark",readOnly:!0,renderSideBySide:!0,automaticLayout:!0,minimap:{enabled:!1},fontSize:13,scrollBeyondLastLine:!1}),J.setModel({original:X,modified:fe})}function Ce(){C(Ie,!1),C(Se,!1),J==null||J.dispose(),J=null,X==null||X.dispose(),X=null,fe==null||fe.dispose(),fe=null}async function Pe(){const F=u(n)?`${u(n)}/`:"",ee=await $.show("New script name:",{placeholder:F?`${F}myscript.js`:"myscript.js",initial:F,confirm:"Create"});if(!ee)return;const ve=ee.endsWith(".js")?`/* global she */
217
- 'use strict';
218
-
219
- `:"";await Xc(ee,ve),await At(),await Ge(ee,!0)}async function Ve(){const F=u(n)?`${u(n)}/`:"",ee=await $.show("New folder name:",{placeholder:F?`${F}subfolder`:"myfolder",initial:F,confirm:"Create"});ee&&(await t7(ee),u(i)[ee]=!0,await At())}function Te(F,ee){F.preventDefault(),C(s,{x:F.clientX,y:F.clientY,entry:ee},!0)}function tt(){C(s,null)}async function Vt(F){tt(),C(n,F,!0),u(i)[F]=!0,await Pe()}async function ue(F){tt(),C(n,F,!0),await Ve()}async function Le(F){tt();const ee=F.path.includes("/")?F.path.slice(0,F.path.lastIndexOf("/")+1):"",ve=await $.show(F.type==="dir"?"Rename folder:":"Rename script:",{initial:F.name,placeholder:F.name,confirm:"Rename"});if(!ve||ve===F.name)return;const ae=ee+ve;try{await xD(F.path,ae);const Ze=u(c).find(Et=>Et.path===F.path);Ze&&(Ze.path=ae,u(h)===F.path&&C(h,ae)),await At(),await Zt("all",`rename ${F.path} → ${ae}`)}catch(Ze){C(f,Ze.message,!0)}}function ft(F){if(!F.children)return 0;let ee=0;for(const ve of F.children)ee++,ve.type==="dir"&&(ee+=ft(ve));return ee}async function Re(F){tt();let ee=`Delete ${F.type==="dir"?"folder":"file"} "${F.path}"?`;if(F.type==="dir"){const ve=ft(F);ve>0&&(ee+=` This will also delete ${ve} item${ve===1?"":"s"} inside.`)}if(await it.show(ee,{confirm:"Delete",danger:!0})){if(F.type==="dir")for(const ve of[...u(c)])ve.path.startsWith(F.path+"/")&&await et(ve.path);else await et(F.path);await m_(F.path),await At(),await Zt("all",`delete ${F.path}`)}}async function dt(F){tt();const{content:ee}=await rS(F.path);u(Ut).some(ve=>ve.name===F.path)||C(Ut,[...u(Ut),{name:F.path,content:ee}],!0),C(cn,!0)}function wt(F,ee){var ve;C(r,ee,!0),(ve=F.dataTransfer)==null||ve.setData("text/plain",ee)}function B(F,ee){if(F.preventDefault(),u(r)&&(u(r)===ee||ee.startsWith(u(r)+"/"))){F.dataTransfer&&(F.dataTransfer.dropEffect="none"),C(a,null);return}F.dataTransfer&&(F.dataTransfer.dropEffect="move"),C(a,ee,!0)}function Y(){C(a,null)}async function xe(F,ee){var Ft,Oi,bi;F.preventDefault(),C(a,null);const ve=Array.from(((Ft=F.dataTransfer)==null?void 0:Ft.items)??[]).filter($i=>$i.kind==="file");if(ve.length>0&&!u(r)){for(const $i of ve){const yi=(Oi=$i.webkitGetAsEntry)==null?void 0:Oi.call($i);yi&&await Ae(yi,ee,!0)}await At();return}const ae=u(r)??((bi=F.dataTransfer)==null?void 0:bi.getData("text/plain"));if(C(r,null),!ae||ae===ee||ee.startsWith(ae+"/"))return;const Ze=ae.split("/").pop(),Et=ee?`${ee}/${Ze}`:Ze;if(Et!==ae)try{await xD(ae,Et);for(const $i of u(c))if($i.path===ae)u(h)===ae&&C(h,Et,!0),$i.path=Et;else if($i.path.startsWith(ae+"/")){const yi=Et+$i.path.slice(ae.length);u(h)===$i.path&&C(h,yi),$i.path=yi}await At(),await Zt("all",`rename ${ae} → ${Et}`)}catch($i){C(f,$i.message,!0)}}async function Ae(F,ee,ve){if(F.isFile){const Ze=await(await new Promise((Ft,Oi)=>F.file(Ft,Oi))).text(),Et=ee?`${ee}/${F.name}`:F.name;await Xc(Et,Ze),ve&&F.name.endsWith(".js")&&await be(Et,!0)}else if(F.isDirectory){const ae=F.createReader();let Ze=[],Et;do Et=await new Promise((Ft,Oi)=>ae.readEntries(Ft,Oi)),Ze=[...Ze,...Et];while(Et.length>0);for(const Ft of Ze)await Ae(Ft,ee?`${ee}/${F.name}`:F.name,!1);if(ve){const Ft=ee?`${ee}/${F.name}`:F.name;await be(Ft,!0)}}}async function Me(){if(!u(h)||!await it.show(`Delete ${u(h)}?`,{confirm:"Delete",danger:!0}))return;const F=u(h);await et(F),await m_(F),await At(),await Zt("all",`delete ${F}`)}function ke(){u(re)&&(u(re).logEntries=[])}function Dt(){C(v,!u(v)),localStorage.setItem(Bt,String(u(v)))}function ot(F){return new Date(F).toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1})}function Ee(F){var ae;const ee=((ae=F.split(".").pop())==null?void 0:ae.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"}[ee]??"plaintext"}let pt=null;async function Oe(){const F=u(c).find(ve=>ve.path===u(h));if(!(F!=null&&F.model))return;const ee=F.model;try{const Et=(await(await(await ed.typescript.getJavaScriptWorker())(ee.uri)).getSyntacticDiagnostics(ee.uri.toString())).map(Ft=>{const Oi=ee.getPositionAt(Ft.start??0),bi=ee.getPositionAt((Ft.start??0)+(Ft.length??0));return{severity:qF.Error,startLineNumber:Oi.lineNumber,startColumn:Oi.column,endLineNumber:bi.lineNumber,endColumn:bi.column,message:typeof Ft.messageText=="string"?Ft.messageText:JSON.stringify(Ft.messageText),source:"she-syntax"}});if(ar.setModelMarkers(ee,"she-syntax",Et),u(h)){if(Et.length>0)at.add(u(h)),u(mt).has(u(h))||C(mt,new Set([...u(mt),u(h)]),!0);else if(at.has(u(h))){at.delete(u(h));const Ft=new Set(u(mt));Ft.delete(u(h)),C(mt,Ft,!0)}}}catch{}}function pe(F){Fn=!0,ji=F.clientX,qn=u($n),F.preventDefault()}function ye(F){He=!0,Wt=F.clientY,ei=u(en),F.preventDefault()}function ge(F){ki=!0,Pi=F.clientX,zn=u(dn),F.preventDefault()}function me(F){Hn=!0,Yn=F.clientY,xn=u(Xn),F.preventDefault()}function Ye(F){Fn&&C($n,Math.max(140,Math.min(500,qn+F.clientX-ji)),!0),He&&C(en,Math.max(60,Math.min(500,ei-(F.clientY-Wt))),!0),ki&&C(dn,Math.max(200,Math.min(700,zn-(F.clientX-Pi))),!0),Hn&&C(Xn,Math.max(80,Math.min(600,xn-(F.clientY-Yn))),!0)}function le(){Fn&&(Fn=!1,localStorage.setItem("she-scripts-sidebar-width",String(u($n)))),He&&(He=!1,localStorage.setItem("she-scripts-log-height",String(u(en)))),ki&&(ki=!1,localStorage.setItem("she-scripts-chat-width",String(u(dn)))),Hn&&(Hn=!1,localStorage.setItem("she-scripts-history-height",String(u(Xn))))}function Ne(F){(F.ctrlKey||F.metaKey)&&F.key==="s"&&(F.preventDefault(),si()),F.key==="Escape"&&(C(p,!1),C(s,null),C(kt,!1))}async function Qe(F,ee){const ve=await $.show("Save new script as:",{placeholder:"myscript.js",initial:F,confirm:"Create"});if(ve)try{await Xc(ve,ee),await At(),await Ge(ve,!0)}catch(ae){C(f,ae.message,!0)}}async function rt(F){var ve,ae;if(u(ni)&&u(h)){C(Li,F,!0),await We();return}if(C(Li,F,!0),await T_(),!u(Ki))return;_n==null||_n.dispose(),rn==null||rn.dispose(),on==null||on.dispose();const ee=((ae=(ve=u(re))==null?void 0:ve.model)==null?void 0:ae.getValue())??"";_n=ar.createModel(ee,"javascript"),rn=ar.createModel(F,"javascript"),on=ar.createDiffEditor(u(Ki),{theme:"vs-dark",readOnly:!0,renderSideBySide:!0,automaticLayout:!0,minimap:{enabled:!1},fontSize:13,scrollBeyondLastLine:!1}),on.setModel({original:_n,modified:rn})}Wn(()=>{u(h),C(ni,!1),C(pi,!1)});async function We(){if(u(Li)===null||!u(h))return;const F=u(Li);C(Li,null);const ee=u(c).find(ve=>ve.path===u(h));ee!=null&&ee.model&&(vi=!0,ee.model.setValue(F),vi=!1,ee.dirty=!1,ee.savedContent=F);try{await Xc(u(h),F),C(f,""),u(w)?await Zt([u(h)],`update ${u(h)}`):It()}catch(ve){C(f,ve.message,!0)}zt()}function Ot(){C(Li,null),zt()}function zt(){on==null||on.dispose(),on=null,_n==null||_n.dispose(),_n=null,rn==null||rn.dispose(),rn=null}var vn=xG();cs("keydown",bd,Ne),cs("mousemove",bd,Ye),cs("mouseup",bd,le);var Ui=_t(vn);Is(Gg(Ui,{}),F=>it=F,()=>it);var Ln=x(Ui,2);Is(E7(Ln,{}),F=>$=F,()=>$);var Qn=x(Ln,2);{var Ii=F=>{var ee=MK(),ve=_t(ee),ae=x(ve,2);let Ze;var Et=k(ae);{var Ft=bi=>{var $i=EK(),yi=_t($i),Fi=x(yi,2),Di=x(Fi,4),Tn=x(Di,2);Q("click",yi,()=>Vt(u(s).entry.path)),Q("click",Fi,()=>ue(u(s).entry.path)),Q("click",Di,()=>Le(u(s).entry)),Q("click",Tn,()=>Re(u(s).entry)),E(bi,$i)},Oi=bi=>{var $i=TK(),yi=_t($i),Fi=x(yi,2),Di=x(Fi,2),Tn=x(Di,2);{var Kn=Ti=>{var us=PK();Q("click",us,()=>Gi(u(s).entry)),E(Ti,us)};U(Tn,Ti=>{u(_)&&Ti(Kn)})}var Vn=x(Tn,4);Q("click",yi,()=>ct(u(s).entry.path)),Q("click",Fi,()=>Le(u(s).entry)),Q("click",Di,()=>dt(u(s).entry)),Q("click",Vn,()=>Re(u(s).entry)),E(bi,$i)};U(Et,bi=>{u(s).entry.type==="dir"?bi(Ft):bi(Oi,-1)})}G(()=>Ze=No(ae,"",Ze,{left:`${u(s).x??""}px`,top:`${u(s).y??""}px`})),Q("click",ve,tt),Q("contextmenu",ve,bi=>{bi.preventDefault(),tt()}),E(F,ee)};U(Qn,F=>{u(s)&&F(Ii)})}var qt=x(Qn,2);{var nn=F=>{var ee=NK();let ve;G(()=>ve=No(ee,"",ve,{left:`${u(Ci).x??""}px`,top:`${u(Ci).y-4}px`})),E(F,ee)};U(qt,F=>{u(Ci)&&F(nn)})}var zi=x(qt,2),rs=k(zi);let oo;{const F=(ve,ae=Ey,Ze)=>{let Et=m1(()=>JF(Ze==null?void 0:Ze(),!1));var Ft=Us(),Oi=_t(Ft);{var bi=yi=>{var Fi=AK(),Di=k(Fi);let Tn;var Kn=k(Di);let Vn;var Ti=x(Kn,2);let us;var Ns=k(Ti),bs=x(Ti,2);{var as=an=>{var Ko=XD();E(an,Ko)},is=nt(()=>u(Z).has(ae().path)||u(Ke).has(ae().path));U(bs,an=>{u(is)&&an(as)})}var gs=x(bs,2),ys=k(gs),Rs=x(gs,2),pa=k(Rs),Hr=x(Di,2);{var As=an=>{var Ko=RK();gi(Ko,21,()=>ae().children,ks=>ks.path,(ks,Wr)=>{F(ks,()=>u(Wr),()=>ae().disabled||u(Et))}),E(an,Ko)};U(Hr,an=>{u(i)[ae().path]&&ae().children&&an(As)})}G(()=>{Tn=$t(Di,1,"dir-row svelte-1pyfjii",null,Tn,{"dir-selected":u(n)===ae().path,"drag-target":u(a)===ae().path}),gn(Di,"aria-selected",u(n)===ae().path),Vn=$t(Kn,1,"chevron svelte-1pyfjii",null,Vn,{open:u(i)[ae().path]}),us=$t(Ti,1,"dir-name svelte-1pyfjii",null,us,{lib:ae().lib}),q(Ns,ae().name),Km(ys,ae().lib),Km(pa,ae().disabled)}),cs("dragstart",Di,an=>wt(an,ae().path)),cs("dragover",Di,an=>B(an,ae().path)),cs("dragleave",Di,Y),cs("drop",Di,an=>xe(an,ae().path)),Q("contextmenu",Di,an=>Te(an,ae())),Q("click",Kn,()=>ui(ae().path)),Q("click",Ti,()=>{C(n,ae().path,!0),u(i)[ae().path]=!0}),Q("keydown",Ti,an=>an.key==="Enter"&&C(n,ae().path,!0)),cs("mouseenter",gs,xi),cs("mouseleave",gs,ii),Q("change",ys,()=>ie(ae().path,!ae().lib)),Q("change",pa,()=>be(ae().path,!ae().disabled)),E(yi,Fi)},$i=yi=>{const Fi=nt(()=>u(mt).has(ae().path)),Di=nt(()=>u(Z).has(ae().path)),Tn=nt(()=>u(c).some(wn=>wn.path===ae().path&&wn.dirty)),Kn=nt(()=>(ae().name.split(".").pop()??"txt").toUpperCase()),Vn=nt(()=>ae().name.endsWith(".js"));var Ti=zK();let us;var Ns=k(Ti),bs=k(Ns);let as;var is=k(bs);let gs;var ys=k(is),Rs=x(is,2),pa=k(Rs),Hr=x(Rs,2);{var As=wn=>{var ps=XD();E(wn,ps)};U(Hr,wn=>{u(Di)&&wn(As)})}var an=x(Hr);{var Ko=wn=>{var ps=OK();E(wn,ps)};U(an,wn=>{u(Tn)&&wn(Ko)})}var ks=x(an,2);{var Wr=wn=>{var ps=FK();E(wn,ps)},of=nt(()=>u(Vn)&&u(hi).has(ae().path)&&!u(Fi));U(ks,wn=>{u(of)&&wn(Wr)})}var Hl=x(ks,2);{var rf=wn=>{var ps=HK();E(wn,ps)};U(Hl,wn=>{u(Fi)&&wn(rf)})}var Br=x(bs,2);{var dw=wn=>{var ps=WK();let $c;var qh=k(ps);G(()=>{$c=$t(ps,1,"dis-label svelte-1pyfjii",null,$c,{"dis-locked":u(Et)}),gn(ps,"title",u(Et)?"Disabled by parent directory":"Disable — this script will not be executed"),Km(qh,ae().disabled),qh.disabled=u(Et)}),Q("change",qh,()=>be(ae().path,!ae().disabled)),E(wn,ps)},Uc=wn=>{var ps=BK();E(wn,ps)};U(Br,wn=>{u(Vn)?wn(dw):wn(Uc,-1)})}G((wn,ps,$c)=>{us=$t(Ti,1,"tree-file svelte-1pyfjii",null,us,wn),as=$t(bs,1,"svelte-1pyfjii",null,as,{lib:ae().lib,dis:ae().disabled,err:u(Fi)}),gs=$t(is,1,`badge badge-${ps??""}`,"svelte-1pyfjii",gs,{"badge-shelib":ae().lib}),q(ys,$c),q(pa,ae().name)},[()=>({active:u(c).some(wn=>wn.path===ae().path),"active-tab":ae().path===u(h)}),()=>u(Kn).toLowerCase(),()=>ci(u(Kn))]),cs("dragstart",Ti,wn=>wt(wn,ae().path)),Q("contextmenu",Ti,wn=>Te(wn,ae())),Q("click",bs,()=>ct(ae().path)),E(yi,Ti)};U(Oi,yi=>{ae().type==="dir"?yi(bi):yi($i,-1)})}E(ve,Ft)};var jo=k(rs),Mr=k(jo),Ka=x(Mr,2),Jn=x(Ka,2),ga=x(jo,2);{var fa=ve=>{var ae=VK(),Ze=k(ae);G(()=>q(Ze,u(f))),E(ve,ae)};U(ga,ve=>{u(f)&&ve(fa)})}var qi=x(ga,2),Nr=k(qi);let ee;var qs=x(Nr,2);gi(qs,17,()=>u(t),ve=>ve.path,(ve,ae)=>{F(ve,()=>u(ae))});var Ls=x(qi,2);{var Ks=ve=>{var ae=GK();let Ze;var Et=k(ae),Ft=x(Et,2),Oi=k(Ft),bi=k(Oi),$i=x(Oi,2),yi=x(Ft,2),Fi=k(yi);{var Di=Vn=>{var Ti=jK();E(Vn,Ti)},Tn=Vn=>{var Ti=UK();E(Vn,Ti)},Kn=Vn=>{var Ti=KK(),us=_t(Ti);gi(us,17,()=>u(P),as=>as.hash,(as,is)=>{var gs=$K(),ys=k(gs),Rs=k(ys),pa=x(ys,2),Hr=k(pa);G((As,an)=>{q(Rs,u(is).subject),q(Hr,`${As??""} · ${an??""}`)},[()=>u(is).hash.slice(0,7),()=>yn(u(is).date)]),Q("click",gs,()=>K(u(is))),E(as,gs)});var Ns=x(us,2);{var bs=as=>{var is=qK(),gs=k(is);G(()=>{is.disabled=u(A),q(gs,u(A)?"Loading…":"Load more")}),Q("click",is,st),E(as,is)};U(Ns,as=>{u(P).length>=u(V)&&as(bs)})}E(Vn,Ti)};U(Fi,Vn=>{u(A)&&u(P).length===0?Vn(Di):u(P).length===0?Vn(Tn,1):Vn(Kn,-1)})}G(()=>{Ze=No(ae,"",Ze,{height:`${u(Xn)??""}px`}),gn(Oi,"title",u(D).path),q(bi,`History: ${u(D).name??""}`)}),Q("mousedown",Et,me),Q("click",$i,N),E(ve,ae)};U(Ls,ve=>{u(D)&&ve(Ks)})}G(()=>ee=$t(Nr,1,"tree-root-drop svelte-1pyfjii",null,ee,{"drag-target":u(a)===""})),Q("click",Mr,Pe),Q("click",Ka,Ve),Q("click",Jn,At),cs("dragover",Nr,ve=>B(ve,"")),cs("dragleave",Nr,Y),cs("drop",Nr,ve=>xe(ve,""))}var Rr=x(rs,2),Ga=x(Rr,2),Al=k(Ga);{var Za=F=>{var ee=YK();gi(ee,21,()=>u(c),ve=>ve.path,(ve,ae)=>{var Ze=XK();let Et;var Ft=k(Ze),Oi=k(Ft),bi=x(Ft,2);{var $i=Fi=>{var Di=ZK();E(Fi,Di)};U(bi,Fi=>{u(ae).dirty&&Fi($i)})}var yi=x(bi,2);G(Fi=>{Et=$t(Ze,1,"tab svelte-1pyfjii",null,Et,{active:u(ae).path===u(h)}),q(Oi,Fi)},[()=>u(ae).path.split("/").pop()]),Q("click",Ze,()=>Ct(u(ae).path)),Q("keydown",Ze,Fi=>Fi.key==="Enter"&&Ct(u(ae).path)),Q("click",yi,Fi=>{Fi.stopPropagation(),et(u(ae).path)}),E(ve,Ze)}),E(F,ee)};U(Al,F=>{u(c).length>0&&F(Za)})}var Uo=x(Al,2),Ar=k(Uo),Or=k(Ar),Em=x(Ar,2);{var sr=F=>{var ee=oG(),ve=k(ee),ae=k(ve),Ze=x(ve,2);{var Et=yi=>{var Fi=tG(),Di=k(Fi),Tn=k(Di),Kn=x(Di,2);{var Vn=Ti=>{var us=eG(),Ns=_t(us),bs=x(Ns,2),as=x(k(bs),2);gi(as,21,()=>u(_).changes,Nn,(As,an)=>{var Ko=QK(),ks=k(Ko),Wr=x(ks,2),of=k(Wr),Hl=x(Wr,2),rf=k(Hl);G(Br=>{Km(ks,Br),q(of,u(an).status),q(rf,u(an).file)},[()=>u(_e).has(u(an).file)]),Q("change",ks,()=>{const Br=new Set(u(_e));Br.has(u(an).file)?Br.delete(u(an).file):Br.add(u(an).file),C(_e,Br,!0)}),E(As,Ko)});var is=x(as,2),gs=k(is),ys=x(gs,2),Rs=k(ys),pa=x(is,2);{var Hr=As=>{var an=JK(),Ko=k(an);G(()=>q(Ko,u(oe))),E(As,an)};U(pa,As=>{u(oe)&&As(Hr)})}G(As=>{var an;ys.disabled=As,q(Rs,u(O)?"…":u(_e).size===((an=u(_))==null?void 0:an.changes.length)?"Commit all":`Commit ${u(_e).size}`)},[()=>!u(jt).trim()||u(O)||u(_e).size===0]),Q("click",Ns,()=>C(St,!1)),Q("keydown",gs,As=>As.key==="Enter"&&Xe()),Mi(gs,()=>u(jt),As=>C(jt,As)),Q("click",ys,Xe),E(Ti,us)};U(Kn,Ti=>{u(St)&&Ti(Vn)})}G(()=>{gn(Di,"title",`${u(_).changes.length??""} uncommitted change(s) — click to view`),q(Tn,`✎${u(_).changes.length??""}`)}),Q("click",Di,()=>{u(St)||C(_e,new Set(u(_).changes.map(Ti=>Ti.file)),!0),C(St,!u(St)),C(oe,"")}),E(yi,Fi)};U(Ze,yi=>{u(_).changes.length>0&&yi(Et)})}var Ft=x(Ze,2);{var Oi=yi=>{var Fi=nG(),Di=k(Fi),Tn=k(Di),Kn=x(Di,2);{var Vn=Ti=>{var us=iG(),Ns=_t(us),bs=x(Ns,2),as=k(bs),is=k(as),gs=x(as,2),ys=k(gs);G(()=>q(is,`${u(_).ahead??""} unpushed commit(s)`)),Q("click",Ns,()=>C(kt,!1)),Q("click",ys,()=>{C(kt,!1),hn()}),E(Ti,us)};U(Kn,Ti=>{u(kt)&&Ti(Vn)})}G(()=>{gn(Di,"title",`${u(_).ahead??""} commit(s) ahead of upstream — click to push`),q(Tn,`↑${u(_).ahead??""}`)}),Q("click",Di,()=>C(kt,!u(kt))),E(yi,Fi)};U(Ft,yi=>{u(_).ahead>0&&yi(Oi)})}var bi=x(Ft,2);{var $i=yi=>{var Fi=sG(),Di=k(Fi);G(()=>{gn(Fi,"title",`${u(_).behind??""} commit(s) behind upstream`),q(Di,`↓${u(_).behind??""}`)}),E(yi,Fi)};U(bi,yi=>{u(_).behind>0&&yi($i)})}G(()=>{gn(ve,"title",`Branch: ${u(_).branch??""}`),q(ae,`⎇ ${u(_).branch??""}`)}),E(F,ee)};U(Em,F=>{u(_)&&F(sr)})}var Pm=x(Em,2),Xg=k(Pm),$o=k(Xg),Tm=k($o),Yg=x($o,2),Qg=x(Xg,2);{var ow=F=>{var ee=rG(),ve=_t(ee),ae=x(ve,2),Ze=k(ae),Et=x(Ze,2);Q("click",ve,()=>C(p,!1)),Q("click",Ze,()=>{C(p,!1),si()}),Q("click",Et,()=>{C(p,!1),ri()}),E(F,ee)};U(Qg,F=>{u(p)&&F(ow)})}var Jg=x(Pm,2);{var Mm=F=>{var ee=aG();Q("click",ee,Me),E(F,ee)};U(Jg,F=>{u(h)&&F(Mm)})}var ef=x(Jg,2);let Nm;var tf=x(Uo,2),Rm=k(tf),nf=k(Rm),sf=k(nf);Is(sf,F=>Nt=F,()=>Nt);var zc=x(sf,2);{var Xa=F=>{var ee=lG();E(F,ee)};U(zc,F=>{u(h)||F(Xa)})}var Am=x(zc,2);{var Vc=F=>{var ee=uG(),ve=k(ee),ae=k(ve),Ze=x(k(ae)),Et=k(Ze),Ft=x(ae,2),Oi=k(Ft),bi=k(Oi),$i=k(bi),yi=k($i),Fi=x($i,2),Di=x(bi,2);{var Tn=Ti=>{var us=hG(),Ns=_t(us),bs=x(Ns,2),as=k(bs);{var is=ys=>{var Rs=cG();Q("click",Rs,()=>{C(pi,!1),C(ni,!0),We()}),E(ys,Rs)},gs=ys=>{var Rs=dG();Q("click",Rs,()=>{C(pi,!1),C(ni,!1)}),E(ys,Rs)};U(as,ys=>{u(ni)?ys(gs,-1):ys(is)})}Q("click",Ns,()=>C(pi,!1)),E(Ti,us)};U(Di,Ti=>{u(pi)&&Ti(Tn)})}var Kn=x(Oi,2),Vn=x(ve,2);Is(Vn,Ti=>C(Ki,Ti),()=>u(Ki)),G(Ti=>{q(Et,Ti),q(yi,u(ni)?"Auto-accept ✓":"Accept")},[()=>{var Ti;return(Ti=u(h))==null?void 0:Ti.split("/").pop()}]),Q("click",$i,We),Q("click",Fi,()=>C(pi,!u(pi))),Q("click",Kn,Ot),E(F,ee)};U(Am,F=>{u(Li)!==null&&F(Vc)})}var ko=x(Am,2);{var Om=F=>{var ee=pG(),ve=k(ee),ae=k(ve),Ze=x(k(ae)),Et=k(Ze),Ft=x(Ze,2),Oi=k(Ft),bi=x(ae,2),$i=k(bi),yi=x(ve,2);{var Fi=Tn=>{var Kn=gG();E(Tn,Kn)},Di=Tn=>{var Kn=fG();Is(Kn,Vn=>C(H,Vn),()=>u(H)),E(Tn,Kn)};U(yi,Tn=>{u(Se)?Tn(Fi):Tn(Di,-1)})}G(Tn=>{var Kn;q(Et,Tn),q(Oi,(Kn=u(D))==null?void 0:Kn.name)},[()=>u(Be).slice(0,7)]),Q("click",$i,Ce),E(F,ee)};U(ko,F=>{u(Ie)&&F(Om)})}var Vh=x(nf,2);let Fm,jh;var Uh=k(Vh);{var rw=F=>{var ee=mG();Q("mousedown",ee,ye),E(F,ee)};U(Uh,F=>{u(v)&&F(rw)})}var Hm=x(Uh,2),$h=k(Hm),Wm=k($h),qo=x(Wm);{var Ol=F=>{var ee=_G(),ve=k(ee);G(ae=>q(ve,`— ${ae??""}`),[()=>u(h).split("/").pop()]),E(F,ee)};U(qo,F=>{u(h)&&F(Ol)})}var aw=x($h,2);{var Fr=F=>{var ee=bG(),ve=_t(ee);gi(ve,21,()=>Je,Nn,(Oi,bi)=>{var $i=vG(),yi=k($i),Fi={};G(()=>{q(yi,u(bi)),Fi!==(Fi=u(bi))&&($i.value=($i.__value=u(bi))??"")}),E(Oi,$i)});var ae=x(ve,2),Ze=x(ae,2),Et=k(Ze),Ft=x(Ze,2);Zr(ve,()=>u(ti),Oi=>C(ti,Oi)),Mi(ae,()=>u(Fe),Oi=>C(Fe,Oi)),Vs(Et,()=>u(Gt),Oi=>C(Gt,Oi)),Q("click",Ft,ke),E(F,ee)};U(aw,F=>{u(v)&&F(Fr)})}var lw=x(Hm,2);{var Fl=F=>{var ee=SG(),ve=k(ee);gi(ve,17,()=>{var Et;return(((Et=u(re))==null?void 0:Et.logEntries)??[]).filter(Yt)},Et=>Et.ts+Et.msg,(Et,Ft)=>{var Oi=yG(),bi=k(Oi),$i=k(bi),yi=x(bi,2),Fi=k(yi),Di=x(yi,2),Tn=k(Di);G((Kn,Vn)=>{$t(Oi,1,`log-line ${u(Ft).level??""}`,"svelte-1pyfjii"),q($i,Kn),q(Fi,Vn),q(Tn,u(Ft).msg)},[()=>ot(u(Ft).ts),()=>u(Ft).level.toUpperCase()]),E(Et,Oi)});var ae=x(ve,2);{var Ze=Et=>{var Ft=wG();E(Et,Ft)};U(ae,Et=>{var Ft;(((Ft=u(re))==null?void 0:Ft.logEntries.length)??0)===0&&Et(Ze)})}Is(ee,Et=>C(ut,Et),()=>u(ut)),E(F,ee)};U(lw,F=>{u(v)&&F(Fl)})}var cw=x(Rm,2);{var jc=F=>{var ee=CG(),ve=_t(ee),ae=x(ve,2);let Ze;var Et=k(ae);pK(Et,{get currentScript(){return u(qe)},onApply:rt,onCreateFile:Qe,get extraFiles(){return u(Ut)},set extraFiles(Ft){C(Ut,Ft,!0)}}),G(()=>Ze=No(ae,"",Ze,{width:`${u(dn)??""}px`})),Q("mousedown",ve,ge),E(F,ee)};U(cw,F=>{u(cn)&&F(jc)})}G(()=>{var F;oo=No(rs,"",oo,{width:`${u($n)??""}px`}),q(Or,u(h)??"No file selected"),$o.disabled=!((F=u(re))!=null&&F.dirty)||u(g),q(Tm,u(g)?"Saving…":"Save"),Yg.disabled=!u(h),Nm=$t(ef,1,"ai-toggle svelte-1pyfjii",null,Nm,{"ai-open":u(cn)}),gn(ef,"title",u(cn)?"Close AI assistant":"Open AI assistant"),Fm=$t(Vh,1,"log-panel svelte-1pyfjii",null,Fm,{collapsed:!u(v)}),jh=No(Vh,"",jh,{height:u(v)?`${u(en)}px`:"26px"}),q(Wm,`${u(v)?"▾":"▸"} Script Log `)}),Q("mousedown",Rr,pe),Q("click",$o,si),Q("click",Yg,()=>C(p,!u(p))),Q("click",ef,()=>C(cn,!u(cn))),Q("click",$h,Dt),E(o,vn),Vo()}Pr(["click","contextmenu","keydown","change","mousedown"]);const QR="she-theme";function kG(){return localStorage.getItem(QR)??"dark"}function IG(o){localStorage.setItem(QR,o);const e=document.documentElement;o==="system"?e.removeAttribute("data-theme"):e.setAttribute("data-theme",o)}var Ff={exports:{}};/* @preserve
220
- * Leaflet 1.9.4, a JS library for interactive maps. https://leafletjs.com
221
- * (c) 2010-2023 Vladimir Agafonkin, (c) 2010-2011 CloudMade
222
- */var DG=Ff.exports,YD;function EG(){return YD||(YD=1,(function(o,e){(function(t,i){i(e)})(DG,(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,T,j;return j=function(){b=!1,I&&(T.apply(m,I),I=!1)},T=function(){b?I=arguments:(l.apply(m,arguments),setTimeout(j,d),b=!0)},T}function g(l,d,m){var b=d[1],I=d[0],T=b-I;return l===b&&m?l:((l-I)%T+T)%T+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 A=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 H="data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=";function J(l){return window["webkit"+l]||window["moz"+l]||window["ms"+l]}var X=0;function fe(l){var d=+new Date,m=Math.max(0,16-(d-X));return X=d+m,window.setTimeout(l,m)}var Ie=window.requestAnimationFrame||J("RequestAnimationFrame")||fe,Be=window.cancelAnimationFrame||J("CancelAnimationFrame")||J("CancelRequestAnimationFrame")||function(l){window.clearTimeout(l)};function Se(l,d,m){if(m&&Ie===fe)l.call(d);else return Ie.call(window,r(l,d))}function ut(l){l&&Be.call(window,l)}var mt={__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:A,indexOf:V,emptyImageUrl:H,requestFn:Ie,cancelFn:Be,requestAnimFrame:Se,cancelAnimFrame:ut};function at(){}at.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&&(hi(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 T=0,j=b._initHooks.length;T<j;T++)b._initHooks[T].call(this)}},d},at.include=function(l){var d=this.prototype.options;return n(this.prototype,l),l.options&&(this.prototype.options=d,this.mergeOptions(l.options)),this},at.mergeOptions=function(l){return n(this.prototype.options,l),this},at.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 hi(l){if(!(typeof L>"u"||!L||!L.Mixin)){l=A(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 Ut={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,T=l.length;I<T;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,T=0,j=l.length;T<j;T++)I?this._off(l[T]):this._off(l[T],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,T;if(this._events&&(b=this._events[l],!!b)){if(arguments.length===1){if(this._firingCount)for(I=0,T=b.length;I<T;I++)b[I].fn=f;delete this._events[l];return}if(typeof d!="function"){console.warn("wrong listener type: "+typeof d);return}var j=this._listens(l,d,m);if(j!==!1){var ne=b[j];this._firingCount&&(ne.fn=f,this._events[l]=b=b.slice()),b.splice(j,1)}}},fire:function(l,d,m){if(!this.listens(l,m))return this;var b=n({},d,{type:l,target:this,sourceTarget:d&&d.sourceTarget||this});if(this._events){var I=this._events[l];if(I){this._firingCount=this._firingCount+1||1;for(var T=0,j=I.length;T<j;T++){var ne=I[T],he=ne.fn;ne.once&&this.off(l,he,ne.ctx),he.call(ne.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 T=this._events&&this._events[l];if(T&&T.length&&this._listens(l,I,m)!==!1)return!0;if(b){for(var j in this._eventParents)if(this._eventParents[j].listens(l,d,m,b))return!0}return!1},_listens:function(l,d,m){if(!this._events)return!1;var b=this._events[l]||[];if(!d)return!!b.length;m===this&&(m=void 0);for(var I=0,T=b.length;I<T;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,T=l.length;I<T;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)}};Ut.addEventListener=Ut.on,Ut.removeEventListener=Ut.clearAllEventListeners=Ut.off,Ut.addOneTimeEventListener=Ut.once,Ut.fireEvent=Ut.fire,Ut.hasEventListeners=Ut.listens;var ti=at.extend(Ut);function Fe(l,d,m){this.x=m?Math.round(l):l,this.y=m?Math.round(d):d}var Gt=Math.trunc||function(l){return l>0?Math.floor(l):Math.ceil(l)};Fe.prototype={clone:function(){return new Fe(this.x,this.y)},add:function(l){return this.clone()._add(Je(l))},_add:function(l){return this.x+=l.x,this.y+=l.y,this},subtract:function(l){return this.clone()._subtract(Je(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 Fe(this.x*l.x,this.y*l.y)},unscaleBy:function(l){return new Fe(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=Gt(this.x),this.y=Gt(this.y),this},distanceTo:function(l){l=Je(l);var d=l.x-this.x,m=l.y-this.y;return Math.sqrt(d*d+m*m)},equals:function(l){return l=Je(l),l.x===this.x&&l.y===this.y},contains:function(l){return l=Je(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 Je(l,d,m){return l instanceof Fe?l:A(l)?new Fe(l[0],l[1]):l==null?l:typeof l=="object"&&"x"in l&&"y"in l?new Fe(l.x,l.y):new Fe(l,d,m)}function Lt(l,d){if(l)for(var m=d?[l,d]:l,b=0,I=m.length;b<I;b++)this.extend(m[b])}Lt.prototype={extend:function(l){var d,m;if(!l)return this;if(l instanceof Fe||typeof l[0]=="number"||"x"in l)d=m=Je(l);else if(l=Yt(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 Je((this.min.x+this.max.x)/2,(this.min.y+this.max.y)/2,l)},getBottomLeft:function(){return Je(this.min.x,this.max.y)},getTopRight:function(){return Je(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 Fe?l=Je(l):l=Yt(l),l instanceof Lt?(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=Yt(l);var d=this.min,m=this.max,b=l.min,I=l.max,T=I.x>=d.x&&b.x<=m.x,j=I.y>=d.y&&b.y<=m.y;return T&&j},overlaps:function(l){l=Yt(l);var d=this.min,m=this.max,b=l.min,I=l.max,T=I.x>d.x&&b.x<m.x,j=I.y>d.y&&b.y<m.y;return T&&j},isValid:function(){return!!(this.min&&this.max)},pad:function(l){var d=this.min,m=this.max,b=Math.abs(d.x-m.x)*l,I=Math.abs(d.y-m.y)*l;return Yt(Je(d.x-b,d.y-I),Je(m.x+b,m.y+I))},equals:function(l){return l?(l=Yt(l),this.min.equals(l.getTopLeft())&&this.max.equals(l.getBottomRight())):!1}};function Yt(l,d){return!l||l instanceof Lt?l:new Lt(l,d)}function Ci(l,d){if(l)for(var m=d?[l,d]:l,b=0,I=m.length;b<I;b++)this.extend(m[b])}Ci.prototype={extend:function(l){var d=this._southWest,m=this._northEast,b,I;if(l instanceof ii)b=l,I=l;else if(l instanceof Ci){if(b=l._southWest,I=l._northEast,!b||!I)return this}else return l?this.extend(Nt(l)||xi(l)):this;return!d&&!m?(this._southWest=new ii(b.lat,b.lng),this._northEast=new ii(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 Ci(new ii(d.lat-b,d.lng-I),new ii(m.lat+b,m.lng+I))},getCenter:function(){return new ii((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 ii(this.getNorth(),this.getWest())},getSouthEast:function(){return new ii(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 ii||"lat"in l?l=Nt(l):l=xi(l);var d=this._southWest,m=this._northEast,b,I;return l instanceof Ci?(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=xi(l);var d=this._southWest,m=this._northEast,b=l.getSouthWest(),I=l.getNorthEast(),T=I.lat>=d.lat&&b.lat<=m.lat,j=I.lng>=d.lng&&b.lng<=m.lng;return T&&j},overlaps:function(l){l=xi(l);var d=this._southWest,m=this._northEast,b=l.getSouthWest(),I=l.getNorthEast(),T=I.lat>d.lat&&b.lat<m.lat,j=I.lng>d.lng&&b.lng<m.lng;return T&&j},toBBoxString:function(){return[this.getWest(),this.getSouth(),this.getEast(),this.getNorth()].join(",")},equals:function(l,d){return l?(l=xi(l),this._southWest.equals(l.getSouthWest(),d)&&this._northEast.equals(l.getNorthEast(),d)):!1},isValid:function(){return!!(this._southWest&&this._northEast)}};function xi(l,d){return l instanceof Ci?l:new Ci(l,d)}function ii(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)}ii.prototype={equals:function(l,d){if(!l)return!1;l=Nt(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 vt.distance(this,Nt(l))},wrap:function(){return vt.wrapLatLng(this)},toBounds:function(l){var d=180*l/40075017,m=d/Math.cos(Math.PI/180*this.lat);return xi([this.lat-d,this.lng-m],[this.lat+d,this.lng+m])},clone:function(){return new ii(this.lat,this.lng,this.alt)}};function Nt(l,d,m){return l instanceof ii?l:A(l)&&typeof l[0]!="object"?l.length===3?new ii(l[0],l[1],l[2]):l.length===2?new ii(l[0],l[1]):null:l==null?l:typeof l=="object"&&"lat"in l?new ii(l.lat,"lng"in l?l.lng:l.lon,l.alt):d===void 0?null:new ii(l,d,m)}var Ri={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 Lt(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 ii(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 T=l.getSouthWest(),j=l.getNorthEast(),ne=new ii(T.lat-b,T.lng-I),he=new ii(j.lat-b,j.lng-I);return new Ci(ne,he)}},vt=n({},Ri,{wrapLng:[-180,180],R:6371e3,distance:function(l,d){var m=Math.PI/180,b=l.lat*m,I=d.lat*m,T=Math.sin((d.lat-l.lat)*m/2),j=Math.sin((d.lng-l.lng)*m/2),ne=T*T+Math.cos(b)*Math.cos(I)*j*j,he=2*Math.atan2(Math.sqrt(ne),Math.sqrt(1-ne));return this.R*he}}),vi=6378137,ai={R:vi,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 Fe(this.R*l.lng*d,this.R*Math.log((1+I)/(1-I))/2)},unproject:function(l){var d=180/Math.PI;return new ii((2*Math.atan(Math.exp(l.y/this.R))-Math.PI/2)*d,l.x*d/this.R)},bounds:(function(){var l=vi*Math.PI;return new Lt([-l,-l],[l,l])})()};function Vi(l,d,m,b){if(A(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}Vi.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 Fe((l.x/d-this._b)/this._a,(l.y/d-this._d)/this._c)}};function Qi(l,d,m,b){return new Vi(l,d,m,b)}var Ji=n({},vt,{code:"EPSG:3857",projection:ai,transformation:(function(){var l=.5/(Math.PI*ai.R);return Qi(l,.5,-l,.5)})()}),cn=n({},Ji,{code:"EPSG:900913"});function Li(l){return document.createElementNS("http://www.w3.org/2000/svg",l)}function ni(l,d){var m="",b,I,T,j,ne,he;for(b=0,T=l.length;b<T;b++){for(ne=l[b],I=0,j=ne.length;I<j;I++)he=ne[I],m+=(I?"L":"M")+he.x+" "+he.y;m+=d?De.svg?"z":"x":""}return m||"M0 0"}var pi=document.documentElement.style,Ki="ActiveXObject"in window,on=Ki&&!document.addEventListener,_n="msLaunchUri"in navigator&&!("documentMode"in document),rn=lt("webkit"),$n=lt("android"),en=lt("android 2")||lt("android 3"),dn=parseInt(/WebKit\/([0-9]+)|$/.exec(navigator.userAgent)[1],10),Xn=$n&&lt("Google")&&dn<537&&!("AudioNode"in window),Fn=!!window.opera,ji=!_n&&lt("chrome"),qn=lt("gecko")&&!rn&&!Fn&&!Ki,He=!ji&&lt("safari"),Wt=lt("phantom"),ei="OTransition"in pi,ki=navigator.platform.indexOf("Win")===0,Pi=Ki&&"transition"in pi,zn="WebKitCSSMatrix"in window&&"m11"in new window.WebKitCSSMatrix&&!en,Hn="MozPerspective"in pi,Yn=!window.L_DISABLE_3D&&(Pi||zn||Hn)&&!ei&&!Wt,xn=typeof orientation<"u"||lt("mobile"),qe=xn&&rn,Z=xn&&zn,Ke=!window.PointerEvent&&window.MSPointerEvent,St=!!(window.PointerEvent||Ke),kt="ontouchstart"in window||!!window.TouchEvent,jt=!window.L_NO_TOUCH&&(kt||St),O=xn&&Fn,oe=xn&&qn,_e=(window.devicePixelRatio||window.screen.deviceXDPI/window.screen.logicalXDPI)>1,Xe=(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})(),it=(function(){return!!document.createElement("canvas").getContext})(),$=!!(document.createElementNS&&Li("svg").createSVGRect),re=!!$&&(function(){var l=document.createElement("div");return l.innerHTML="<svg/>",(l.firstChild&&l.firstChild.namespaceURI)==="http://www.w3.org/2000/svg"})(),de=!$&&(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}})(),ze=navigator.platform.indexOf("Mac")===0,Bt=navigator.platform.indexOf("Linux")===0;function lt(l){return navigator.userAgent.toLowerCase().indexOf(l)>=0}var De={ie:Ki,ielt9:on,edge:_n,webkit:rn,android:$n,android23:en,androidStock:Xn,opera:Fn,chrome:ji,gecko:qn,safari:He,phantom:Wt,opera12:ei,win:ki,ie3d:Pi,webkit3d:zn,gecko3d:Hn,any3d:Yn,mobile:xn,mobileWebkit:qe,mobileWebkit3d:Z,msPointer:Ke,pointer:St,touch:jt,touchNative:kt,mobileOpera:O,mobileGecko:oe,retina:_e,passiveEvents:Xe,canvas:it,svg:$,vml:de,inlineSvg:re,mac:ze,linux:Bt},Rt=De.msPointer?"MSPointerDown":"pointerdown",Qt=De.msPointer?"MSPointerMove":"pointermove",At=De.msPointer?"MSPointerUp":"pointerup",ui=De.msPointer?"MSPointerCancel":"pointercancel",ci={touchstart:Rt,touchmove:Qt,touchend:At,touchcancel:ui},ie={touchstart:hn,touchmove:ri,touchend:ri,touchcancel:ri},be={},Ge=!1;function ct(l,d,m){return d==="touchstart"&&si(),ie[d]?(m=ie[d].bind(this,m),l.addEventListener(ci[d],m,!1),m):(console.warn("wrong event specified:",d),f)}function Ct(l,d,m){if(!ci[d]){console.warn("wrong event specified:",d);return}l.removeEventListener(ci[d],m,!1)}function et(l){be[l.pointerId]=l}function It(l){be[l.pointerId]&&(be[l.pointerId]=l)}function Zt(l){delete be[l.pointerId]}function si(){Ge||(document.addEventListener(Rt,et,!0),document.addEventListener(Qt,It,!0),document.addEventListener(At,Zt,!0),document.addEventListener(ui,Zt,!0),Ge=!0)}function ri(l,d){if(d.pointerType!==(d.MSPOINTER_TYPE_MOUSE||"mouse")){d.touches=[];for(var m in be)d.touches.push(be[m]);d.changedTouches=[d],l(d)}}function hn(l,d){d.MSPOINTER_TYPE_TOUCH&&d.pointerType===d.MSPOINTER_TYPE_TOUCH&&zi(d),ri(l,d)}function yn(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 Gi=200;function oi(l,d){l.addEventListener("dblclick",d);var m=0,b;function I(T){if(T.detail!==1){b=T.detail;return}if(!(T.pointerType==="mouse"||T.sourceCapabilities&&!T.sourceCapabilities.firesTouchEvents)){var j=oo(T);if(!(j.some(function(he){return he instanceof HTMLLabelElement&&he.attributes.for})&&!j.some(function(he){return he instanceof HTMLInputElement||he instanceof HTMLSelectElement}))){var ne=Date.now();ne-m<=Gi?(b++,b===2&&d(yn(T))):b=1,m=ne}}}return l.addEventListener("click",I),{dblclick:d,simDblclick:I}}function st(l,d){l.removeEventListener("dblclick",d.dblclick),l.removeEventListener("click",d.simDblclick)}var N=Ae(["transform","webkitTransform","OTransform","MozTransform","msTransform"]),K=Ae(["webkitTransition","transition","OTransition","MozTransition","msTransition"]),Ce=K==="webkitTransition"||K==="OTransition"?K+"End":"transitionend";function Pe(l){return typeof l=="string"?document.getElementById(l):l}function Ve(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 Te(l,d,m){var b=document.createElement(l);return b.className=d||"",m&&m.appendChild(b),b}function tt(l){var d=l.parentNode;d&&d.removeChild(l)}function Vt(l){for(;l.firstChild;)l.removeChild(l.firstChild)}function ue(l){var d=l.parentNode;d&&d.lastChild!==l&&d.appendChild(l)}function Le(l){var d=l.parentNode;d&&d.firstChild!==l&&d.insertBefore(l,d.firstChild)}function ft(l,d){if(l.classList!==void 0)return l.classList.contains(d);var m=B(l);return m.length>0&&new RegExp("(^|\\s)"+d+"(\\s|$)").test(m)}function Re(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(!ft(l,d)){var T=B(l);wt(l,(T?T+" ":"")+d)}}function dt(l,d){l.classList!==void 0?l.classList.remove(d):wt(l,v((" "+B(l)+" ").replace(" "+d+" "," ")))}function wt(l,d){l.className.baseVal===void 0?l.className=d:l.className.baseVal=d}function B(l){return l.correspondingElement&&(l=l.correspondingElement),l.className.baseVal===void 0?l.className:l.className.baseVal}function Y(l,d){"opacity"in l.style?l.style.opacity=d:"filter"in l.style&&xe(l,d)}function xe(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 Ae(l){for(var d=document.documentElement.style,m=0;m<l.length;m++)if(l[m]in d)return l[m];return!1}function Me(l,d,m){var b=d||new Fe(0,0);l.style[N]=(De.ie3d?"translate("+b.x+"px,"+b.y+"px)":"translate3d("+b.x+"px,"+b.y+"px,0)")+(m?" scale("+m+")":"")}function ke(l,d){l._leaflet_pos=d,De.any3d?Me(l,d):(l.style.left=d.x+"px",l.style.top=d.y+"px")}function Dt(l){return l._leaflet_pos||new Fe(0,0)}var ot,Ee,pt;if("onselectstart"in document)ot=function(){We(window,"selectstart",zi)},Ee=function(){zt(window,"selectstart",zi)};else{var Oe=Ae(["userSelect","WebkitUserSelect","OUserSelect","MozUserSelect","msUserSelect"]);ot=function(){if(Oe){var l=document.documentElement.style;pt=l[Oe],l[Oe]="none"}},Ee=function(){Oe&&(document.documentElement.style[Oe]=pt,pt=void 0)}}function pe(){We(window,"dragstart",zi)}function ye(){zt(window,"dragstart",zi)}var ge,me;function Ye(l){for(;l.tabIndex===-1;)l=l.parentNode;l.style&&(le(),ge=l,me=l.style.outlineStyle,l.style.outlineStyle="none",We(window,"keydown",le))}function le(){ge&&(ge.style.outlineStyle=me,ge=void 0,me=void 0,zt(window,"keydown",le))}function Ne(l){do l=l.parentNode;while((!l.offsetWidth||!l.offsetHeight)&&l!==document.body);return l}function Qe(l){var d=l.getBoundingClientRect();return{x:d.width/l.offsetWidth||1,y:d.height/l.offsetHeight||1,boundingClientRect:d}}var rt={__proto__:null,TRANSFORM:N,TRANSITION:K,TRANSITION_END:Ce,get:Pe,getStyle:Ve,create:Te,remove:tt,empty:Vt,toFront:ue,toBack:Le,hasClass:ft,addClass:Re,removeClass:dt,setClass:wt,getClass:B,setOpacity:Y,testProp:Ae,setTransform:Me,setPosition:ke,getPosition:Dt,get disableTextSelection(){return ot},get enableTextSelection(){return Ee},disableImageDrag:pe,enableImageDrag:ye,preventOutline:Ye,restoreOutline:le,getSizedParentNode:Ne,getScale:Qe};function We(l,d,m,b){if(d&&typeof d=="object")for(var I in d)Ln(l,I,d[I],m);else{d=_(d);for(var T=0,j=d.length;T<j;T++)Ln(l,d[T],m,b)}return this}var Ot="_leaflet_events";function zt(l,d,m,b){if(arguments.length===1)vn(l),delete l[Ot];else if(d&&typeof d=="object")for(var I in d)Qn(l,I,d[I],m);else if(d=_(d),arguments.length===2)vn(l,function(ne){return V(d,ne)!==-1});else for(var T=0,j=d.length;T<j;T++)Qn(l,d[T],m,b);return this}function vn(l,d){for(var m in l[Ot]){var b=m.split(/\d/)[0];(!d||d(b))&&Qn(l,b,null,null,m)}}var Ui={mouseenter:"mouseover",mouseleave:"mouseout",wheel:!("onwheel"in window)&&"mousewheel"};function Ln(l,d,m,b){var I=d+c(m)+(b?"_"+c(b):"");if(l[Ot]&&l[Ot][I])return this;var T=function(ne){return m.call(b||l,ne||window.event)},j=T;!De.touchNative&&De.pointer&&d.indexOf("touch")===0?T=ct(l,d,T):De.touch&&d==="dblclick"?T=oi(l,T):"addEventListener"in l?d==="touchstart"||d==="touchmove"||d==="wheel"||d==="mousewheel"?l.addEventListener(Ui[d]||d,T,De.passiveEvents?{passive:!1}:!1):d==="mouseenter"||d==="mouseleave"?(T=function(ne){ne=ne||window.event,Jn(l,ne)&&j(ne)},l.addEventListener(Ui[d],T,!1)):l.addEventListener(d,j,!1):l.attachEvent("on"+d,T),l[Ot]=l[Ot]||{},l[Ot][I]=T}function Qn(l,d,m,b,I){I=I||d+c(m)+(b?"_"+c(b):"");var T=l[Ot]&&l[Ot][I];if(!T)return this;!De.touchNative&&De.pointer&&d.indexOf("touch")===0?Ct(l,d,T):De.touch&&d==="dblclick"?st(l,T):"removeEventListener"in l?l.removeEventListener(Ui[d]||d,T,!1):l.detachEvent("on"+d,T),l[Ot][I]=null}function Ii(l){return l.stopPropagation?l.stopPropagation():l.originalEvent?l.originalEvent._stopped=!0:l.cancelBubble=!0,this}function qt(l){return Ln(l,"wheel",Ii),this}function nn(l){return We(l,"mousedown touchstart dblclick contextmenu",Ii),l._leaflet_disable_click=!0,this}function zi(l){return l.preventDefault?l.preventDefault():l.returnValue=!1,this}function rs(l){return zi(l),Ii(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 jo(l,d){if(!d)return new Fe(l.clientX,l.clientY);var m=Qe(d),b=m.boundingClientRect;return new Fe((l.clientX-b.left)/m.x-d.clientLeft,(l.clientY-b.top)/m.y-d.clientTop)}var Mr=De.linux&&De.chrome?window.devicePixelRatio:De.mac?window.devicePixelRatio*3:window.devicePixelRatio>0?2*window.devicePixelRatio:1;function Ka(l){return De.edge?l.wheelDeltaY/2:l.deltaY&&l.deltaMode===0?-l.deltaY/Mr: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 Jn(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 ga={__proto__:null,on:We,off:zt,stopPropagation:Ii,disableScrollPropagation:qt,disableClickPropagation:nn,preventDefault:zi,stop:rs,getPropagationPath:oo,getMousePosition:jo,getWheelDelta:Ka,isExternalTarget:Jn,addListener:We,removeListener:zt},fa=ti.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=Dt(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=Se(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(),ke(this._el,m),this.fire("step")},_complete:function(){ut(this._animId),this._inProgress=!1,this.fire("end")},_easeOut:function(l){return 1-Math.pow(1-l,this._easeOutPower)}}),qi=ti.extend({options:{crs:Ji,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(Nt(d.center),d.zoom,{reset:!0}),this.callInitHooks(),this._zoomAnimated=K&&De.any3d&&!De.mobileOpera&&this.options.zoomAnimation,this._zoomAnimated&&(this._createAnimProxy(),We(this._proxy,Ce,this._catchTransitionEnd,this)),this._addLayers(this.options.layers)},setView:function(l,d,m){if(d=d===void 0?this._zoom:this._limitZoom(d),l=this._limitCenter(Nt(l),d,this.options.maxBounds),m=m||{},this._stop(),this._loaded&&!m.reset&&m!==!0){m.animate!==void 0&&(m.zoom=n({animate:m.animate},m.zoom),m.pan=n({animate:m.animate,duration:m.duration},m.pan));var b=this._zoom!==d?this._tryAnimatedZoom&&this._tryAnimatedZoom(l,d,m.zoom):this._tryAnimatedPan(l,m.pan);if(b)return clearTimeout(this._sizeTimer),this}return this._resetView(l,d,m.pan&&m.pan.noMoveStart),this},setZoom:function(l,d){return this._loaded?this.setView(this.getCenter(),l,{zoom:d}):(this._zoom=l,this)},zoomIn:function(l,d){return l=l||(De.any3d?this.options.zoomDelta:1),this.setZoom(this._zoom+l,d)},zoomOut:function(l,d){return l=l||(De.any3d?this.options.zoomDelta:1),this.setZoom(this._zoom-l,d)},setZoomAround:function(l,d,m){var b=this.getZoomScale(d),I=this.getSize().divideBy(2),T=l instanceof Fe?l:this.latLngToContainerPoint(l),j=T.subtract(I).multiplyBy(1-1/b),ne=this.containerPointToLatLng(I.add(j));return this.setView(ne,d,{zoom:m})},_getBoundsCenterZoom:function(l,d){d=d||{},l=l.getBounds?l.getBounds():xi(l);var m=Je(d.paddingTopLeft||d.padding||[0,0]),b=Je(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 T=b.subtract(m).divideBy(2),j=this.project(l.getSouthWest(),I),ne=this.project(l.getNorthEast(),I),he=this.unproject(j.add(ne).divideBy(2).add(T),I);return{center:he,zoom:I}},fitBounds:function(l,d){if(l=xi(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=Je(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 fa,this._panAnim.on({step:this._onPanTransitionStep,end:this._onPanTransitionEnd},this)),d.noMoveStart||this.fire("movestart"),d.animate!==!1){Re(this._mapPane,"leaflet-pan-anim");var m=this._getMapPanePos().subtract(l).round();this._panAnim.run(this._mapPane,m,d.duration||.25,d.easeLinearity)}else this._rawPanBy(l),this.fire("move").fire("moveend");return this},flyTo:function(l,d,m){if(m=m||{},m.animate===!1||!De.any3d)return this.setView(l,d,m);this._stop();var b=this.project(this.getCenter()),I=this.project(l),T=this.getSize(),j=this._zoom;l=Nt(l),d=d===void 0?j:d;var ne=Math.max(T.x,T.y),he=ne*this.getZoomScale(j,d),Ue=I.distanceTo(b)||1,Ht=1.42,Ei=Ht*Ht;function ln(Ps){var zm=Ps?-1:1,lA=Ps?he:ne,cA=he*he-ne*ne+zm*Ei*Ei*Ue*Ue,dA=2*lA*Ei*Ue,hw=cA/dA,qL=Math.sqrt(hw*hw+1)-hw,hA=qL<1e-9?-18:Math.log(qL);return hA}function po(Ps){return(Math.exp(Ps)-Math.exp(-Ps))/2}function Bs(Ps){return(Math.exp(Ps)+Math.exp(-Ps))/2}function or(Ps){return po(Ps)/Bs(Ps)}var Io=ln(0);function Kh(Ps){return ne*(Bs(Io)/Bs(Io+Ht*Ps))}function sA(Ps){return ne*(Bs(Io)*or(Io+Ht*Ps)-po(Io))/Ei}function oA(Ps){return 1-Math.pow(1-Ps,1.5)}var rA=Date.now(),UL=(ln(1)-Io)/Ht,aA=m.duration?1e3*m.duration:1e3*UL*.8;function $L(){var Ps=(Date.now()-rA)/aA,zm=oA(Ps)*UL;Ps<=1?(this._flyToFrame=Se($L,this),this._move(this.unproject(b.add(I.subtract(b).multiplyBy(sA(zm)/Ue)),j),this.getScaleZoom(ne/Kh(zm),j),{flyTo:!0})):this._move(l,d)._moveEnd(!0)}return this._moveStart(!0,m.noMoveStart),$L.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=xi(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,xi(l));return m.equals(b)||this.panTo(b,d),this._enforcingBounds=!1,this},panInside:function(l,d){d=d||{};var m=Je(d.paddingTopLeft||d.padding||[0,0]),b=Je(d.paddingBottomRight||d.padding||[0,0]),I=this.project(this.getCenter()),T=this.project(l),j=this.getPixelBounds(),ne=Yt([j.min.add(m),j.max.subtract(b)]),he=ne.getSize();if(!ne.contains(T)){this._enforcingBounds=!0;var Ue=T.subtract(ne.getCenter()),Ht=ne.extend(T).getSize().subtract(he);I.x+=Ue.x<0?-Ht.x:Ht.x,I.y+=Ue.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(),T=b.subtract(I);return!T.x&&!T.y?this:(l.animate&&l.pan?this.panBy(T):(l.pan&&this._rawPanBy(T),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 ii(d,m),I=b.toBounds(l.coords.accuracy*2),T=this._locateOptions;if(T.setView){var j=this.getBoundsZoom(I);this.setView(b,T.maxZoom?Math.min(j,T.maxZoom):j)}var ne={latlng:b,bounds:I,timestamp:l.timestamp};for(var he in l.coords)typeof l.coords[he]=="number"&&(ne[he]=l.coords[he]);this.fire("locationfound",ne)}},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(),tt(this._mapPane),this._clearControlPos&&this._clearControlPos(),this._resizeRequest&&(ut(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)tt(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=Te("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 Ci(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=xi(l),m=Je(m||[0,0]);var b=this.getZoom()||0,I=this.getMinZoom(),T=this.getMaxZoom(),j=l.getNorthWest(),ne=l.getSouthEast(),he=this.getSize().subtract(m),Ue=Yt(this.project(ne,b),this.project(j,b)).getSize(),Ht=De.any3d?this.options.zoomSnap:1,Ei=he.x/Ue.x,ln=he.y/Ue.y,po=d?Math.max(Ei,ln):Math.min(Ei,ln);return b=this.getScaleZoom(po,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(T,b))},getSize:function(){return(!this._size||this._sizeChanged)&&(this._size=new Fe(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 Lt(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(Nt(l),d)},unproject:function(l,d){return d=d===void 0?this._zoom:d,this.options.crs.pointToLatLng(Je(l),d)},layerPointToLatLng:function(l){var d=Je(l).add(this.getPixelOrigin());return this.unproject(d)},latLngToLayerPoint:function(l){var d=this.project(Nt(l))._round();return d._subtract(this.getPixelOrigin())},wrapLatLng:function(l){return this.options.crs.wrapLatLng(Nt(l))},wrapLatLngBounds:function(l){return this.options.crs.wrapLatLngBounds(xi(l))},distance:function(l,d){return this.options.crs.distance(Nt(l),Nt(d))},containerPointToLayerPoint:function(l){return Je(l).subtract(this._getMapPanePos())},layerPointToContainerPoint:function(l){return Je(l).add(this._getMapPanePos())},containerPointToLatLng:function(l){var d=this.containerPointToLayerPoint(Je(l));return this.layerPointToLatLng(d)},latLngToContainerPoint:function(l){return this.layerPointToContainerPoint(this.latLngToLayerPoint(Nt(l)))},mouseEventToContainerPoint:function(l){return jo(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.");We(d,"scroll",this._onScroll,this),this._containerId=c(d)},_initLayout:function(){var l=this._container;this._fadeAnimated=this.options.fadeAnimation&&De.any3d,Re(l,"leaflet-container"+(De.touch?" leaflet-touch":"")+(De.retina?" leaflet-retina":"")+(De.ielt9?" leaflet-oldie":"")+(De.safari?" leaflet-safari":"")+(this._fadeAnimated?" leaflet-fade-anim":""));var d=Ve(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),ke(this._mapPane,new Fe(0,0)),this.createPane("tilePane"),this.createPane("overlayPane"),this.createPane("shadowPane"),this.createPane("markerPane"),this.createPane("tooltipPane"),this.createPane("popupPane"),this.options.markerZoomAnimation||(Re(l.markerPane,"leaflet-zoom-hide"),Re(l.shadowPane,"leaflet-zoom-hide"))},_resetView:function(l,d,m){ke(this._mapPane,new Fe(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 ut(this._flyToFrame),this._panAnim&&this._panAnim.stop(),this},_rawPanBy:function(l){ke(this._mapPane,this._getMapPanePos().subtract(l))},_getZoomSpan:function(){return this.getMaxZoom()-this.getMinZoom()},_panInsideMaxBounds:function(){this._enforcingBounds||this.panInsideBounds(this.options.maxBounds)},_checkIfLoaded:function(){if(!this._loaded)throw new Error("Set map center and zoom first.")},_initEvents:function(l){this._targets={},this._targets[c(this._container)]=this;var d=l?zt:We;d(this._container,"click dblclick mousedown mouseup mouseover mouseout mousemove contextmenu keypress keydown keyup",this._handleDOMEvent,this),this.options.trackResize&&d(window,"resize",this._onResize,this),De.any3d&&this.options.transform3DLimit&&(l?this.off:this.on).call(this,"moveend",this._onMoveEnd)},_onResize:function(){ut(this._resizeRequest),this._resizeRequest=Se(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",T=l.target||l.srcElement,j=!1;T;){if(b=this._targets[c(T)],b&&(d==="click"||d==="preclick")&&this._draggableMoved(b)){j=!0;break}if(b&&b.listens(d,!0)&&(I&&!Jn(T,l)||(m.push(b),I))||T===this._container)break;T=T.parentNode}return!m.length&&!j&&!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"&&Ye(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 T=[],j=0;j<m.length;j++)m[j].listens(d,!0)&&T.push(m[j]);I=T.concat(I)}if(I.length){d==="contextmenu"&&zi(l);var ne=I[0],he={originalEvent:l};if(l.type!=="keypress"&&l.type!=="keydown"&&l.type!=="keyup"){var Ue=ne.getLatLng&&(!ne._radius||ne._radius<=10);he.containerPoint=Ue?this.latLngToContainerPoint(ne.getLatLng()):this.mouseEventToContainerPoint(l),he.layerPoint=this.containerPointToLayerPoint(he.containerPoint),he.latlng=Ue?ne.getLatLng():this.layerPointToLatLng(he.layerPoint)}for(j=0;j<I.length;j++)if(I[j].fire(d,he,!0),he.originalEvent._stopped||I[j].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 Dt(this._mapPane)||new Fe(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 Yt([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),T=new Lt(b.subtract(I),b.add(I)),j=this._getBoundsOffset(T,m,d);return Math.abs(j.x)<=1&&Math.abs(j.y)<=1?l:this.unproject(b.add(j),d)},_limitOffset:function(l,d){if(!d)return l;var m=this.getPixelBounds(),b=new Lt(m.min.add(l),m.max.add(l));return l.add(this._getBoundsOffset(b,d))},_getBoundsOffset:function(l,d,m){var b=Yt(this.project(d.getNorthEast(),m),this.project(d.getSouthWest(),m)),I=b.min.subtract(l.min),T=b.max.subtract(l.max),j=this._rebound(I.x,-T.x),ne=this._rebound(I.y,-T.y);return new Fe(j,ne)},_rebound:function(l,d){return l+d>0?Math.round(l-d)/2:Math.max(0,Math.ceil(l))-Math.max(0,Math.floor(d))},_limitZoom:function(l){var d=this.getMinZoom(),m=this.getMaxZoom(),b=De.any3d?this.options.zoomSnap:1;return b&&(l=Math.round(l/b)*b),Math.max(d,Math.min(m,l))},_onPanTransitionStep:function(){this.fire("move")},_onPanTransitionEnd:function(){dt(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=Te("div","leaflet-proxy leaflet-zoom-animated");this._panes.mapPane.appendChild(l),this.on("zoomanim",function(d){var m=N,b=this._proxy.style[m];Me(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(){tt(this._proxy),this.off("load moveend",this._animMoveEnd,this),delete this._proxy},_animMoveEnd:function(){var l=this.getCenter(),d=this.getZoom();Me(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:(Se(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,Re(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&&dt(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 Nr(l,d){return new qi(l,d)}var qs=at.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 Re(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?(tt(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()}}),Ls=function(l){return new qs(l)};qi.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=Te("div",d+"control-container",this._container);function b(I,T){var j=d+I+" "+d+T;l[I+T]=Te("div",j,m)}b("top","left"),b("top","right"),b("bottom","left"),b("bottom","right")},_clearControlPos:function(){for(var l in this._controlCorners)tt(this._controlCorners[l]);tt(this._controlContainer),delete this._controlCorners,delete this._controlContainer}});var Ks=qs.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 qs.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(){Re(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?(Re(this._section,"leaflet-control-layers-scrollbar"),this._section.style.height=l+"px"):dt(this._section,"leaflet-control-layers-scrollbar"),this._checkDisabledLayers(),this},collapse:function(){return dt(this._container,"leaflet-control-layers-expanded"),this},_initLayout:function(){var l="leaflet-control-layers",d=this._container=Te("div",l),m=this.options.collapsed;d.setAttribute("aria-haspopup",!0),nn(d),qt(d);var b=this._section=Te("section",l+"-list");m&&(this._map.on("click",this.collapse,this),We(d,{mouseenter:this._expandSafely,mouseleave:this.collapse},this));var I=this._layersLink=Te("a",l+"-toggle",d);I.href="#",I.title="Layers",I.setAttribute("role","button"),We(I,{keydown:function(T){T.keyCode===13&&this._expandSafely()},click:function(T){zi(T),this._expandSafely()}},this),m||this.expand(),this._baseLayersList=Te("div",l+"-base",b),this._separator=Te("div",l+"-separator",b),this._overlaysList=Te("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;Vt(this._baseLayersList),Vt(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),We(b,"click",this._onInputClick,this);var I=document.createElement("span");I.innerHTML=" "+l.name;var T=document.createElement("span");d.appendChild(T),T.appendChild(b),T.appendChild(I);var j=l.overlay?this._overlaysList:this._baseLayersList;return j.appendChild(d),this._checkDisabledLayers(),d},_onInputClick:function(){if(!this._preventClick){var l=this._layerControlInputs,d,m,b=[],I=[];this._handlingClick=!0;for(var T=l.length-1;T>=0;T--)d=l[T],m=this._getLayer(d.layerId).layer,d.checked?b.push(m):d.checked||I.push(m);for(T=0;T<I.length;T++)this._map.hasLayer(I[T])&&this._map.removeLayer(I[T]);for(T=0;T<b.length;T++)this._map.hasLayer(b[T])||this._map.addLayer(b[T]);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,We(l,"click",zi),this.expand();var d=this;setTimeout(function(){zt(l,"click",zi),d._preventClick=!1})}}),Rr=function(l,d,m){return new Ks(l,d,m)},Ga=qs.extend({options:{position:"topleft",zoomInText:'<span aria-hidden="true">+</span>',zoomInTitle:"Zoom in",zoomOutText:'<span aria-hidden="true">&#x2212;</span>',zoomOutTitle:"Zoom out"},onAdd:function(l){var d="leaflet-control-zoom",m=Te("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 T=Te("a",m,b);return T.innerHTML=l,T.href="#",T.title=d,T.setAttribute("role","button"),T.setAttribute("aria-label",d),nn(T),We(T,"click",rs),We(T,"click",I,this),We(T,"click",this._refocusOnMap,this),T},_updateDisabled:function(){var l=this._map,d="leaflet-disabled";dt(this._zoomInButton,d),dt(this._zoomOutButton,d),this._zoomInButton.setAttribute("aria-disabled","false"),this._zoomOutButton.setAttribute("aria-disabled","false"),(this._disabled||l._zoom===l.getMinZoom())&&(Re(this._zoomOutButton,d),this._zoomOutButton.setAttribute("aria-disabled","true")),(this._disabled||l._zoom===l.getMaxZoom())&&(Re(this._zoomInButton,d),this._zoomInButton.setAttribute("aria-disabled","true"))}});qi.mergeOptions({zoomControl:!0}),qi.addInitHook(function(){this.options.zoomControl&&(this.zoomControl=new Ga,this.addControl(this.zoomControl))});var Al=function(l){return new Ga(l)},Za=qs.extend({options:{position:"bottomleft",maxWidth:100,metric:!0,imperial:!0},onAdd:function(l){var d="leaflet-control-scale",m=Te("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=Te("div",d,m)),l.imperial&&(this._iScale=Te("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}}),Uo=function(l){return new Za(l)},Ar='<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>',Or=qs.extend({options:{position:"bottomright",prefix:'<a href="https://leafletjs.com" title="A JavaScript library for interactive maps">'+(De.inlineSvg?Ar+" ":"")+"Leaflet</a>"},initialize:function(l){w(this,l),this._attributions={}},onAdd:function(l){l.attributionControl=this,this._container=Te("div","leaflet-control-attribution"),nn(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> ')}}});qi.mergeOptions({attributionControl:!0}),qi.addInitHook(function(){this.options.attributionControl&&new Or().addTo(this)});var Em=function(l){return new Or(l)};qs.Layers=Ks,qs.Zoom=Ga,qs.Scale=Za,qs.Attribution=Or,Ls.layers=Rr,Ls.zoom=Al,Ls.scale=Uo,Ls.attribution=Em;var sr=at.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}});sr.addTo=function(l,d){return l.addHandler(d,this),this};var Pm={Events:Ut},Xg=De.touch?"touchstart mousedown":"mousedown",$o=ti.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||(We(this._dragStartTarget,Xg,this._onDown,this),this._enabled=!0)},disable:function(){this._enabled&&($o._dragging===this&&this.finishDrag(!0),zt(this._dragStartTarget,Xg,this._onDown,this),this._enabled=!1,this._moved=!1)},_onDown:function(l){if(this._enabled&&(this._moved=!1,!ft(this._element,"leaflet-zoom-anim"))){if(l.touches&&l.touches.length!==1){$o._dragging===this&&this.finishDrag();return}if(!($o._dragging||l.shiftKey||l.which!==1&&l.button!==1&&!l.touches)&&($o._dragging=this,this._preventOutline&&Ye(this._element),pe(),ot(),!this._moving)){this.fire("down");var d=l.touches?l.touches[0]:l,m=Ne(this._element);this._startPoint=new Fe(d.clientX,d.clientY),this._startPos=Dt(this._element),this._parentScale=Qe(m);var b=l.type==="mousedown";We(document,b?"mousemove":"touchmove",this._onMove,this),We(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 Fe(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,zi(l),this._moved||(this.fire("dragstart"),this._moved=!0,Re(document.body,"leaflet-dragging"),this._lastTarget=l.target||l.srcElement,window.SVGElementInstance&&this._lastTarget instanceof window.SVGElementInstance&&(this._lastTarget=this._lastTarget.correspondingUseElement),Re(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),ke(this._element,this._newPos),this.fire("drag",l)},_onUp:function(){this._enabled&&this.finishDrag()},finishDrag:function(l){dt(document.body,"leaflet-dragging"),this._lastTarget&&(dt(this._lastTarget,"leaflet-drag-target"),this._lastTarget=null),zt(document,"mousemove touchmove",this._onMove,this),zt(document,"mouseup touchend touchcancel",this._onUp,this),ye(),Ee();var d=this._moved&&this._moving;this._moving=!1,$o._dragging=!1,d&&this.fire("dragend",{noInertia:l,distance:this._newPos.distanceTo(this._startPos)})}});function Tm(l,d,m){var b,I=[1,4,2,8],T,j,ne,he,Ue,Ht,Ei,ln;for(T=0,Ht=l.length;T<Ht;T++)l[T]._code=Xa(l[T],d);for(ne=0;ne<4;ne++){for(Ei=I[ne],b=[],T=0,Ht=l.length,j=Ht-1;T<Ht;j=T++)he=l[T],Ue=l[j],he._code&Ei?Ue._code&Ei||(ln=zc(Ue,he,Ei,d,m),ln._code=Xa(ln,d),b.push(ln)):(Ue._code&Ei&&(ln=zc(Ue,he,Ei,d,m),ln._code=Xa(ln,d),b.push(ln)),b.push(he));l=b}return l}function Yg(l,d){var m,b,I,T,j,ne,he,Ue,Ht;if(!l||l.length===0)throw new Error("latlngs not passed");ko(l)||(console.warn("latlngs are not flat! Only the first ring will be used"),l=l[0]);var Ei=Nt([0,0]),ln=xi(l),po=ln.getNorthWest().distanceTo(ln.getSouthWest())*ln.getNorthEast().distanceTo(ln.getNorthWest());po<1700&&(Ei=Qg(l));var Bs=l.length,or=[];for(m=0;m<Bs;m++){var Io=Nt(l[m]);or.push(d.project(Nt([Io.lat-Ei.lat,Io.lng-Ei.lng])))}for(ne=he=Ue=0,m=0,b=Bs-1;m<Bs;b=m++)I=or[m],T=or[b],j=I.y*T.x-T.y*I.x,he+=(I.x+T.x)*j,Ue+=(I.y+T.y)*j,ne+=j*3;ne===0?Ht=or[0]:Ht=[he/ne,Ue/ne];var Kh=d.unproject(Je(Ht));return Nt([Kh.lat+Ei.lat,Kh.lng+Ei.lng])}function Qg(l){for(var d=0,m=0,b=0,I=0;I<l.length;I++){var T=Nt(l[I]);d+=T.lat,m+=T.lng,b++}return Nt([d/b,m/b])}var ow={__proto__:null,clipPolygon:Tm,polygonCenter:Yg,centroid:Qg};function Jg(l,d){if(!d||!l.length)return l.slice();var m=d*d;return l=Rm(l,m),l=Nm(l,m),l}function Mm(l,d,m){return Math.sqrt(Vc(l,d,m,!0))}function ef(l,d,m){return Vc(l,d,m)}function Nm(l,d){var m=l.length,b=typeof Uint8Array<"u"?Uint8Array:Array,I=new b(m);I[0]=I[m-1]=1,tf(l,I,d,0,m-1);var T,j=[];for(T=0;T<m;T++)I[T]&&j.push(l[T]);return j}function tf(l,d,m,b,I){var T=0,j,ne,he;for(ne=b+1;ne<=I-1;ne++)he=Vc(l[ne],l[b],l[I],!0),he>T&&(j=ne,T=he);T>m&&(d[j]=1,tf(l,d,m,b,j),tf(l,d,m,j,I))}function Rm(l,d){for(var m=[l[0]],b=1,I=0,T=l.length;b<T;b++)Am(l[b],l[I])>d&&(m.push(l[b]),I=b);return I<T-1&&m.push(l[T-1]),m}var nf;function sf(l,d,m,b,I){var T=b?nf:Xa(l,m),j=Xa(d,m),ne,he,Ue;for(nf=j;;){if(!(T|j))return[l,d];if(T&j)return!1;ne=T||j,he=zc(l,d,ne,m,I),Ue=Xa(he,m),ne===T?(l=he,T=Ue):(d=he,j=Ue)}}function zc(l,d,m,b,I){var T=d.x-l.x,j=d.y-l.y,ne=b.min,he=b.max,Ue,Ht;return m&8?(Ue=l.x+T*(he.y-l.y)/j,Ht=he.y):m&4?(Ue=l.x+T*(ne.y-l.y)/j,Ht=ne.y):m&2?(Ue=he.x,Ht=l.y+j*(he.x-l.x)/T):m&1&&(Ue=ne.x,Ht=l.y+j*(ne.x-l.x)/T),new Fe(Ue,Ht,I)}function Xa(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 Am(l,d){var m=d.x-l.x,b=d.y-l.y;return m*m+b*b}function Vc(l,d,m,b){var I=d.x,T=d.y,j=m.x-I,ne=m.y-T,he=j*j+ne*ne,Ue;return he>0&&(Ue=((l.x-I)*j+(l.y-T)*ne)/he,Ue>1?(I=m.x,T=m.y):Ue>0&&(I+=j*Ue,T+=ne*Ue)),j=l.x-I,ne=l.y-T,b?j*j+ne*ne:new Fe(I,T)}function ko(l){return!A(l[0])||typeof l[0][0]!="object"&&typeof l[0][0]<"u"}function Om(l){return console.warn("Deprecated use of _flat, please use L.LineUtil.isFlat instead."),ko(l)}function Vh(l,d){var m,b,I,T,j,ne,he,Ue;if(!l||l.length===0)throw new Error("latlngs not passed");ko(l)||(console.warn("latlngs are not flat! Only the first ring will be used"),l=l[0]);var Ht=Nt([0,0]),Ei=xi(l),ln=Ei.getNorthWest().distanceTo(Ei.getSouthWest())*Ei.getNorthEast().distanceTo(Ei.getNorthWest());ln<1700&&(Ht=Qg(l));var po=l.length,Bs=[];for(m=0;m<po;m++){var or=Nt(l[m]);Bs.push(d.project(Nt([or.lat-Ht.lat,or.lng-Ht.lng])))}for(m=0,b=0;m<po-1;m++)b+=Bs[m].distanceTo(Bs[m+1])/2;if(b===0)Ue=Bs[0];else for(m=0,T=0;m<po-1;m++)if(j=Bs[m],ne=Bs[m+1],I=j.distanceTo(ne),T+=I,T>b){he=(T-b)/I,Ue=[ne.x-he*(ne.x-j.x),ne.y-he*(ne.y-j.y)];break}var Io=d.unproject(Je(Ue));return Nt([Io.lat+Ht.lat,Io.lng+Ht.lng])}var Fm={__proto__:null,simplify:Jg,pointToSegmentDistance:Mm,closestPointOnSegment:ef,clipSegment:sf,_getEdgeIntersection:zc,_getBitCode:Xa,_sqClosestPointOnSegment:Vc,isFlat:ko,_flat:Om,polylineCenter:Vh},jh={project:function(l){return new Fe(l.lng,l.lat)},unproject:function(l){return new ii(l.y,l.x)},bounds:new Lt([-180,-90],[180,90])},Uh={R:6378137,R_MINOR:6356752314245179e-9,bounds:new Lt([-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,T=Math.sqrt(1-I*I),j=T*Math.sin(b),ne=Math.tan(Math.PI/4-b/2)/Math.pow((1-j)/(1+j),T/2);return b=-m*Math.log(Math.max(ne,1e-10)),new Fe(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),T=Math.exp(-l.y/m),j=Math.PI/2-2*Math.atan(T),ne=0,he=.1,Ue;ne<15&&Math.abs(he)>1e-7;ne++)Ue=I*Math.sin(j),Ue=Math.pow((1-Ue)/(1+Ue),I/2),he=Math.PI/2-2*Math.atan(T*Ue)-j,j+=he;return new ii(j*d,l.x*d/m)}},rw={__proto__:null,LonLat:jh,Mercator:Uh,SphericalMercator:ai},Hm=n({},vt,{code:"EPSG:3395",projection:Uh,transformation:(function(){var l=.5/(Math.PI*Uh.R);return Qi(l,.5,-l,.5)})()}),$h=n({},vt,{code:"EPSG:4326",projection:jh,transformation:Qi(1/180,1,-1/180,.5)}),Wm=n({},Ri,{projection:jh,transformation:Qi(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});Ri.Earth=vt,Ri.EPSG3395=Hm,Ri.EPSG3857=Ji,Ri.EPSG900913=cn,Ri.EPSG4326=$h,Ri.Simple=Wm;var qo=ti.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})}}});qi.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?A(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 Ol=qo.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)}}),aw=function(l,d){return new Ol(l,d)},Fr=Ol.extend({addLayer:function(l){return this.hasLayer(l)?this:(l.addEventParent(this),Ol.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),Ol.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 Ci;for(var d in this._layers){var m=this._layers[d];l.extend(m.getBounds?m.getBounds():m.getLatLng())}return l}}),lw=function(l,d){return new Fr(l,d)},Fl=at.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=Je(b),T=Je(d==="shadow"&&m.shadowAnchor||m.iconAnchor||I&&I.divideBy(2,!0));l.className="leaflet-marker-"+d+" "+(m.className||""),T&&(l.style.marginLeft=-T.x+"px",l.style.marginTop=-T.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 De.retina&&this.options[l+"RetinaUrl"]||this.options[l+"Url"]}});function cw(l){return new Fl(l)}var jc=Fl.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 jc.imagePath!="string"&&(jc.imagePath=this._detectIconPath()),(this.options.imagePath||jc.imagePath)+Fl.prototype._getIconUrl.call(this,l)},_stripUrl:function(l){var d=function(m,b,I){var T=b.exec(m);return T&&T[I]};return l=d(l,/^url\((['"])?(.+)\1\)$/,2),l&&d(l,/^(.*)marker-icon\.png$/,1)},_detectIconPath:function(){var l=Te("div","leaflet-default-icon-path",document.body),d=Ve(l,"background-image")||Ve(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):""}}),F=sr.extend({initialize:function(l){this._marker=l},addHooks:function(){var l=this._marker._icon;this._draggable||(this._draggable=new $o(l,l,!0)),this._draggable.on({dragstart:this._onDragStart,predrag:this._onPreDrag,drag:this._onDrag,dragend:this._onDragEnd},this).enable(),Re(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&&dt(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,T=Dt(d._icon),j=m.getPixelBounds(),ne=m.getPixelOrigin(),he=Yt(j.min._subtract(ne).add(I),j.max._subtract(ne).subtract(I));if(!he.contains(T)){var Ue=Je((Math.max(he.max.x,T.x)-he.max.x)/(j.max.x-he.max.x)-(Math.min(he.min.x,T.x)-he.min.x)/(j.min.x-he.min.x),(Math.max(he.max.y,T.y)-he.max.y)/(j.max.y-he.max.y)-(Math.min(he.min.y,T.y)-he.min.y)/(j.min.y-he.min.y)).multiplyBy(b);m.panBy(Ue,{animate:!1}),this._draggable._newPos._add(Ue),this._draggable._startPos._add(Ue),ke(d._icon,this._draggable._newPos),this._onDrag(l),this._panRequest=Se(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&&(ut(this._panRequest),this._panRequest=Se(this._adjustPan.bind(this,l)))},_onDrag:function(l){var d=this._marker,m=d._shadow,b=Dt(d._icon),I=d._map.layerPointToLatLng(b);m&&ke(m,b),d._latlng=I,l.latlng=I,l.oldLatLng=this._oldLatLng,d.fire("move",l).fire("drag",l)},_onDragEnd:function(l){ut(this._panRequest),delete this._oldLatLng,this._marker.fire("moveend").fire("dragend",l)}}),ee=qo.extend({options:{icon:new jc,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=Nt(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=Nt(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||"")),Re(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&&We(m,"focus",this._panOnFocus,this);var I=l.icon.createShadow(this._shadow),T=!1;I!==this._shadow&&(this._removeShadow(),T=!0),I&&(Re(I,d),I.alt=""),this._shadow=I,l.opacity<1&&this._updateOpacity(),b&&this.getPane().appendChild(this._icon),this._initInteraction(),I&&T&&this.getPane(l.shadowPane).appendChild(this._shadow)},_removeIcon:function(){this.options.riseOnHover&&this.off({mouseover:this._bringToFront,mouseout:this._resetZIndex}),this.options.autoPanOnFocus&&zt(this._icon,"focus",this._panOnFocus,this),tt(this._icon),this.removeInteractiveTarget(this._icon),this._icon=null},_removeShadow:function(){this._shadow&&tt(this._shadow),this._shadow=null},_setPos:function(l){this._icon&&ke(this._icon,l),this._shadow&&ke(this._shadow,l),this._zIndex=l.y+this.options.zIndexOffset,this._resetZIndex()},_updateZIndex:function(l){this._icon&&(this._icon.style.zIndex=this._zIndex+l)},_animateZoom:function(l){var d=this._map._latLngToNewLayerPoint(this._latlng,l.zoom,l.center).round();this._setPos(d)},_initInteraction:function(){if(this.options.interactive&&(Re(this._icon,"leaflet-interactive"),this.addInteractiveTarget(this._icon),F)){var l=this.options.draggable;this.dragging&&(l=this.dragging.enabled(),this.dragging.disable()),this.dragging=new F(this),l&&this.dragging.enable()}},setOpacity:function(l){return this.options.opacity=l,this._map&&this._updateOpacity(),this},_updateOpacity:function(){var l=this.options.opacity;this._icon&&Y(this._icon,l),this._shadow&&Y(this._shadow,l)},_bringToFront:function(){this._updateZIndex(this.options.riseOffset)},_resetZIndex:function(){this._updateZIndex(0)},_panOnFocus:function(){var l=this._map;if(l){var d=this.options.icon.options,m=d.iconSize?Je(d.iconSize):Je(0,0),b=d.iconAnchor?Je(d.iconAnchor):Je(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 ve(l,d){return new ee(l,d)}var ae=qo.extend({options:{stroke:!0,color:"#3388ff",weight:3,opacity:1,lineCap:"round",lineJoin:"round",dashArray:null,dashOffset:null,fill:!1,fillColor:null,fillOpacity:.2,fillRule:"evenodd",interactive:!0,bubblingMouseEvents:!0},beforeAdd:function(l){this._renderer=l.getRenderer(this)},onAdd:function(){this._renderer._initPath(this),this._reset(),this._renderer._addPath(this)},onRemove:function(){this._renderer._removePath(this)},redraw:function(){return this._map&&this._renderer._updatePath(this),this},setStyle:function(l){return 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)}}),Ze=ae.extend({options:{fill:!0,radius:10},initialize:function(l,d){w(this,d),this._latlng=Nt(l),this._radius=this.options.radius},setLatLng:function(l){var d=this._latlng;return this._latlng=Nt(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 ae.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 Lt(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 Et(l,d){return new Ze(l,d)}var Ft=Ze.extend({initialize:function(l,d,m){if(typeof d=="number"&&(d=n({},m,{radius:d})),w(this,d),this._latlng=Nt(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 Ci(this._map.layerPointToLatLng(this._point.subtract(l)),this._map.layerPointToLatLng(this._point.add(l)))},setStyle:ae.prototype.setStyle,_project:function(){var l=this._latlng.lng,d=this._latlng.lat,m=this._map,b=m.options.crs;if(b.distance===vt.distance){var I=Math.PI/180,T=this._mRadius/vt.R/I,j=m.project([d+T,l]),ne=m.project([d-T,l]),he=j.add(ne).divideBy(2),Ue=m.unproject(he).lat,Ht=Math.acos((Math.cos(T*I)-Math.sin(d*I)*Math.sin(Ue*I))/(Math.cos(d*I)*Math.cos(Ue*I)))/I;(isNaN(Ht)||Ht===0)&&(Ht=T/Math.cos(Math.PI/180*d)),this._point=he.subtract(m.getPixelOrigin()),this._radius=isNaN(Ht)?0:he.x-m.project([Ue,l-Ht]).x,this._radiusY=he.y-j.y}else{var Ei=b.unproject(b.project(this._latlng).subtract([this._mRadius,0]));this._point=m.latLngToLayerPoint(this._latlng),this._radius=this._point.x-m.latLngToLayerPoint(Ei).x}this._updateBounds()}});function Oi(l,d,m){return new Ft(l,d,m)}var bi=ae.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=Vc,I,T,j=0,ne=this._parts.length;j<ne;j++)for(var he=this._parts[j],Ue=1,Ht=he.length;Ue<Ht;Ue++){I=he[Ue-1],T=he[Ue];var Ei=b(l,I,T,!0);Ei<d&&(d=Ei,m=b(l,I,T))}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 Vh(this._defaultShape(),this._map.options.crs)},getBounds:function(){return this._bounds},addLatLng:function(l,d){return d=d||this._defaultShape(),l=Nt(l),d.push(l),this._bounds.extend(l),this.redraw()},_setLatLngs:function(l){this._bounds=new Ci,this._latlngs=this._convertLatLngs(l)},_defaultShape:function(){return ko(this._latlngs)?this._latlngs:this._latlngs[0]},_convertLatLngs:function(l){for(var d=[],m=ko(l),b=0,I=l.length;b<I;b++)m?(d[b]=Nt(l[b]),this._bounds.extend(d[b])):d[b]=this._convertLatLngs(l[b]);return d},_project:function(){var l=new Lt;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 Fe(l,l);this._rawPxBounds&&(this._pxBounds=new Lt([this._rawPxBounds.min.subtract(d),this._rawPxBounds.max.add(d)]))},_projectLatlngs:function(l,d,m){var b=l[0]instanceof ii,I=l.length,T,j;if(b){for(j=[],T=0;T<I;T++)j[T]=this._map.latLngToLayerPoint(l[T]),m.extend(j[T]);d.push(j)}else for(T=0;T<I;T++)this._projectLatlngs(l[T],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,T,j,ne,he;for(m=0,I=0,T=this._rings.length;m<T;m++)for(he=this._rings[m],b=0,j=he.length;b<j-1;b++)ne=sf(he[b],he[b+1],l,b,!0),ne&&(d[I]=d[I]||[],d[I].push(ne[0]),(ne[1]!==he[b+1]||b===j-2)&&(d[I].push(ne[1]),I++))}},_simplifyPoints:function(){for(var l=this._parts,d=this.options.smoothFactor,m=0,b=l.length;m<b;m++)l[m]=Jg(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,T,j,ne,he=this._clickTolerance();if(!this._pxBounds||!this._pxBounds.contains(l))return!1;for(m=0,T=this._parts.length;m<T;m++)for(ne=this._parts[m],b=0,j=ne.length,I=j-1;b<j;I=b++)if(!(!d&&b===0)&&Mm(l,ne[I],ne[b])<=he)return!0;return!1}});function $i(l,d){return new bi(l,d)}bi._flat=Om;var yi=bi.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 Yg(this._defaultShape(),this._map.options.crs)},_convertLatLngs:function(l){var d=bi.prototype._convertLatLngs.call(this,l),m=d.length;return m>=2&&d[0]instanceof ii&&d[0].equals(d[m-1])&&d.pop(),d},_setLatLngs:function(l){bi.prototype._setLatLngs.call(this,l),ko(this._latlngs)&&(this._latlngs=[this._latlngs])},_defaultShape:function(){return ko(this._latlngs[0])?this._latlngs[0]:this._latlngs[0][0]},_clipPoints:function(){var l=this._renderer._bounds,d=this.options.weight,m=new Fe(d,d);if(l=new Lt(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,T;b<I;b++)T=Tm(this._rings[b],l,!0),T.length&&this._parts.push(T)}},_updatePath:function(){this._renderer._updatePoly(this,!0)},_containsPoint:function(l){var d=!1,m,b,I,T,j,ne,he,Ue;if(!this._pxBounds||!this._pxBounds.contains(l))return!1;for(T=0,he=this._parts.length;T<he;T++)for(m=this._parts[T],j=0,Ue=m.length,ne=Ue-1;j<Ue;ne=j++)b=m[j],I=m[ne],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||bi.prototype._containsPoint.call(this,l,!0)}});function Fi(l,d){return new yi(l,d)}var Di=Fr.extend({initialize:function(l,d){w(this,d),this._layers={},l&&this.addData(l)},addData:function(l){var d=A(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 T=this.options;if(T.filter&&!T.filter(l))return this;var j=Tn(l,T);return j?(j.feature=as(l),j.defaultOptions=j.options,this.resetStyle(j),T.onEachFeature&&T.onEachFeature(l,j),this.addLayer(j)):this},resetStyle:function(l){return l===void 0?this.eachLayer(this.resetStyle,this):(l.options=n({},l.defaultOptions),this._setLayerStyle(l,this.options.style),this)},setStyle:function(l){return this.eachLayer(function(d){this._setLayerStyle(d,l)},this)},_setLayerStyle:function(l,d){l.setStyle&&(typeof d=="function"&&(d=d(l.feature)),l.setStyle(d))}});function Tn(l,d){var m=l.type==="Feature"?l.geometry:l,b=m?m.coordinates:null,I=[],T=d&&d.pointToLayer,j=d&&d.coordsToLatLng||Vn,ne,he,Ue,Ht;if(!b&&!m)return null;switch(m.type){case"Point":return ne=j(b),Kn(T,l,ne,d);case"MultiPoint":for(Ue=0,Ht=b.length;Ue<Ht;Ue++)ne=j(b[Ue]),I.push(Kn(T,l,ne,d));return new Fr(I);case"LineString":case"MultiLineString":return he=Ti(b,m.type==="LineString"?0:1,j),new bi(he,d);case"Polygon":case"MultiPolygon":return he=Ti(b,m.type==="Polygon"?1:2,j),new yi(he,d);case"GeometryCollection":for(Ue=0,Ht=m.geometries.length;Ue<Ht;Ue++){var Ei=Tn({geometry:m.geometries[Ue],type:"Feature",properties:l.properties},d);Ei&&I.push(Ei)}return new Fr(I);case"FeatureCollection":for(Ue=0,Ht=m.features.length;Ue<Ht;Ue++){var ln=Tn(m.features[Ue],d);ln&&I.push(ln)}return new Fr(I);default:throw new Error("Invalid GeoJSON object.")}}function Kn(l,d,m,b){return l?l(d,m):new ee(m,b&&b.markersInheritOptions&&b)}function Vn(l){return new ii(l[1],l[0],l[2])}function Ti(l,d,m){for(var b=[],I=0,T=l.length,j;I<T;I++)j=d?Ti(l[I],d-1,m):(m||Vn)(l[I]),b.push(j);return b}function us(l,d){return l=Nt(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 Ns(l,d,m,b){for(var I=[],T=0,j=l.length;T<j;T++)I.push(d?Ns(l[T],ko(l[T])?0:d-1,m,b):us(l[T],b));return!d&&m&&I.length>0&&I.push(I[0].slice()),I}function bs(l,d){return l.feature?n({},l.feature,{geometry:d}):as(d)}function as(l){return l.type==="Feature"||l.type==="FeatureCollection"?l:{type:"Feature",properties:{},geometry:l}}var is={toGeoJSON:function(l){return bs(this,{type:"Point",coordinates:us(this.getLatLng(),l)})}};ee.include(is),Ft.include(is),Ze.include(is),bi.include({toGeoJSON:function(l){var d=!ko(this._latlngs),m=Ns(this._latlngs,d?1:0,!1,l);return bs(this,{type:(d?"Multi":"")+"LineString",coordinates:m})}}),yi.include({toGeoJSON:function(l){var d=!ko(this._latlngs),m=d&&!ko(this._latlngs[0]),b=Ns(this._latlngs,m?2:d?1:0,!0,l);return d||(b=[b]),bs(this,{type:(m?"Multi":"")+"Polygon",coordinates:b})}}),Ol.include({toMultiPoint:function(l){var d=[];return this.eachLayer(function(m){d.push(m.toGeoJSON(l).geometry.coordinates)}),bs(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 T=I.toGeoJSON(l);if(m)b.push(T.geometry);else{var j=as(T);j.type==="FeatureCollection"?b.push.apply(b,j.features):b.push(j)}}}),m?bs(this,{geometries:b,type:"GeometryCollection"}):{type:"FeatureCollection",features:b}}});function gs(l,d){return new Di(l,d)}var ys=gs,Rs=qo.extend({options:{opacity:1,alt:"",interactive:!1,crossOrigin:!1,errorOverlayUrl:"",zIndex:1,className:""},initialize:function(l,d,m){this._url=l,this._bounds=xi(d),w(this,m)},onAdd:function(){this._image||(this._initImage(),this.options.opacity<1&&this._updateOpacity()),this.options.interactive&&(Re(this._image,"leaflet-interactive"),this.addInteractiveTarget(this._image)),this.getPane().appendChild(this._image),this._reset()},onRemove:function(){tt(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&&ue(this._image),this},bringToBack:function(){return this._map&&Le(this._image),this},setUrl:function(l){return this._url=l,this._image&&(this._image.src=l),this},setBounds:function(l){return this._bounds=xi(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:Te("img");if(Re(d,"leaflet-image-layer"),this._zoomAnimated&&Re(d,"leaflet-zoom-animated"),this.options.className&&Re(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;Me(this._image,m,d)},_reset:function(){var l=this._image,d=new Lt(this._map.latLngToLayerPoint(this._bounds.getNorthWest()),this._map.latLngToLayerPoint(this._bounds.getSouthEast())),m=d.getSize();ke(l,d.min),l.style.width=m.x+"px",l.style.height=m.y+"px"},_updateOpacity:function(){Y(this._image,this.options.opacity)},_updateZIndex:function(){this._image&&this.options.zIndex!==void 0&&this.options.zIndex!==null&&(this._image.style.zIndex=this.options.zIndex)},_overlayOnError:function(){this.fire("error");var l=this.options.errorOverlayUrl;l&&this._url!==l&&(this._url=l,this._image.src=l)},getCenter:function(){return this._bounds.getCenter()}}),pa=function(l,d,m){return new Rs(l,d,m)},Hr=Rs.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:Te("video");if(Re(d,"leaflet-image-layer"),this._zoomAnimated&&Re(d,"leaflet-zoom-animated"),this.options.className&&Re(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}A(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 T=0;T<this._url.length;T++){var j=Te("source");j.src=this._url[T],d.appendChild(j)}}});function As(l,d,m){return new Hr(l,d,m)}var an=Rs.extend({_initImage:function(){var l=this._image=this._url;Re(l,"leaflet-image-layer"),this._zoomAnimated&&Re(l,"leaflet-zoom-animated"),this.options.className&&Re(l,this.options.className),l.onselectstart=f,l.onmousemove=f}});function Ko(l,d,m){return new an(l,d,m)}var ks=qo.extend({options:{interactive:!1,offset:[0,0],className:"",pane:void 0,content:""},initialize:function(l,d){l&&(l instanceof ii||A(l))?(this._latlng=Nt(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&&Y(this._container,0),clearTimeout(this._removeTimeout),this.getPane().appendChild(this._container),this.update(),l._fadeAnimated&&Y(this._container,1),this.bringToFront(),this.options.interactive&&(Re(this._container,"leaflet-interactive"),this.addInteractiveTarget(this._container))},onRemove:function(l){l._fadeAnimated?(Y(this._container,0),this._removeTimeout=setTimeout(r(tt,void 0,this._container),200)):tt(this._container),this.options.interactive&&(dt(this._container,"leaflet-interactive"),this.removeInteractiveTarget(this._container))},getLatLng:function(){return this._latlng},setLatLng:function(l){return this._latlng=Nt(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&&ue(this._container),this},bringToBack:function(){return this._map&&Le(this._container),this},_prepareOpen:function(l){var d=this._source;if(!d._map)return!1;if(d instanceof Fr){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=Je(this.options.offset),m=this._getAnchor();this._zoomAnimated?ke(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]}});qi.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}}),qo.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 Wr=ks.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,ks.prototype.openOn.call(this,l)},onAdd:function(l){ks.prototype.onAdd.call(this,l),l.fire("popupopen",{popup:this}),this._source&&(this._source.fire("popupopen",{popup:this},!0),this._source instanceof ae||this._source.on("preclick",Ii))},onRemove:function(l){ks.prototype.onRemove.call(this,l),l.fire("popupclose",{popup:this}),this._source&&(this._source.fire("popupclose",{popup:this},!0),this._source instanceof ae||this._source.off("preclick",Ii))},getEvents:function(){var l=ks.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=Te("div",l+" "+(this.options.className||"")+" leaflet-zoom-animated"),m=this._wrapper=Te("div",l+"-content-wrapper",d);if(this._contentNode=Te("div",l+"-content",m),nn(d),qt(this._contentNode),We(d,"contextmenu",Ii),this._tipContainer=Te("div",l+"-tip-container",d),this._tip=Te("div",l+"-tip",this._tipContainer),this.options.closeButton){var b=this._closeButton=Te("a",l+"-close-button",d);b.setAttribute("role","button"),b.setAttribute("aria-label","Close popup"),b.href="#close",b.innerHTML='<span aria-hidden="true">&#215;</span>',We(b,"click",function(I){zi(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,T="leaflet-popup-scrolled";I&&b>I?(d.height=I+"px",Re(l,T)):dt(l,T),this._containerWidth=this._container.offsetWidth},_animateZoom:function(l){var d=this._map._latLngToNewLayerPoint(this._latlng,l.zoom,l.center),m=this._getAnchor();ke(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(Ve(this._container,"marginBottom"),10)||0,m=this._container.offsetHeight+d,b=this._containerWidth,I=new Fe(this._containerLeft,-m-this._containerBottom);I._add(Dt(this._container));var T=l.layerPointToContainerPoint(I),j=Je(this.options.autoPanPadding),ne=Je(this.options.autoPanPaddingTopLeft||j),he=Je(this.options.autoPanPaddingBottomRight||j),Ue=l.getSize(),Ht=0,Ei=0;T.x+b+he.x>Ue.x&&(Ht=T.x+b-Ue.x+he.x),T.x-Ht-ne.x<0&&(Ht=T.x-ne.x),T.y+m+he.y>Ue.y&&(Ei=T.y+m-Ue.y+he.y),T.y-Ei-ne.y<0&&(Ei=T.y-ne.y),(Ht||Ei)&&(this.options.keepInView&&(this._autopanning=!0),l.fire("autopanstart").panBy([Ht,Ei]))}},_getAnchor:function(){return Je(this._source&&this._source._getPopupAnchor?this._source._getPopupAnchor():[0,0])}}),of=function(l,d){return new Wr(l,d)};qi.mergeOptions({closePopupOnClick:!0}),qi.include({openPopup:function(l,d,m){return this._initOverlay(Wr,l,d,m).openOn(this),this},closePopup:function(l){return l=arguments.length?l:this._popup,l&&l.close(),this}}),qo.include({bindPopup:function(l,d){return this._popup=this._initOverlay(Wr,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 Fr||(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)){rs(l);var d=l.layer||l.target;if(this._popup._source===d&&!(d instanceof ae)){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 Hl=ks.extend({options:{pane:"tooltipPane",offset:[0,0],direction:"auto",permanent:!1,sticky:!1,opacity:.9},onAdd:function(l){ks.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){ks.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=ks.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=Te("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,T=b.latLngToContainerPoint(b.getCenter()),j=b.layerPointToContainerPoint(l),ne=this.options.direction,he=I.offsetWidth,Ue=I.offsetHeight,Ht=Je(this.options.offset),Ei=this._getAnchor();ne==="top"?(d=he/2,m=Ue):ne==="bottom"?(d=he/2,m=0):ne==="center"?(d=he/2,m=Ue/2):ne==="right"?(d=0,m=Ue/2):ne==="left"?(d=he,m=Ue/2):j.x<T.x?(ne="right",d=0,m=Ue/2):(ne="left",d=he+(Ht.x+Ei.x)*2,m=Ue/2),l=l.subtract(Je(d,m,!0)).add(Ht).add(Ei),dt(I,"leaflet-tooltip-right"),dt(I,"leaflet-tooltip-left"),dt(I,"leaflet-tooltip-top"),dt(I,"leaflet-tooltip-bottom"),Re(I,"leaflet-tooltip-"+ne),ke(I,l)},_updatePosition:function(){var l=this._map.latLngToLayerPoint(this._latlng);this._setPosition(l)},setOpacity:function(l){this.options.opacity=l,this._container&&Y(this._container,l)},_animateZoom:function(l){var d=this._map._latLngToNewLayerPoint(this._latlng,l.zoom,l.center);this._setPosition(d)},_getAnchor:function(){return Je(this._source&&this._source._getTooltipAnchor&&!this.options.sticky?this._source._getTooltipAnchor():[0,0])}}),rf=function(l,d){return new Hl(l,d)};qi.include({openTooltip:function(l,d,m){return this._initOverlay(Hl,l,d,m).openOn(this),this},closeTooltip:function(l){return l.close(),this}}),qo.include({bindTooltip:function(l,d){return this._tooltip&&this.isTooltipOpen()&&this.unbindTooltip(),this._tooltip=this._initOverlay(Hl,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 Fr||(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&&(We(d,"focus",function(){this._tooltip._source=l,this.openTooltip()},this),We(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 Br=Fl.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?(Vt(d),d.appendChild(m.html)):d.innerHTML=m.html!==!1?m.html:"",m.bgPos){var b=Je(m.bgPos);d.style.backgroundPosition=-b.x+"px "+-b.y+"px"}return this._setIconStyles(d,"icon"),d},createShadow:function(){return null}});function dw(l){return new Br(l)}Fl.Default=jc;var Uc=qo.extend({options:{tileSize:256,opacity:1,updateWhenIdle:De.mobile,updateWhenZooming:!0,updateInterval:200,zIndex:1,bounds:null,minZoom:0,maxZoom:void 0,maxNativeZoom:void 0,minNativeZoom:void 0,noWrap:!1,pane:"tilePane",className:"",keepBuffer:2},initialize:function(l){w(this,l)},onAdd:function(){this._initContainer(),this._levels={},this._tiles={},this._resetView()},beforeAdd:function(l){l._addZoomLimit(this)},onRemove:function(l){this._removeAllTiles(),tt(this._container),l._removeZoomLimit(this),this._container=null,this._tileZoom=void 0},bringToFront:function(){return this._map&&(ue(this._container),this._setAutoZIndex(Math.max)),this},bringToBack:function(){return this._map&&(Le(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 Fe?l:new Fe(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,T;b<I;b++)T=d[b].style.zIndex,d[b]!==this._container&&T&&(m=l(m,+T));isFinite(m)&&(this.options.zIndex=m+l(-1,1),this._updateZIndex())},_updateOpacity:function(){if(this._map&&!De.ielt9){Y(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 T=Math.min(1,(l-I.loaded)/200);Y(I.el,T),T<1?d=!0:(I.active?m=!0:this._onOpaqueTile(I),I.active=!0)}}m&&!this._noPrune&&this._pruneTiles(),d&&(ut(this._fadeFrame),this._fadeFrame=Se(this._updateOpacity,this))}},_onOpaqueTile:f,_initContainer:function(){this._container||(this._container=Te("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)):(tt(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=Te("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)tt(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),T=Math.floor(d/2),j=m-1,ne=new Fe(+I,+T);ne.z=+j;var he=this._tileCoordsToKey(ne),Ue=this._tiles[he];return Ue&&Ue.active?(Ue.retain=!0,!0):(Ue&&Ue.loaded&&(Ue.retain=!0),j>b?this._retainParent(I,T,j,b):!1)},_retainChildren:function(l,d,m,b){for(var I=2*l;I<2*l+2;I++)for(var T=2*d;T<2*d+2;T++){var j=new Fe(I,T);j.z=m+1;var ne=this._tileCoordsToKey(j),he=this._tiles[ne];if(he&&he.active){he.retain=!0;continue}else he&&he.loaded&&(he.retain=!0);m+1<b&&this._retainChildren(I,T,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 T=this.options.updateWhenZooming&&I!==this._tileZoom;(!b||T)&&(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();De.any3d?Me(l.el,I,b):ke(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(),T=d.getSize().divideBy(b*2);return new Lt(I.subtract(T),I.add(T))},_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),T=I.getCenter(),j=[],ne=this.options.keepBuffer,he=new Lt(I.getBottomLeft().subtract([ne,-ne]),I.getTopRight().add([ne,-ne]));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 Ue in this._tiles){var Ht=this._tiles[Ue].coords;(Ht.z!==this._tileZoom||!he.contains(new Fe(Ht.x,Ht.y)))&&(this._tiles[Ue].current=!1)}if(Math.abs(m-this._tileZoom)>1){this._setView(l,m);return}for(var Ei=I.min.y;Ei<=I.max.y;Ei++)for(var ln=I.min.x;ln<=I.max.x;ln++){var po=new Fe(ln,Ei);if(po.z=this._tileZoom,!!this._isValidTile(po)){var Bs=this._tiles[this._tileCoordsToKey(po)];Bs?Bs.current=!0:j.push(po)}}if(j.sort(function(Io,Kh){return Io.distanceTo(T)-Kh.distanceTo(T)}),j.length!==0){this._loading||(this._loading=!0,this.fire("loading"));var or=document.createDocumentFragment();for(ln=0;ln<j.length;ln++)this._addTile(j[ln],or);this._level.el.appendChild(or)}}}},_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 xi(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),T=d.unproject(b,l.z),j=d.unproject(I,l.z);return[T,j]},_tileCoordsToBounds:function(l){var d=this._tileCoordsToNwSe(l),m=new Ci(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 Fe(+d[0],+d[1]);return m.z=+d[2],m},_removeTile:function(l){var d=this._tiles[l];d&&(tt(d.el),delete this._tiles[l],this.fire("tileunload",{tile:d.el,coords:this._keyToTileCoords(l)}))},_initTile:function(l){Re(l,"leaflet-tile");var d=this.getTileSize();l.style.width=d.x+"px",l.style.height=d.y+"px",l.onselectstart=f,l.onmousemove=f,De.ielt9&&this.options.opacity<1&&Y(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&&Se(r(this._tileReady,this,l,null,I)),ke(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?(Y(m.el,0),ut(this._fadeFrame),this._fadeFrame=Se(this._updateOpacity,this)):(m.active=!0,this._pruneTiles()),d||(Re(m.el,"leaflet-tile-loaded"),this.fire("tileload",{tile:m.el,coords:l})),this._noTilesToLoad()&&(this._loading=!1,this.fire("load"),De.ielt9||!this._map._fadeAnimated?Se(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 Fe(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 Lt(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 wn(l){return new Uc(l)}var ps=Uc.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&&De.retina&&d.maxZoom>0?(d.tileSize=Math.floor(d.tileSize/2),d.zoomReverse?(d.zoomOffset--,d.minZoom=Math.min(d.maxZoom,d.minZoom+1)):(d.zoomOffset++,d.maxZoom=Math.max(d.minZoom,d.maxZoom-1)),d.minZoom=Math.max(0,d.minZoom)):d.zoomReverse?d.minZoom=Math.min(d.maxZoom,d.minZoom):d.maxZoom=Math.max(d.minZoom,d.maxZoom),typeof d.subdomains=="string"&&(d.subdomains=d.subdomains.split("")),this.on("tileunload",this._onTileRemove)},setUrl:function(l,d){return this._url===l&&d===void 0&&(d=!0),this._url=l,d||this.redraw(),this},createTile:function(l,d){var m=document.createElement("img");return We(m,"load",r(this._tileOnLoad,this,d,m)),We(m,"error",r(this._tileOnError,this,d,m)),(this.options.crossOrigin||this.options.crossOrigin==="")&&(m.crossOrigin=this.options.crossOrigin===!0?"":this.options.crossOrigin),typeof this.options.referrerPolicy=="string"&&(m.referrerPolicy=this.options.referrerPolicy),m.alt="",m.src=this.getTileUrl(l),m},getTileUrl:function(l){var d={r:De.retina?"@2x":"",s:this._getSubdomain(l),x:l.x,y:l.y,z:this._getZoomForUrl()};if(this._map&&!this._map.options.crs.infinite){var m=this._globalTileRange.max.y-l.y;this.options.tms&&(d.y=m),d["-y"]=m}return P(this._url,n(d,this.options))},_tileOnLoad:function(l,d){De.ielt9?setTimeout(r(l,this,null,d),0):l(null,d)},_tileOnError:function(l,d,m){var b=this.options.errorTileUrl;b&&d.getAttribute("src")!==b&&(d.src=b),l(m,d)},_onTileRemove:function(l){l.tile.onload=null},_getZoomForUrl:function(){var l=this._tileZoom,d=this.options.maxZoom,m=this.options.zoomReverse,b=this.options.zoomOffset;return m&&(l=d-l),l+b},_getSubdomain:function(l){var d=Math.abs(l.x+l.y)%this.options.subdomains.length;return this.options.subdomains[d]},_abortLoading:function(){var l,d;for(l in this._tiles)if(this._tiles[l].coords.z!==this._tileZoom&&(d=this._tiles[l].el,d.onload=f,d.onerror=f,!d.complete)){d.src=H;var m=this._tiles[l].coords;tt(d),delete this._tiles[l],this.fire("tileabort",{tile:d,coords:m})}},_removeTile:function(l){var d=this._tiles[l];if(d)return d.el.setAttribute("src",H),Uc.prototype._removeTile.call(this,l)},_tileReady:function(l,d,m){if(!(!this._map||m&&m.getAttribute("src")===H))return Uc.prototype._tileReady.call(this,l,d,m)}});function $c(l,d){return new ps(l,d)}var qh=ps.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&&De.retina?2:1,T=this.getTileSize();m.width=T.x*I,m.height=T.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,ps.prototype.onAdd.call(this,l)},getTileUrl:function(l){var d=this._tileCoordsToNwSe(l),m=this._crs,b=Yt(m.project(d[0]),m.project(d[1])),I=b.min,T=b.max,j=(this._wmsVersion>=1.3&&this._crs===$h?[I.y,I.x,T.y,T.x]:[I.x,I.y,T.x,T.y]).join(","),ne=ps.prototype.getTileUrl.call(this,l);return ne+S(this.wmsParams,ne,this.options.uppercase)+(this.options.uppercase?"&BBOX=":"&bbox=")+j},setParams:function(l,d){return n(this.wmsParams,l),d||this.redraw(),this}});function JR(l,d){return new qh(l,d)}ps.WMS=qh,$c.wms=JR;var Ya=qo.extend({options:{padding:.1},initialize:function(l){w(this,l),c(this),this._layers=this._layers||{}},onAdd:function(){this._container||(this._initContainer(),Re(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),T=b.multiplyBy(-m).add(I).subtract(this._map._getNewPixelOrigin(l,d));De.any3d?Me(this._container,T,m):ke(this._container,T)},_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 Lt(m,m.add(d.multiplyBy(1+l*2)).round()),this._center=this._map.getCenter(),this._zoom=this._map.getZoom()}}),NL=Ya.extend({options:{tolerance:0},getEvents:function(){var l=Ya.prototype.getEvents.call(this);return l.viewprereset=this._onViewPreReset,l},_onViewPreReset:function(){this._postponeUpdatePaths=!0},onAdd:function(){Ya.prototype.onAdd.call(this),this._draw()},_initContainer:function(){var l=this._container=document.createElement("canvas");We(l,"mousemove",this._onMouseMove,this),We(l,"click dblclick mousedown mouseup contextmenu",this._onClick,this),We(l,"mouseout",this._handleMouseOut,this),l._leaflet_disable_events=!0,this._ctx=l.getContext("2d")},_destroyContainer:function(){ut(this._redrawRequest),delete this._ctx,tt(this._container),zt(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)){Ya.prototype._update.call(this);var l=this._bounds,d=this._container,m=l.getSize(),b=De.retina?2:1;ke(d,l.min),d.width=b*m.x,d.height=b*m.y,d.style.width=m.x+"px",d.style.height=m.y+"px",De.retina&&this._ctx.scale(2,2),this._ctx.translate(-l.min.x,-l.min.y),this.fire("update")}},_reset:function(){Ya.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||Se(this._redraw,this))},_extendRedrawBounds:function(l){if(l._pxBounds){var d=(l.options.weight||0)+1;this._redrawBounds=this._redrawBounds||new Lt,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,T,j=l._parts,ne=j.length,he=this._ctx;if(ne){for(he.beginPath(),m=0;m<ne;m++){for(b=0,I=j[m].length;b<I;b++)T=j[m][b],he[b?"lineTo":"moveTo"](T.x,T.y);d&&he.closePath()}this._fillStroke(he,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&&(dt(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&&(Re(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 RL(l){return De.canvas?new NL(l):null}var af=(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">')}})(),eA={_initContainer:function(){this._container=Te("div","leaflet-vml-container")},_update:function(){this._map._animatingZoom||(Ya.prototype._update.call(this),this.fire("update"))},_initPath:function(l){var d=l._container=af("shape");Re(d,"leaflet-vml-shape "+(this.options.className||"")),d.coordsize="1 1",l._path=af("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;tt(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=af("stroke")),I.appendChild(d),d.weight=b.weight+"px",d.color=b.color,d.opacity=b.opacity,b.dashArray?d.dashStyle=A(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=af("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){ue(l._container)},_bringToBack:function(l){Le(l._container)}},Bm=De.vml?af:Li,lf=Ya.extend({_initContainer:function(){this._container=Bm("svg"),this._container.setAttribute("pointer-events","none"),this._rootGroup=Bm("g"),this._container.appendChild(this._rootGroup)},_destroyContainer:function(){tt(this._container),zt(this._container),delete this._container,delete this._rootGroup,delete this._svgSize},_update:function(){if(!(this._map._animatingZoom&&this._bounds)){Ya.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)),ke(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=Bm("path");l.options.className&&Re(d,l.options.className),l.options.interactive&&Re(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){tt(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,ni(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 ",T=l._empty()?"M0 0":"M"+(d.x-m)+","+d.y+I+m*2+",0 "+I+-m*2+",0 ";this._setPath(l,T)},_setPath:function(l,d){l._path.setAttribute("d",d)},_bringToFront:function(l){ue(l._path)},_bringToBack:function(l){Le(l._path)}});De.vml&&lf.include(eA);function AL(l){return De.svg||De.vml?new lf(l):null}qi.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&&RL(l)||AL(l)}});var OL=yi.extend({initialize:function(l,d){yi.prototype.initialize.call(this,this._boundsToLatLngs(l),d)},setBounds:function(l){return this.setLatLngs(this._boundsToLatLngs(l))},_boundsToLatLngs:function(l){return l=xi(l),[l.getSouthWest(),l.getNorthWest(),l.getNorthEast(),l.getSouthEast()]}});function tA(l,d){return new OL(l,d)}lf.create=Bm,lf.pointsToPath=ni,Di.geometryToLayer=Tn,Di.coordsToLatLng=Vn,Di.coordsToLatLngs=Ti,Di.latLngToCoords=us,Di.latLngsToCoords=Ns,Di.getFeature=bs,Di.asFeature=as,qi.mergeOptions({boxZoom:!0});var FL=sr.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(){We(this._container,"mousedown",this._onMouseDown,this)},removeHooks:function(){zt(this._container,"mousedown",this._onMouseDown,this)},moved:function(){return this._moved},_destroy:function(){tt(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(),ot(),pe(),this._startPoint=this._map.mouseEventToContainerPoint(l),We(document,{contextmenu:rs,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseMove:function(l){this._moved||(this._moved=!0,this._box=Te("div","leaflet-zoom-box",this._container),Re(this._container,"leaflet-crosshair"),this._map.fire("boxzoomstart")),this._point=this._map.mouseEventToContainerPoint(l);var d=new Lt(this._point,this._startPoint),m=d.getSize();ke(this._box,d.min),this._box.style.width=m.x+"px",this._box.style.height=m.y+"px"},_finish:function(){this._moved&&(tt(this._box),dt(this._container,"leaflet-crosshair")),Ee(),ye(),zt(document,{contextmenu:rs,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 Ci(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())}});qi.addInitHook("addHandler","boxZoom",FL),qi.mergeOptions({doubleClickZoom:!0});var HL=sr.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)}});qi.addInitHook("addHandler","doubleClickZoom",HL),qi.mergeOptions({dragging:!0,inertia:!0,inertiaDeceleration:3400,inertiaMaxSpeed:1/0,easeLinearity:.2,worldCopyJump:!1,maxBoundsViscosity:0});var WL=sr.extend({addHooks:function(){if(!this._draggable){var l=this._map;this._draggable=new $o(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))}Re(this._map._container,"leaflet-grab leaflet-touch-drag"),this._draggable.enable(),this._positions=[],this._times=[]},removeHooks:function(){dt(this._map._container,"leaflet-grab"),dt(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=xi(this._map.options.maxBounds);this._offsetLimit=Yt(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,T=(b+d+m)%l-d-m,j=Math.abs(I+m)<Math.abs(T+m)?I:T;this._draggable._absPos=this._draggable._newPos.clone(),this._draggable._newPos.x=j},_onDragEnd:function(l){var d=this._map,m=d.options,b=!m.inertia||l.noInertia||this._times.length<2;if(d.fire("dragend",l),b)d.fire("moveend");else{this._prunePositions(+new Date);var I=this._lastPos.subtract(this._positions[0]),T=(this._lastTime-this._times[0])/1e3,j=m.easeLinearity,ne=I.multiplyBy(j/T),he=ne.distanceTo([0,0]),Ue=Math.min(m.inertiaMaxSpeed,he),Ht=ne.multiplyBy(Ue/he),Ei=Ue/(m.inertiaDeceleration*j),ln=Ht.multiplyBy(-Ei/2).round();!ln.x&&!ln.y?d.fire("moveend"):(ln=d._limitOffset(ln,d.options.maxBounds),Se(function(){d.panBy(ln,{duration:Ei,easeLinearity:j,noMoveStart:!0,animate:!0})}))}}});qi.addInitHook("addHandler","dragging",WL),qi.mergeOptions({keyboard:!0,keyboardPanDelta:80});var BL=sr.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"),We(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(),zt(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(){We(document,"keydown",this._onKeyDown,this)},_removeHooks:function(){zt(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=Je(b).multiplyBy(3)),m.options.maxBounds&&(b=m._limitOffset(Je(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;rs(l)}}});qi.addInitHook("addHandler","keyboard",BL),qi.mergeOptions({scrollWheelZoom:!0,wheelDebounceTime:40,wheelPxPerZoomLevel:60});var zL=sr.extend({addHooks:function(){We(this._map._container,"wheel",this._onWheelScroll,this),this._delta=0},removeHooks:function(){zt(this._map._container,"wheel",this._onWheelScroll,this)},_onWheelScroll:function(l){var d=Ka(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),rs(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,T=m?Math.ceil(I/m)*m:I,j=l._limitZoom(d+(this._delta>0?T:-T))-d;this._delta=0,this._startTime=null,j&&(l.options.scrollWheelZoom==="center"?l.setZoom(d+j):l.setZoomAround(this._lastMousePos,d+j))}});qi.addInitHook("addHandler","scrollWheelZoom",zL);var iA=600;qi.mergeOptions({tapHold:De.touchNative&&De.safari&&De.mobile,tapTolerance:15});var VL=sr.extend({addHooks:function(){We(this._map._container,"touchstart",this._onDown,this)},removeHooks:function(){zt(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 Fe(d.clientX,d.clientY),this._holdTimeout=setTimeout(r(function(){this._cancel(),this._isTapValid()&&(We(document,"touchend",zi),We(document,"touchend touchcancel",this._cancelClickPrevent),this._simulateEvent("contextmenu",d))},this),iA),We(document,"touchend touchcancel contextmenu",this._cancel,this),We(document,"touchmove",this._onMove,this)}},_cancelClickPrevent:function l(){zt(document,"touchend",zi),zt(document,"touchend touchcancel",l)},_cancel:function(){clearTimeout(this._holdTimeout),zt(document,"touchend touchcancel contextmenu",this._cancel,this),zt(document,"touchmove",this._onMove,this)},_onMove:function(l){var d=l.touches[0];this._newPos=new Fe(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)}});qi.addInitHook("addHandler","tapHold",VL),qi.mergeOptions({touchZoom:De.touch,bounceAtZoomLimits:!0});var jL=sr.extend({addHooks:function(){Re(this._map._container,"leaflet-touch-zoom"),We(this._map._container,"touchstart",this._onTouchStart,this)},removeHooks:function(){dt(this._map._container,"leaflet-touch-zoom"),zt(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(),We(document,"touchmove",this._onTouchMove,this),We(document,"touchend touchcancel",this._onTouchEnd,this),zi(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 T=m._add(b)._divideBy(2)._subtract(this._centerPoint);if(I===1&&T.x===0&&T.y===0)return;this._center=d.unproject(d.project(this._pinchStartLatLng,this._zoom).subtract(T),this._zoom)}this._moved||(d._moveStart(!0,!1),this._moved=!0),ut(this._animRequest);var j=r(d._move,d,this._center,this._zoom,{pinch:!0,round:!1},void 0);this._animRequest=Se(j,this,!0),zi(l)}},_onTouchEnd:function(){if(!this._moved||!this._zooming){this._zooming=!1;return}this._zooming=!1,ut(this._animRequest),zt(document,"touchmove",this._onTouchMove,this),zt(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))}});qi.addInitHook("addHandler","touchZoom",jL),qi.BoxZoom=FL,qi.DoubleClickZoom=HL,qi.Drag=WL,qi.Keyboard=BL,qi.ScrollWheelZoom=zL,qi.TapHold=VL,qi.TouchZoom=jL,t.Bounds=Lt,t.Browser=De,t.CRS=Ri,t.Canvas=NL,t.Circle=Ft,t.CircleMarker=Ze,t.Class=at,t.Control=qs,t.DivIcon=Br,t.DivOverlay=ks,t.DomEvent=ga,t.DomUtil=rt,t.Draggable=$o,t.Evented=ti,t.FeatureGroup=Fr,t.GeoJSON=Di,t.GridLayer=Uc,t.Handler=sr,t.Icon=Fl,t.ImageOverlay=Rs,t.LatLng=ii,t.LatLngBounds=Ci,t.Layer=qo,t.LayerGroup=Ol,t.LineUtil=Fm,t.Map=qi,t.Marker=ee,t.Mixin=Pm,t.Path=ae,t.Point=Fe,t.PolyUtil=ow,t.Polygon=yi,t.Polyline=bi,t.Popup=Wr,t.PosAnimation=fa,t.Projection=rw,t.Rectangle=OL,t.Renderer=Ya,t.SVG=lf,t.SVGOverlay=an,t.TileLayer=ps,t.Tooltip=Hl,t.Transformation=Vi,t.Util=mt,t.VideoOverlay=Hr,t.bind=r,t.bounds=Yt,t.canvas=RL,t.circle=Oi,t.circleMarker=Et,t.control=Ls,t.divIcon=dw,t.extend=n,t.featureGroup=lw,t.geoJSON=gs,t.geoJson=ys,t.gridLayer=wn,t.icon=cw,t.imageOverlay=pa,t.latLng=Nt,t.latLngBounds=xi,t.layerGroup=aw,t.map=Nr,t.marker=ve,t.point=Je,t.polygon=Fi,t.polyline=$i,t.popup=of,t.rectangle=tA,t.setOptions=w,t.stamp=c,t.svg=AL,t.svgOverlay=Ko,t.tileLayer=$c,t.tooltip=rf,t.transformation=Qi,t.version=i,t.videoOverlay=As;var nA=window.L;t.noConflict=function(){return window.L=nA,this},window.L=t}))})(Ff,Ff.exports)),Ff.exports}var PG=EG();const bf=RR(PG),TG="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=",MG="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==",NG="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACkAAAApCAQAAAACach9AAACMUlEQVR4Ae3ShY7jQBAE0Aoz/f9/HTMzhg1zrdKUrJbdx+Kd2nD8VNudfsL/Th///dyQN2TH6f3y/BGpC379rV+S+qqetBOxImNQXL8JCAr2V4iMQXHGNJxeCfZXhSRBcQMfvkOWUdtfzlLgAENmZDcmo2TVmt8OSM2eXxBp3DjHSMFutqS7SbmemzBiR+xpKCNUIRkdkkYxhAkyGoBvyQFEJEefwSmmvBfJuJ6aKqKWnAkvGZOaZXTUgFqYULWNSHUckZuR1HIIimUExutRxwzOLROIG4vKmCKQt364mIlhSyzAf1m9lHZHJZrlAOMMztRRiKimp/rpdJDc9Awry5xTZCte7FHtuS8wJgeYGrex28xNTd086Dik7vUMscQOa8y4DoGtCCSkAKlNwpgNtphjrC6MIHUkR6YWxxs6Sc5xqn222mmCRFzIt8lEdKx+ikCtg91qS2WpwVfBelJCiQJwvzixfI9cxZQWgiSJelKnwBElKYtDOb2MFbhmUigbReQBV0Cg4+qMXSxXSyGUn4UbF8l+7qdSGnTC0XLCmahIgUHLhLOhpVCtw4CzYXvLQWQbJNmxoCsOKAxSgBJno75avolkRw8iIAFcsdc02e9iyCd8tHwmeSSoKTowIgvscSGZUOA7PuCN5b2BX9mQM7S0wYhMNU74zgsPBj3HU7wguAfnxxjFQGBE6pwN+GjME9zHY7zGp8wVxMShYX9NXvEWD3HbwJf4giO4CFIQxXScH1/TM+04kkBiAAAAAElFTkSuQmCC",kn=(o,e=Ey)=>{var t=RG(),i=x(k(t),2),n=k(i);G(()=>q(n,e())),E(o,t)};var RG=M('<span class="tip svelte-767znw"><span class="tip-icon svelte-767znw">ℹ</span> <span class="tip-box svelte-767znw"> </span></span>'),AG=M("<button> </button>"),OG=M('<span class="err svelte-767znw"> </span>'),FG=M('<span class="ok svelte-767znw"> </span>'),HG=M('<div class="loading svelte-767znw">Loading…</div>'),WG=M('<section id="sec-appearance" class="svelte-767znw"><h3 class="svelte-767znw">Appearance</h3> <div class="field svelte-767znw"><label for="theme-select" class="svelte-767znw">Color theme</label> <select id="theme-select" class="svelte-767znw"><option>Dark</option><option>Light</option><option>System (OS preference)</option></select></div></section>'),BG=M('<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),zG=M('<section id="sec-mqtt" class="svelte-767znw"><h3 class="svelte-767znw">MQTT</h3> <div class="field svelte-767znw"><label class="svelte-767znw">Protocol <!></label> <select class="svelte-767znw"><option>mqtt (plain TCP)</option><option>mqtts (TLS)</option><option>ws (WebSocket)</option><option>wss (WebSocket + TLS)</option></select></div> <div class="field svelte-767znw"><label class="svelte-767znw">Broker address <!></label> <input type="text" placeholder="localhost:1883" class="svelte-767znw"/></div> <div class="field svelte-767znw"><label class="svelte-767znw">Username <!></label> <input type="text" placeholder="(optional)" autocomplete="off" class="svelte-767znw"/></div> <div class="field svelte-767znw"><label class="svelte-767znw">Password <!></label> <input type="password" placeholder="(optional)" autocomplete="new-password" class="svelte-767znw"/></div> <!> <div class="field svelte-767znw"><label class="svelte-767znw">MQTT protocol version <!></label> <select class="svelte-767znw"><option>3.1.1 (default)</option><option>5.0</option></select></div> <div class="field svelte-767znw"><label class="svelte-767znw">Client name <!></label> <input type="text" placeholder="she" class="svelte-767znw"/></div> <div class="field svelte-767znw"><label class="svelte-767znw">Variable prefix <!></label> <input type="text" placeholder="var" class="svelte-767znw"/></div> <div class="field field--check svelte-767znw"><span></span> <label class="check-label svelte-767znw"><input type="checkbox" class="svelte-767znw"/> <span class="checkmark svelte-767znw"></span> Disable variable system <!></label></div></section>'),VG=M('<div class="field svelte-767znw"><label class="svelte-767znw"> <!></label> <input type="password" placeholder="Enter new password" autocomplete="new-password" class="svelte-767znw"/></div>'),jG=M('<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),UG=M('<div class="field-error svelte-767znw"> </div>'),$G=M('<div class="field-ok svelte-767znw"> </div>'),qG=M('<section id="sec-auth" class="svelte-767znw"><h3 class="svelte-767znw">Authentication</h3> <div class="field svelte-767znw"><label class="svelte-767znw">Mode <!></label> <select class="svelte-767znw"><option>None (open)</option><option>Password</option><option>Proxy header (nginx / authentik)</option></select></div> <!> <!> <!> <!> <div class="field svelte-767znw"><span></span> <button class="save-auth-btn svelte-767znw"> </button></div></section>'),KG=M('<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>'),GG=M('<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=M('<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>'),QD=M("<option> </option>"),XG=M('<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>'),YG=M('<section id="sec-solar" class="svelte-767znw"><h3 class="svelte-767znw">Location</h3> <div class="field svelte-767znw"><label class="svelte-767znw">Timezone <!></label> <input type="text" list="tz-list" placeholder="(system default)" autocomplete="off" spellcheck="false" class="svelte-767znw"/> <datalist id="tz-list"></datalist></div> <div class="field svelte-767znw"><label class="svelte-767znw">Latitude <!></label> <input type="number" step="0.0001" placeholder="48.7408" class="svelte-767znw"/></div> <div class="field svelte-767znw"><label class="svelte-767znw">Longitude <!></label> <input type="number" step="0.0001" placeholder="9.1778" class="svelte-767znw"/></div> <div class="field geo-actions svelte-767znw"><span></span> <div class="geo-btns svelte-767znw"><button class="geo-btn svelte-767znw"><!></button> <button class="geo-btn svelte-767znw"> </button></div></div> <!></section>'),QG=M('<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>'),JG=M('<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>'),e9=M('<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>'),t9=M('<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>'),i9=M('<span class="free-badge svelte-767znw">FREE</span> ',1),n9=M('&nbsp;— <a target="_blank" rel="noreferrer" class="svelte-767znw">Get API key ↗</a>',1),s9=M("<div><!> <!></div>"),o9=M('<div class="field svelte-767znw"><label class="svelte-767znw">Base URL <!></label> <input type="text" class="svelte-767znw"/></div>'),r9=M('<div class="field svelte-767znw"><label class="svelte-767znw">API key <!></label> <input type="password" placeholder="sk-…" autocomplete="off" class="svelte-767znw"/></div>'),a9=M('<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>'),l9=M('<div class="config-form svelte-767znw"><!> <!> <!> <!> <!> <!> <!> <!> <!> <!> <!></div>'),c9=M('<!> <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 d9(o,e){zo(e,!0),delete bf.Icon.Default.prototype._getIconUrl,bf.Icon.Default.mergeOptions({iconUrl:TG,iconRetinaUrl:MG,shadowUrl:NG});let t=W(li(kG())),i=W("~/.she"),n=W("mqtt"),s=W(""),r=W(""),a=W(""),c=W(""),h=W(""),g=W(""),f=W("logic"),p=W("var"),v=W(""),_=W(!1),w=W(8080),S=W(""),D=W("none"),P=W(""),A=W("X-Remote-User"),V=W(""),H=W(!1),J=W(""),X=W(""),fe=W(""),Ie=W(!1),Be=W(!1),Se=W(!1),ut=W(""),mt=W(48.7408),at=W(9.1778),hi=W(!1),Ut=W(void 0),ti=W(!1),Fe=W(null),Gt=W("info"),Je=W(""),Lt=W(""),Yt=W(!1),Ci=W(!1),xi=W("");const ii=[{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 Nt=W("ollama"),Ri=W("ollama"),vt=W(""),vi=W(""),ai=W("");const Vi={};let Qi="ollama";function Ji($,re){return $==="anthropic"?"anthropic":$==="ollama"?"ollama":re?re.includes("localhost:1234")?"lmstudio":re.includes("groq.com")?"groq":re.includes("googleapis.com")?"gemini":"openai":"openai"}function cn(){Vi[Qi]={baseUrl:u(vt),model:u(vi),apiKey:u(ai)};const $=ii.find(de=>de.id===u(Nt));if(!$)return;C(Ri,$.provider,!0);const re=Vi[u(Nt)];C(vt,(re==null?void 0:re.baseUrl)??$.baseUrl,!0),C(vi,(re==null?void 0:re.model)??$.defaultModel,!0),C(ai,(re==null?void 0:re.apiKey)??"",!0),Qi=u(Nt)}const Li=nt(()=>ii.find($=>$.id===u(Nt)));let ni=W(li({}));const pi=new Set(["url","name","variablePrefix","disableVariables","mqttUsername","mqttPassword","mqttCa","mqttCert","mqttKey","mqttVersion","port","bindAddress","auth","password","proxyHeader","proxyLogoutUrl","dir","disableWatch","gitAutoCommit","gitAutoPush","latitude","longitude","timezone","verbosity","dbPath","dbPrefix","dbPublish","dbRetain","redis","ai"]);Wn(()=>{if(!u(Ut))return;const $=typeof u(mt)=="number"?u(mt):48.7408,re=typeof u(at)=="number"?u(at):9.1778,de=bf.map(u(Ut)).setView([$,re],10);bf.tileLayer("https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png",{attribution:'© <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a>'}).addTo(de);const ze=bf.marker([$,re],{draggable:!0}).addTo(de);C(Fe,ze,!0);const Bt=lt=>{C(mt,+lt.lat.toFixed(6)),C(at,+lt.lng.toFixed(6))};return ze.on("dragend",()=>Bt(ze.getLatLng())),de.on("click",lt=>{ze.setLatLng(lt.latlng),Bt(lt.latlng)}),()=>{C(Fe,null),de.remove()}}),Wn(()=>{!u(Fe)||u(mt)===""||u(at)===""||u(Fe).setLatLng([Number(u(mt)),Number(u(at))])});let Ki;function on(){if(!navigator.geolocation){Ki.show("Geolocation is not supported by this browser.",{alert:!0});return}C(ti,!0),navigator.geolocation.getCurrentPosition($=>{C(mt,+$.coords.latitude.toFixed(6)),C(at,+$.coords.longitude.toFixed(6)),C(ti,!1)},()=>{C(ti,!1)})}let _n=W(!0),rn=W(!1),$n=W(""),en=W(""),dn=W(""),Xn=W("appearance");const Fn=[{id:"appearance",label:"Appearance",terms:["theme","color","dark","light"]},{id:"auth",label:"Authentication",terms:["auth","password","login","proxy","header","nginx","authentik","secure"]},{id:"mqtt",label:"MQTT",terms:["broker","url","client","name","variable","prefix","protocol","version","mqtt5"]},{id:"webserver",label:"Web server",terms:["port","http","server","bind","address"]},{id:"scripts",label:"Scripts",terms:["directory","watch","hot reload","dir"]},{id:"git",label:"Git",terms:["git","auto commit","auto push","commit","push","repository"]},{id:"solar",label:"Location",terms:["latitude","longitude","sunrise","sunset","geo","timezone","time zone","iana","schedule"]},{id:"logging",label:"Logging",terms:["verbosity","debug","info","warn","error"]},{id:"shedb",label:"sheDB",terms:["database","db","path","retain"]},{id:"redis",label:"Redis",terms:["redis","cache"]},{id:"ai",label:"AI Assistant",terms:["llm","ollama","openai","anthropic","model","provider","base url"]}];let ji=nt(()=>Fn.filter($=>{const re=u(dn).trim().toLowerCase();return!re||$.label.toLowerCase().includes(re)||$.terms.some(de=>de.includes(re))}));function qn($){var re;C(Xn,$,!0),(re=document.getElementById("sec-"+$))==null||re.scrollIntoView({behavior:"smooth",block:"start"})}Tr(async()=>{try{const $=await Af();$.dataDir&&C(i,$.dataDir,!0)}catch{}try{const $=await Rg();if(typeof $.url=="string"&&$.url)try{const ze=new URL($.url);C(n,ze.protocol.replace(":",""),!0),C(s,ze.host,!0)}catch{C(s,$.url,!0)}typeof $.mqttUsername=="string"&&C(r,$.mqttUsername,!0),typeof $.mqttPassword=="string"&&C(a,$.mqttPassword,!0),typeof $.mqttCa=="string"&&C(c,$.mqttCa,!0),typeof $.mqttCert=="string"&&C(h,$.mqttCert,!0),typeof $.mqttKey=="string"&&C(g,$.mqttKey,!0),typeof $.mqttVersion=="string"&&C(v,$.mqttVersion,!0),typeof $.name=="string"&&C(f,$.name,!0),typeof $.variablePrefix=="string"&&C(p,$.variablePrefix,!0),typeof $.disableVariables=="boolean"&&C(_,$.disableVariables,!0),typeof $.port=="number"&&C(w,$.port,!0),typeof $.bindAddress=="string"&&C(S,$.bindAddress,!0),typeof $.auth=="string"&&C(D,$.auth,!0),typeof $.proxyHeader=="string"&&C(A,$.proxyHeader,!0),typeof $.proxyLogoutUrl=="string"&&C(V,$.proxyLogoutUrl,!0),typeof $.dir=="string"&&C(fe,$.dir,!0),typeof $.disableWatch=="boolean"&&C(Ie,$.disableWatch,!0),typeof $.gitAutoCommit=="boolean"&&C(Be,$.gitAutoCommit,!0),typeof $.gitAutoPush=="boolean"&&C(Se,$.gitAutoPush,!0),typeof $.latitude=="number"&&C(mt,$.latitude,!0),typeof $.longitude=="number"&&C(at,$.longitude,!0),typeof $.timezone=="string"&&C(ut,$.timezone,!0),typeof $.verbosity=="string"&&C(Gt,$.verbosity,!0),typeof $.dbPath=="string"&&C(Je,$.dbPath,!0),typeof $.dbPrefix=="string"&&C(Lt,$.dbPrefix,!0),typeof $.dbPublish=="boolean"&&C(Yt,$.dbPublish,!0),typeof $.dbRetain=="boolean"&&C(Ci,$.dbRetain,!0);const re=$.redis;re!=null&&re.url&&C(xi,re.url,!0);const de=$.ai;de!=null&&de.provider&&C(Ri,de.provider,!0),de!=null&&de.baseUrl&&C(vt,de.baseUrl,!0),de!=null&&de.model&&C(vi,de.model,!0),de!=null&&de.apiKey&&C(ai,de.apiKey,!0),C(Nt,Ji(u(Ri),u(vt)),!0),Qi=u(Nt),C(ni,Object.fromEntries(Object.entries($).filter(([ze])=>!pi.has(ze))),!0)}catch($){C(en,$.message,!0)}finally{C(_n,!1)}});async function He(){if(C(X,""),C(J,""),u(D)==="password"&&!u(P)){C(X,"A password is required to enable password authentication.");return}C(H,!0);try{await J8(u(D),u(D)==="password"?u(P):void 0,u(D)==="proxy"?u(A):void 0,u(D)==="proxy"?u(V):void 0),C(P,""),C(J,"Authentication settings saved.")}catch($){C(X,$.message,!0)}finally{C(H,!1)}}async function Wt(){C(en,""),C($n,"");const $={...u(ni)};u(s)&&($.url=`${u(n)}://${u(s)}`),$.name=u(f),$.variablePrefix=u(p),u(v)&&($.mqttVersion=u(v)),u(_)&&($.disableVariables=!0),u(r)&&($.mqttUsername=u(r)),u(a)&&($.mqttPassword=u(a)),u(c)&&($.mqttCa=u(c)),u(h)&&($.mqttCert=u(h)),u(g)&&($.mqttKey=u(g)),u(w)!==""&&($.port=Number(u(w))),u(S)&&($.bindAddress=u(S)),u(fe)&&($.dir=u(fe)),u(Ie)&&($.disableWatch=!0),u(Be)&&($.gitAutoCommit=!0),u(Se)&&($.gitAutoPush=!0),u(mt)!==""&&($.latitude=Number(u(mt))),u(at)!==""&&($.longitude=Number(u(at))),u(ut)&&($.timezone=u(ut)),$.verbosity=u(Gt),u(Je)&&($.dbPath=u(Je),u(Lt)&&($.dbPrefix=u(Lt)),u(Yt)&&($.dbPublish=!0,u(Ci)&&($.dbRetain=!0))),u(xi)&&($.redis={url:u(xi)}),u(Ri)&&($.ai={provider:u(Ri),...u(vt)?{baseUrl:u(vt)}:{},...u(vi)?{model:u(vi)}:{},...u(ai)?{apiKey:u(ai)}:{}}),C(rn,!0);try{const re=await SR($);window.dispatchEvent(new CustomEvent("she:config-changed")),C($n,re.restartRequired?"Saved — restart required to apply changes.":"Saved.",!0)}catch(re){C(en,re.message,!0)}finally{C(rn,!1)}}var ei=c9(),ki=_t(ei);Is(Gg(ki,{}),$=>Ki=$,()=>Ki);var Pi=x(ki,2),zn=k(Pi),Hn=k(zn),Yn=x(k(Hn),2),xn=x(Hn,2);gi(xn,21,()=>Fn,$=>$.id,($,re)=>{var de=Us(),ze=_t(de);{var Bt=De=>{var Rt=AG();let Qt;var At=k(Rt);G(()=>{Qt=$t(Rt,1,"section-link svelte-767znw",null,Qt,{active:u(Xn)===u(re).id}),q(At,u(re).label)}),Q("click",Rt,()=>qn(u(re).id)),E(De,Rt)},lt=nt(()=>u(ji).some(De=>De.id===u(re).id));U(ze,De=>{u(lt)&&De(Bt)})}E($,de)});var qe=x(zn,2),Z=k(qe),Ke=x(k(Z),2);{var St=$=>{var re=OG(),de=k(re);G(()=>q(de,u(en))),E($,re)};U(Ke,$=>{u(en)&&$(St)})}var kt=x(Ke,2);{var jt=$=>{var re=FG(),de=k(re);G(()=>q(de,u($n))),E($,re)};U(kt,$=>{u($n)&&$(jt)})}var O=x(kt,2),oe=k(O),_e=x(Z,2);{var Xe=$=>{var re=HG();E($,re)},it=$=>{var re=l9(),de=k(re);{var ze=ue=>{var Le=WG(),ft=x(k(Le),2),Re=x(k(ft),2),dt=k(Re);dt.value=dt.__value="dark";var wt=x(dt);wt.value=wt.__value="light";var B=x(wt);B.value=B.__value="system",Q("change",Re,()=>IG(u(t))),Zr(Re,()=>u(t),Y=>C(t,Y)),E(ue,Le)},Bt=nt(()=>u(ji).some(ue=>ue.id==="appearance"));U(de,ue=>{u(Bt)&&ue(ze)})}var lt=x(de,2);{var De=ue=>{var Le=zG(),ft=x(k(Le),2),Re=k(ft),dt=x(k(Re));kn(dt,()=>"Transport protocol. Use mqtts or wss for TLS encryption.");var wt=x(Re,2),B=k(wt);B.value=B.__value="mqtt";var Y=x(B);Y.value=Y.__value="mqtts";var xe=x(Y);xe.value=xe.__value="ws";var Ae=x(xe);Ae.value=Ae.__value="wss";var Me=x(ft,2),ke=k(Me),Dt=x(k(ke));kn(Dt,()=>"Hostname and optional port of the MQTT broker. Example: 192.168.1.1:1883. Leave empty to run without MQTT.");var ot=x(ke,2),Ee=x(Me,2),pt=k(Ee),Oe=x(k(pt));kn(Oe,()=>"MQTT broker username. Leave empty if the broker does not require authentication.");var pe=x(pt,2),ye=x(Ee,2),ge=k(ye),me=x(k(ge));kn(me,()=>"MQTT broker password. Stored in plain text in config.json.");var Ye=x(ge,2),le=x(ye,2);{var Ne=Jn=>{var ga=BG(),fa=_t(ga),qi=k(fa),Nr=x(k(qi));kn(Nr,()=>"PEM-encoded CA certificate to verify the broker's TLS certificate. Leave empty to use the system's default CA store.");var qs=x(qi,2),Ls=x(fa,2),Ks=k(Ls),Rr=x(k(Ks));kn(Rr,()=>"PEM-encoded client certificate for mutual TLS authentication.");var Ga=x(Ks,2),Al=x(Ls,2),Za=k(Al),Uo=x(k(Za));kn(Uo,()=>"PEM-encoded private key matching the client certificate.");var Ar=x(Za,2);Mi(qs,()=>u(c),Or=>C(c,Or)),Mi(Ga,()=>u(h),Or=>C(h,Or)),Mi(Ar,()=>u(g),Or=>C(g,Or)),E(Jn,ga)};U(le,Jn=>{(u(n)==="mqtts"||u(n)==="wss")&&Jn(Ne)})}var Qe=x(le,2),rt=k(Qe),We=x(k(rt));kn(We,()=>"MQTT protocol version used when connecting to the broker. Choose 5 only if your broker supports MQTT 5.0. Default: 3.1.1 (mqtt.js default).");var Ot=x(rt,2),zt=k(Ot);zt.value=zt.__value="";var vn=x(zt);vn.value=vn.__value="5";var Ui=x(Qe,2),Ln=k(Ui),Qn=x(k(Ln));kn(Qn,()=>'MQTT client ID and topic prefix used for the "connected" status message. Default: she');var Ii=x(Ln,2),qt=x(Ui,2),nn=k(qt),zi=x(k(nn));kn(zi,()=>"Topic prefix for the variable system (var/set/name → var/status/name). Default: var");var rs=x(nn,2),oo=x(qt,2),jo=x(k(oo),2),Mr=k(jo),Ka=x(Mr,4);kn(Ka,()=>"When enabled, var/set/… messages are not processed and no var/status/… retained messages are published."),Zr(wt,()=>u(n),Jn=>C(n,Jn)),Mi(ot,()=>u(s),Jn=>C(s,Jn)),Mi(pe,()=>u(r),Jn=>C(r,Jn)),Mi(Ye,()=>u(a),Jn=>C(a,Jn)),Zr(Ot,()=>u(v),Jn=>C(v,Jn)),Mi(Ii,()=>u(f),Jn=>C(f,Jn)),Mi(rs,()=>u(p),Jn=>C(p,Jn)),Vs(Mr,()=>u(_),Jn=>C(_,Jn)),E(ue,Le)},Rt=nt(()=>u(ji).some(ue=>ue.id==="mqtt"));U(lt,ue=>{u(Rt)&&ue(De)})}var Qt=x(lt,2);{var At=ue=>{var Le=qG(),ft=x(k(Le),2),Re=k(ft),dt=x(k(Re));kn(dt,()=>"none: no authentication required. password: single-user password login. proxy: trust a header set by nginx/authentik.");var wt=x(Re,2),B=k(wt);B.value=B.__value="none";var Y=x(B);Y.value=Y.__value="password";var xe=x(Y);xe.value=xe.__value="proxy";var Ae=x(ft,2);{var Me=me=>{var Ye=VG(),le=k(Ye),Ne=k(le),Qe=x(Ne);kn(Qe,()=>"Set a new password. Leave empty to keep the current password (if already set).");var rt=x(le,2);G(()=>q(Ne,`${u(P)?"New password":"Password"} `)),Mi(rt,()=>u(P),We=>C(P,We)),E(me,Ye)};U(Ae,me=>{u(D)==="password"&&me(Me)})}var ke=x(Ae,2);{var Dt=me=>{var Ye=jG(),le=_t(Ye),Ne=k(le),Qe=x(k(Ne));kn(Qe,()=>"The HTTP header that nginx/authentik sets after successful authentication. Default: X-Remote-User");var rt=x(Ne,2),We=x(le,2),Ot=k(We),zt=x(k(Ot));kn(zt,()=>"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 vn=x(Ot,2);Mi(rt,()=>u(A),Ui=>C(A,Ui)),Mi(vn,()=>u(V),Ui=>C(V,Ui)),E(me,Ye)};U(ke,me=>{u(D)==="proxy"&&me(Dt)})}var ot=x(ke,2);{var Ee=me=>{var Ye=UG(),le=k(Ye);G(()=>q(le,u(X))),E(me,Ye)};U(ot,me=>{u(X)&&me(Ee)})}var pt=x(ot,2);{var Oe=me=>{var Ye=$G(),le=k(Ye);G(()=>q(le,u(J))),E(me,Ye)};U(pt,me=>{u(J)&&me(Oe)})}var pe=x(pt,2),ye=x(k(pe),2),ge=k(ye);G(()=>{ye.disabled=u(H)||u(D)==="password"&&!u(P),q(ge,u(H)?"Saving…":"Apply authentication settings")}),Zr(wt,()=>u(D),me=>C(D,me)),Q("click",ye,He),E(ue,Le)},ui=nt(()=>u(ji).some(ue=>ue.id==="auth"));U(Qt,ue=>{u(ui)&&ue(At)})}var ci=x(Qt,2);{var ie=ue=>{var Le=KG(),ft=x(k(Le),2),Re=k(ft),dt=x(k(Re));kn(dt,()=>"HTTP server port. Use 0 to let the OS pick a free port. Default: 8080");var wt=x(Re,2),B=x(ft,2),Y=k(B),xe=x(k(Y));kn(xe,()=>"Interface she listens on. Use 127.0.0.1 when running behind nginx (recommended with proxy auth). Default: 0.0.0.0");var Ae=x(Y,2);Mi(wt,()=>u(w),Me=>C(w,Me)),Mi(Ae,()=>u(S),Me=>C(S,Me)),E(ue,Le)},be=nt(()=>u(ji).some(ue=>ue.id==="webserver"));U(ci,ue=>{u(be)&&ue(ie)})}var Ge=x(ci,2);{var ct=ue=>{var Le=GG(),ft=x(k(Le),2),Re=k(ft),dt=x(k(Re));kn(dt,()=>"Directory that is watched for .js script files. Defaults to {dataDir}/scripts");var wt=x(Re,2),B=x(ft,2),Y=x(k(B),2),xe=k(Y),Ae=x(xe,4);kn(Ae,()=>"When enabled the daemon will not watch for file changes and will not hot-reload scripts."),G(()=>gn(wt,"placeholder",`${u(i)??""}/scripts (default)`)),Mi(wt,()=>u(fe),Me=>C(fe,Me)),Vs(xe,()=>u(Ie),Me=>C(Ie,Me)),E(ue,Le)},Ct=nt(()=>u(ji).some(ue=>ue.id==="scripts"));U(Ge,ue=>{u(Ct)&&ue(ct)})}var et=x(Ge,2);{var It=ue=>{var Le=ZG(),ft=x(k(Le),2),Re=x(k(ft),2),dt=k(Re),wt=x(dt,4);kn(wt,()=>"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 B=x(ft,2),Y=x(k(B),2),xe=k(Y),Ae=x(xe,4);kn(Ae,()=>"When enabled, every commit (manual or automatic) is immediately pushed to the remote."),Vs(dt,()=>u(Be),Me=>C(Be,Me)),Vs(xe,()=>u(Se),Me=>C(Se,Me)),E(ue,Le)},Zt=nt(()=>u(ji).some(ue=>ue.id==="git"));U(et,ue=>{u(Zt)&&ue(It)})}var si=x(et,2);{var ri=ue=>{var Le=YG(),ft=x(k(Le),2),Re=k(ft),dt=x(k(Re));kn(dt,()=>"IANA timezone for cron scheduling (e.g. Europe/Berlin). Leave empty to use the system timezone. Requires daemon restart.");var wt=x(Re,2),B=x(wt,2);gi(B,20,()=>{var rt;return((rt=Intl.supportedValuesOf)==null?void 0:rt.call(Intl,"timeZone"))??[]},Nn,(rt,We)=>{var Ot=QD(),zt=k(Ot),vn={};G(()=>{q(zt,We),vn!==(vn=We)&&(Ot.value=(Ot.__value=We)??"")}),E(rt,Ot)});var Y=x(ft,2),xe=k(Y),Ae=x(k(xe));kn(Ae,()=>"Geographic latitude used for sunrise/sunset calculations. Default: 48.7408 (Stuttgart)");var Me=x(xe,2),ke=x(Y,2),Dt=k(ke),ot=x(k(Dt));kn(ot,()=>"Geographic longitude used for sunrise/sunset calculations. Default: 9.1778 (Stuttgart)");var Ee=x(Dt,2),pt=x(ke,2),Oe=x(k(pt),2),pe=k(Oe),ye=k(pe);{var ge=rt=>{var We=sa("…");E(rt,We)},me=rt=>{var We=sa("📍 Use my location");E(rt,We)};U(ye,rt=>{u(ti)?rt(ge):rt(me,-1)})}var Ye=x(pe,2),le=k(Ye),Ne=x(pt,2);{var Qe=rt=>{var We=XG(),Ot=x(k(We),2);Is(Ot,zt=>C(Ut,zt),()=>u(Ut)),E(rt,We)};U(Ne,rt=>{u(hi)&&rt(Qe)})}G(()=>{pe.disabled=u(ti),q(le,u(hi)?"Hide map":"Pick on map")}),Mi(wt,()=>u(ut),rt=>C(ut,rt)),Mi(Me,()=>u(mt),rt=>C(mt,rt)),Mi(Ee,()=>u(at),rt=>C(at,rt)),Q("click",pe,on),Q("click",Ye,()=>C(hi,!u(hi))),E(ue,Le)},hn=nt(()=>u(ji).some(ue=>ue.id==="solar"));U(si,ue=>{u(hn)&&ue(ri)})}var yn=x(si,2);{var Gi=ue=>{var Le=QG(),ft=x(k(Le),2),Re=k(ft),dt=x(k(Re));kn(dt,()=>"Minimum log level. debug shows all messages including MQTT traffic details.");var wt=x(Re,2),B=k(wt);B.value=B.__value="debug";var Y=x(B);Y.value=Y.__value="info";var xe=x(Y);xe.value=xe.__value="warn";var Ae=x(xe);Ae.value=Ae.__value="error",Zr(wt,()=>u(Gt),Me=>C(Gt,Me)),E(ue,Le)},oi=nt(()=>u(ji).some(ue=>ue.id==="logging"));U(yn,ue=>{u(oi)&&ue(Gi)})}var st=x(yn,2);{var N=ue=>{var Le=e9(),ft=x(k(Le),2),Re=k(ft),dt=x(k(Re));kn(dt,()=>"Path to the sheDB data directory. Defaults to {dataDir}/db. Leave empty to disable sheDB.");var wt=x(Re,2),B=x(ft,2),Y=k(B),xe=x(k(Y));kn(xe,()=>"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 Ae=x(Y,2),Me=x(B,2),ke=x(k(Me),2);let Dt;var ot=k(ke),Ee=x(ot,4);kn(Ee,()=>'When enabled, every document change is published to {dbPrefix}doc/{id}. Individual views can publish independently via their own "mqttpub" setting.');var pt=x(Me,2);{var Oe=pe=>{var ye=JG(),ge=x(k(ye),2);let me;var Ye=k(ge),le=x(Ye,4);kn(le,()=>"When enabled, MQTT messages for document changes are published as retained messages."),G(()=>{me=$t(ge,1,"check-label svelte-767znw",null,me,{muted:!u(Je)}),Ye.disabled=!u(Je)}),Vs(Ye,()=>u(Ci),Ne=>C(Ci,Ne)),E(pe,ye)};U(pt,pe=>{u(Yt)&&pe(Oe)})}G(()=>{gn(wt,"placeholder",`defaults to ${u(i)??""}/db`),Ae.disabled=!u(Je),Dt=$t(ke,1,"check-label svelte-767znw",null,Dt,{muted:!u(Je)}),ot.disabled=!u(Je)}),Mi(wt,()=>u(Je),pe=>C(Je,pe)),Mi(Ae,()=>u(Lt),pe=>C(Lt,pe)),Vs(ot,()=>u(Yt),pe=>C(Yt,pe)),E(ue,Le)},K=nt(()=>u(ji).some(ue=>ue.id==="shedb"));U(st,ue=>{u(K)&&ue(N)})}var Ce=x(st,2);{var Pe=ue=>{var Le=t9(),ft=x(k(Le),2),Re=k(ft),dt=x(k(Re));kn(dt,()=>"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 wt=x(Re,2);Mi(wt,()=>u(xi),B=>C(xi,B)),E(ue,Le)},Ve=nt(()=>u(ji).some(ue=>ue.id==="redis"));U(Ce,ue=>{u(Ve)&&ue(Pe)})}var Te=x(Ce,2);{var tt=ue=>{var Le=a9(),ft=x(k(Le),2),Re=k(ft),dt=x(k(Re));kn(dt,()=>"Choose a provider. Free options need a free API key from the provider's website — no credit card required.");var wt=x(Re,2);gi(wt,21,()=>ii,Nn,(Oe,pe)=>{var ye=QD(),ge=k(ye),me={};G(()=>{q(ge,u(pe).label),me!==(me=u(pe).id)&&(ye.value=(ye.__value=u(pe).id)??"")}),E(Oe,ye)});var B=x(ft,2);{var Y=Oe=>{var pe=s9();let ye;var ge=k(pe);{var me=Ne=>{var Qe=i9(),rt=x(_t(Qe));G(()=>q(rt,` ${u(Li).freeNote??""}`)),E(Ne,Qe)};U(ge,Ne=>{u(Li).freeNote&&Ne(me)})}var Ye=x(ge,2);{var le=Ne=>{var Qe=n9(),rt=x(_t(Qe));G(()=>gn(rt,"href",u(Li).apiKeyUrl)),E(Ne,Qe)};U(Ye,Ne=>{u(Li).apiKeyUrl&&Ne(le)})}G(()=>ye=$t(pe,1,"preset-note svelte-767znw",null,ye,{free:!!u(Li).freeNote})),E(Oe,pe)};U(B,Oe=>{var pe,ye;((pe=u(Li))!=null&&pe.freeNote||(ye=u(Li))!=null&&ye.apiKeyUrl)&&Oe(Y)})}var xe=x(B,2);{var Ae=Oe=>{var pe=o9(),ye=k(pe),ge=x(k(ye));kn(ge,()=>"Base URL of the LLM API. Auto-filled for cloud presets. For Ollama: http://localhost:11434.");var me=x(ye,2);G(()=>{var Ye;return gn(me,"placeholder",u(Nt)==="ollama"?"http://localhost:11434":u(Nt)==="lmstudio"?"http://localhost:1234":((Ye=u(Li))==null?void 0:Ye.baseUrl)??"")}),Mi(me,()=>u(vt),Ye=>C(vt,Ye)),E(Oe,pe)};U(xe,Oe=>{u(Nt)!=="anthropic"&&Oe(Ae)})}var Me=x(xe,2),ke=k(Me),Dt=x(k(ke));kn(Dt,()=>"Model identifier. Suggested default is filled in when you choose a preset.");var ot=x(ke,2),Ee=x(Me,2);{var pt=Oe=>{var pe=r9(),ye=k(pe),ge=x(k(ye));kn(ge,()=>"Stored in config.json. Not needed for local providers.");var me=x(ye,2);Mi(me,()=>u(ai),Ye=>C(ai,Ye)),E(Oe,pe)};U(Ee,Oe=>{u(Nt)!=="ollama"&&u(Nt)!=="lmstudio"&&Oe(pt)})}G(()=>{var Oe;return gn(ot,"placeholder",((Oe=u(Li))==null?void 0:Oe.defaultModel)||"e.g. llama3.2")}),Q("change",wt,cn),Zr(wt,()=>u(Nt),Oe=>C(Nt,Oe)),Mi(ot,()=>u(vi),Oe=>C(vi,Oe)),E(ue,Le)},Vt=nt(()=>u(ji).some(ue=>ue.id==="ai"));U(Te,ue=>{u(Vt)&&ue(tt)})}E($,re)};U(_e,$=>{u(_n)?$(Xe):$(it,-1)})}G(()=>{O.disabled=u(rn),q(oe,u(rn)?"Saving…":"Save")}),Mi(Yn,()=>u(dn),$=>C(dn,$)),Q("click",O,Wt),E(o,ei),Vo()}Pr(["click","change"]);var h9=M("<option> </option>"),u9=M('<div><span class="ts svelte-18loop9"> </span> <span class="lvl svelte-18loop9"> </span> <span class="msg svelte-18loop9"> </span></div>'),g9=M('<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 f9(o,e){zo(e,!0);let t=W(li(MR())),i,n=W(!0),s=W("all"),r=W(""),a=W(!1);const c=["all","debug","info","warn","error"],h={debug:0,info:1,warn:2,error:3};vL(X=>{C(t,[...u(t).slice(-1999),X],!0)}),Tr(()=>{i&&(i.scrollTop=i.scrollHeight)}),Wn(()=>{u(t).length,u(n)&&i&&(i.scrollTop=i.scrollHeight)});function g(){C(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=g9(),_=k(v),w=x(k(_),2);gi(w,21,()=>c,Nn,(X,fe)=>{var Ie=h9(),Be=k(Ie),Se={};G(()=>{q(Be,u(fe)),Se!==(Se=u(fe))&&(Ie.value=(Ie.__value=u(fe))??"")}),E(X,Ie)});var S=x(w,2),D=x(S,2),P=k(D),A=x(D,2),V=k(A),H=x(A,2),J=x(_,2);gi(J,21,()=>u(t).filter(f),X=>X.ts+X.msg,(X,fe)=>{var Ie=u9(),Be=k(Ie),Se=k(Be),ut=x(Be,2),mt=k(ut),at=x(ut,2),hi=k(at);G((Ut,ti)=>{$t(Ie,1,`line ${u(fe).level??""}`,"svelte-18loop9"),q(Se,Ut),q(mt,ti),q(hi,u(fe).msg)},[()=>p(u(fe).ts),()=>u(fe).level.toUpperCase()]),E(X,Ie)}),Is(J,X=>i=X,()=>i),Zr(w,()=>u(s),X=>C(s,X)),Mi(S,()=>u(r),X=>C(r,X)),Vs(P,()=>u(a),X=>C(a,X)),Vs(V,()=>u(n),X=>C(n,X)),Q("click",H,g),E(o,v),Vo()}Pr(["click"]);var p9=M('<span class="chat-model svelte-1twuiul"><!></span>'),m9=M('<button class="clear-btn svelte-1twuiul" title="Clear conversation">✕</button>'),_9=M('<div class="unconfigured svelte-1twuiul">Configure an AI provider in the <strong class="svelte-1twuiul">Config</strong> tab to use the AI assistant.</div>'),v9=M('Working on view <code class="svelte-1twuiul"> </code>',1),b9=M('<button class="chip svelte-1twuiul"> </button>'),y9=M('<div class="suggestions svelte-1twuiul"><p class="suggestions-hint svelte-1twuiul"><!></p> <!></div>'),w9=M('<div class="msg-content user-text svelte-1twuiul"> </div>'),JD=M('<div class="tool-event tool-call svelte-1twuiul"><span class="tool-icon svelte-1twuiul">🔧</span><span class="tool-name svelte-1twuiul"> </span></div>'),eE=M('<div class="tool-event tool-result svelte-1twuiul"><span class="tool-icon svelte-1twuiul">✓</span><span class="tool-name svelte-1twuiul"> </span></div>'),tE=M('<div class="tool-events svelte-1twuiul"></div>'),iE=M('<div class="text-block svelte-1twuiul"></div>'),S9=M('<button class="expand-btn svelte-1twuiul"> </button>'),C9=M('<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>'),x9=M('<div class="apply-view-row svelte-1twuiul"><button class="apply-view-btn svelte-1twuiul"> </button></div>'),L9=M('<!> <div class="msg-content svelte-1twuiul"><!> <!></div>',1),k9=M("<div><!></div>"),I9=M('<div class="message assistant svelte-1twuiul"><div class="msg-content svelte-1twuiul"><span class="status-shimmer svelte-1twuiul"> </span></div></div>'),D9=M('<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>'),E9=M('<div class="message assistant streaming svelte-1twuiul"><div class="msg-content svelte-1twuiul"></div></div>'),P9=M('<div class="chat-error svelte-1twuiul"> </div>'),T9=M('<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>'),M9=M('<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>'),N9=M('<button class="stop-btn svelte-1twuiul" title="Stop generation">■</button>'),R9=M('<button class="send-btn svelte-1twuiul">↑</button>'),A9=M('<option class="svelte-1twuiul"> </option>'),O9=M('<select class="model-select svelte-1twuiul"></select>'),F9=M('<span class="model-name svelte-1twuiul"> </span>'),H9=M('<button class="info-btn svelte-1twuiul" title="Model info">ℹ</button>'),W9=M('<div class="model-bar svelte-1twuiul"><span class="model-provider svelte-1twuiul"> </span> <!> <!></div>'),B9=M('<p class="info-status svelte-1twuiul">Loading…</p>'),z9=M('<p class="info-status info-err svelte-1twuiul"> </p>'),V9=M('<dt class="svelte-1twuiul">Ollama version</dt><dd class="svelte-1twuiul"> </dd>',1),j9=M('<dt class="svelte-1twuiul">Family</dt><dd class="svelte-1twuiul"> </dd>',1),U9=M('<dt class="svelte-1twuiul">Parameters</dt><dd class="svelte-1twuiul"> </dd>',1),$9=M('<dt class="svelte-1twuiul">Quantization</dt><dd class="svelte-1twuiul"> </dd>',1),q9=M('<div class="running-model svelte-1twuiul"> </div>'),K9=M('<dt class="svelte-1twuiul">Loaded</dt> <dd class="svelte-1twuiul"></dd>',1),G9=M('<dt class="svelte-1twuiul">Loaded</dt><dd class="dim svelte-1twuiul">Not in memory</dd>',1),Z9=M('<dl class="svelte-1twuiul"><!> <!> <!> <!> <!></dl>'),X9=M('<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>'),Y9=M('<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 Q9(o,e){zo(e,!0),db.registerLanguage("javascript",HR),Bn.use({breaks:!0,gfm:!0});let t=vg(e,"currentView",3,null);const i="she:viewchat:messages";let n=W(li(JSON.parse(localStorage.getItem(i)??"[]"))),s=W(null),r=W(""),a=W(!1),c=W(""),h=W(null),g=W(li([])),f=W(li(localStorage.getItem("she:selectedModel")??""));Wn(()=>{localStorage.setItem(i,JSON.stringify(u(n)))});let p=W(li(new Set)),v=W(!1),_=W(null),w=W(!1),S=W(""),D=null,P=W(0);const A=["[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=W(!0),H=W(!0),J=W(!0),X=W(li([])),fe=W(!0),Ie=W(!1),Be,Se=W(li([])),ut=W(0),mt,at;const hi=nt(()=>({apiref:!1,shedb:u(V),sampleDocs:u(H),tools:u(J)})),Ut=nt(()=>{var N;return((N=u(h))==null?void 0:N.configured)??!1}),ti=nt(()=>u(ut)+new TextEncoder().encode(u(r)).length),Fe=nt(()=>u(fe)?t():null);async function Gt(){try{const N=await DR();C(h,N,!0),N.configured&&!u(f)&&C(f,N.model,!0)}catch{}}Wn(()=>(window.addEventListener("she:config-changed",Gt),()=>window.removeEventListener("she:config-changed",Gt))),Tr(()=>{Gt()}),Wn(()=>{u(f)&&localStorage.setItem("she:selectedModel",u(f))}),Wn(()=>{var N;(N=u(h))!=null&&N.provider&&ER().then(K=>{C(g,K.models,!0),!u(f)&&K.models.length>0&&C(f,K.models[0],!0)}).catch(()=>{})}),Wn(()=>{u(f),C(_,null),C(S,"")}),Wn(()=>{const N=u(hi),K=u(Fe),Ce=u(X);u(Ut)&&PR({context:N,currentView:K??null,extraFiles:Ce.length>0?Ce:void 0}).then(Pe=>{C(ut,new TextEncoder().encode(Pe.prompt).length,!0)}).catch(()=>{})}),Wn(()=>{if(!u(a))return;C(P,Math.floor(Math.random()*A.length),!0);const N=setInterval(()=>{C(P,(u(P)+1)%A.length)},1e4);return()=>clearInterval(N)}),Wn(()=>{var N;at&&(u(n).length+(((N=u(s))==null?void 0:N.length)??0),requestAnimationFrame(()=>{at&&(at.scrollTop=at.scrollHeight)}))});function Je(N){const K=[],Ce=/```(\w*)\n([\s\S]*?)```/g;let Pe=0,Ve;for(;(Ve=Ce.exec(N))!==null;)Ve.index>Pe&&K.push({type:"text",text:N.slice(Pe,Ve.index)}),K.push({type:"code",lang:Ve[1]||"text",text:Ve[2].trimEnd()}),Pe=Ve.index+Ve[0].length;return Pe<N.length&&K.push({type:"text",text:N.slice(Pe)}),K}function Lt(N){const K=[],Ce=/```(\w*)\n([\s\S]*?)```/g;let Pe=0,Ve;for(;(Ve=Ce.exec(N))!==null;)Ve.index>Pe&&K.push({type:"text",text:N.slice(Pe,Ve.index)}),K.push({type:"code",lang:Ve[1]||"text",text:Ve[2].trimEnd()}),Pe=Ve.index+Ve[0].length;const Te=N.slice(Pe),tt=Te.match(/```(\w*)\n([\s\S]*)$/);return tt?(tt.index>0&&K.push({type:"text",text:Te.slice(0,tt.index)}),K.push({type:"code",lang:tt[1]||"text",text:tt[2]})):Te&&K.push({type:"text",text:Te}),K}function Yt(N){const K={};for(const Ce of N)if(Ce.type==="code"){if(Ce.lang==="filter")K.filter=Ce.text.trim();else if(ai(Ce.lang)){const Pe=Ce.text.split(`
223
- `)[0].trim();Pe==="// @view-map"?K.map=Ce.text.split(`
224
- `).slice(1).join(`
225
- `).trim():Pe==="// @view-reduce"&&(K.reduce=Ce.text.split(`
226
- `).slice(1).join(`
227
- `).trim())}}return K}function Ci(N){return N.filter!==void 0||N.map!==void 0||N.reduce!==void 0}function xi(N){const K=[];return N.filter!==void 0&&K.push("filter"),N.map!==void 0&&K.push("map"),N.reduce!==void 0&&K.push("reduce"),`Apply ${K.join(" + ")}`}const ii=15;function Nt(N){return N.split(`
228
- `).length>ii}function Ri(N){const K=new Set(u(p));K.has(N)?K.delete(N):K.add(N),C(p,K,!0)}function vt(N,K){if(ai(K))try{return db.highlight(N,{language:"javascript"}).value}catch{}return N.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function vi(N){return Bn.parse(N)}function ai(N){return!N||N==="js"||N==="javascript"}function Vi(N){navigator.clipboard.writeText(N).catch(()=>{})}async function Qi(){if(C(v,!0),!(u(_)||u(w))){C(w,!0),C(S,"");try{C(_,await k0(u(f)||u(h).model),!0)}catch(N){C(S,N.message,!0)}C(w,!1)}}function Ji(N){return N>=1e9?`${(N/1e9).toFixed(1)} GB`:N>=1e6?`${(N/1e6).toFixed(0)} MB`:`${N} B`}function cn(N){const K=N.match(/\.([^.]+)$/);return K?K[1].toUpperCase():"?"}function Li(N){switch(N){case"SH":case"BASH":return"$";case"MD":case"MARKDOWN":return"↓";case"JSON":case"JSONC":return"{}";default:return N}}function ni(N){C(X,u(X).filter((K,Ce)=>Ce!==N),!0)}function pi(){Be.click()}async function Ki(N){if(!(!N||N.length===0))for(const K of Array.from(N)){const Ce=await K.text();C(X,[...u(X),{name:K.name,content:Ce}],!0)}}function on(N){const K=N.target;Ki(K.files),K.value=""}function _n(N){var K;N.preventDefault(),C(Ie,!1),Ki(((K=N.dataTransfer)==null?void 0:K.files)??null)}function rn(N){var K;(K=N.dataTransfer)!=null&&K.types.includes("Files")&&(N.preventDefault(),C(Ie,!0))}function $n(){C(Ie,!1)}async function en(){const N=u(r).trim();if(!(!N||u(a))){C(r,""),C(c,""),C(a,!0),C(n,[...u(n),{role:"user",content:N}],!0),D=new AbortController,C(Se,[],!0);try{await TR({messages:u(n),currentView:u(Fe),context:u(hi),modelOverride:u(f)||void 0,extraFiles:u(X).length>0?u(X):void 0},K=>{C(s,(u(s)??"")+K)},D.signal,K=>{C(Se,[...u(Se),K],!0)}),C(n,[...u(n),{role:"assistant",content:u(s)??"",toolEvents:u(Se).length>0?[...u(Se)]:void 0}],!0),C(Se,[],!0)}catch(K){if(K.name==="AbortError"){const Ce=u(s);Ce!=null&&Ce.trim()&&C(n,[...u(n),{role:"assistant",content:Ce+`
229
-
230
- *[stopped]*`,toolEvents:u(Se).length>0?[...u(Se)]:void 0}],!0)}else C(c,K.message,!0)}finally{D=null,C(s,null),C(Se,[],!0),C(a,!1)}}}function dn(){D==null||D.abort()}function Xn(N){N.key==="Enter"&&!N.shiftKey&&(N.preventDefault(),en())}function Fn(){C(n,[],!0),C(c,"")}const ji=["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 qn(N){C(r,N,!0),mt==null||mt.focus()}var He=Y9(),Wt=_t(He),ei=k(Wt),ki=x(k(ei),2);{var Pi=N=>{var K=p9(),Ce=k(K);{var Pe=Te=>{var tt=sa();G(()=>q(tt,`${u(h).provider??""} · ${(u(f)||u(h).model)??""}`)),E(Te,tt)},Ve=Te=>{var tt=sa("Not configured");E(Te,tt)};U(Ce,Te=>{u(Ut)?Te(Pe):Te(Ve,-1)})}G(()=>gn(K,"title",`Provider: ${u(h).provider??""}`)),E(N,K)};U(ki,N=>{u(h)&&N(Pi)})}var zn=x(ki,2);{var Hn=N=>{var K=m9();Q("click",K,Fn),E(N,K)};U(zn,N=>{u(n).length>0&&N(Hn)})}var Yn=x(ei,2),xn=k(Yn);{var qe=N=>{var K=_9();E(N,K)},Z=N=>{var K=y9(),Ce=k(K),Pe=k(Ce);{var Ve=Vt=>{var ue=v9(),Le=x(_t(ue)),ft=k(Le);G(()=>q(ft,t().id)),E(Vt,ue)},Te=Vt=>{var ue=sa("No view selected. Ask a general sheDB view question.");E(Vt,ue)};U(Pe,Vt=>{t()?Vt(Ve):Vt(Te,-1)})}var tt=x(Ce,2);gi(tt,17,()=>ji,Nn,(Vt,ue)=>{var Le=b9(),ft=k(Le);G(()=>q(ft,u(ue))),Q("click",Le,()=>qn(u(ue))),E(Vt,Le)}),E(N,K)};U(xn,N=>{u(Ut)?u(n).length===0&&u(s)===null&&N(Z,1):N(qe)})}var Ke=x(xn,2);gi(Ke,17,()=>u(n),Nn,(N,K,Ce)=>{var Pe=k9(),Ve=k(Pe);{var Te=Vt=>{var ue=w9(),Le=k(ue);G(()=>q(Le,u(K).content)),E(Vt,ue)},tt=Vt=>{const ue=nt(()=>Je(u(K).content)),Le=nt(()=>Yt(u(ue)));var ft=L9(),Re=_t(ft);{var dt=Me=>{var ke=tE();gi(ke,21,()=>u(K).toolEvents,Nn,(Dt,ot)=>{var Ee=Us(),pt=_t(Ee);{var Oe=ye=>{var ge=JD(),me=x(k(ge)),Ye=k(me);G(le=>q(Ye,le),[()=>u(ot).name.replace(/_/g," ")]),E(ye,ge)},pe=ye=>{var ge=eE(),me=x(k(ge)),Ye=k(me);G(le=>q(Ye,le),[()=>u(ot).name.replace(/_/g," ")]),E(ye,ge)};U(pt,ye=>{u(ot).type==="tool_call"?ye(Oe):ye(pe,-1)})}E(Dt,Ee)}),E(Me,ke)};U(Re,Me=>{var ke;(ke=u(K).toolEvents)!=null&&ke.length&&Me(dt)})}var wt=x(Re,2),B=k(wt);gi(B,17,()=>u(ue),Nn,(Me,ke,Dt)=>{var ot=Us(),Ee=_t(ot);{var pt=pe=>{var ye=iE();ic(ye,()=>vi(u(ke).text),!0),E(pe,ye)},Oe=pe=>{const ye=nt(()=>`${Ce}:${Dt}`),ge=nt(()=>Nt(u(ke).text)),me=nt(()=>u(p).has(u(ye))),Ye=nt(()=>u(ke).lang==="filter");var le=C9(),Ne=k(le),Qe=k(Ne),rt=k(Qe),We=x(Qe,2),Ot=k(We),zt=x(Ne,2);let vn;var Ui=k(zt),Ln=k(Ui);ic(Ln,()=>vt(u(ke).text,u(ke).lang??""),!0);var Qn=x(Ui,2);{var Ii=qt=>{var nn=S9(),zi=k(nn);G(()=>q(zi,u(me)?"▲ collapse":"▼ expand")),Q("click",nn,()=>Ri(u(ye))),E(qt,nn)};U(Qn,qt=>{u(ge)&&qt(Ii)})}G(()=>{q(rt,u(Ye)?"filter":u(ke).lang),vn=$t(zt,1,"code-body svelte-1twuiul",null,vn,{collapsed:u(ge)&&!u(me)})}),Q("click",Ot,()=>Vi(u(ke).text)),E(pe,le)};U(Ee,pe=>{u(ke).type==="text"?pe(pt):pe(Oe,-1)})}E(Me,ot)});var Y=x(B,2);{var xe=Me=>{var ke=x9(),Dt=k(ke),ot=k(Dt);G(Ee=>q(ot,Ee),[()=>xi(u(Le))]),Q("click",Dt,()=>e.onApplyView(u(Le))),E(Me,ke)},Ae=nt(()=>Ci(u(Le))&&e.onApplyView);U(Y,Me=>{u(Ae)&&Me(xe)})}E(Vt,ft)};U(Ve,Vt=>{u(K).role==="user"?Vt(Te):Vt(tt,-1)})}G(()=>$t(Pe,1,`message ${u(K).role??""}`,"svelte-1twuiul")),E(N,Pe)});var St=x(Ke,2);{var kt=N=>{var K=tE();gi(K,21,()=>u(Se),Nn,(Ce,Pe)=>{var Ve=Us(),Te=_t(Ve);{var tt=ue=>{var Le=JD(),ft=x(k(Le)),Re=k(ft);G(dt=>q(Re,dt),[()=>u(Pe).name.replace(/_/g," ")]),E(ue,Le)},Vt=ue=>{var Le=eE(),ft=x(k(Le)),Re=k(ft);G(dt=>q(Re,dt),[()=>u(Pe).name.replace(/_/g," ")]),E(ue,Le)};U(Te,ue=>{u(Pe).type==="tool_call"?ue(tt):ue(Vt,-1)})}E(Ce,Ve)}),E(N,K)};U(St,N=>{u(Se).length>0&&N(kt)})}var jt=x(St,2);{var O=N=>{var K=I9(),Ce=k(K),Pe=k(Ce),Ve=k(Pe);G(()=>q(Ve,A[u(P)])),E(N,K)};U(jt,N=>{u(a)&&u(s)===null&&u(Se).length===0&&N(O)})}var oe=x(jt,2);{var _e=N=>{var K=E9(),Ce=k(K);gi(Ce,21,()=>Lt(u(s)),Nn,(Pe,Ve)=>{var Te=Us(),tt=_t(Te);{var Vt=Le=>{var ft=iE();ic(ft,()=>vi(u(Ve).text),!0),E(Le,ft)},ue=Le=>{var ft=D9(),Re=k(ft),dt=k(Re),wt=k(dt),B=x(Re,2),Y=k(B);ic(Y,()=>vt(u(Ve).text,u(Ve).lang??""),!0),G(()=>q(wt,u(Ve).lang)),E(Le,ft)};U(tt,Le=>{u(Ve).type==="text"?Le(Vt):Le(ue,-1)})}E(Pe,Te)}),E(N,K)};U(oe,N=>{u(s)!==null&&N(_e)})}Is(Yn,N=>at=N,()=>at);var Xe=x(Yn,2);{var it=N=>{var K=P9(),Ce=k(K);G(()=>q(Ce,u(c))),E(N,K)};U(Xe,N=>{u(c)&&N(it)})}var $=x(Xe,2),re=k($),de=k(re),ze=x(re,2),Bt=k(ze),lt=x(ze,2),De=k(lt),Rt=x(lt,2),Qt=k(Rt),At=x($,2),ui=k(At);{var ci=N=>{var K=T9();let Ce;var Pe=x(k(K),2),Ve=k(Pe),Te=x(Pe,2),tt=k(Te);G(()=>{Ce=$t(K,1,"file-chip svelte-1twuiul",null,Ce,{inactive:!u(fe)}),q(Ve,t().id),gn(Te,"title",u(fe)?"Remove from context":"Re-add to context"),q(tt,u(fe)?"×":"+")}),Q("click",Te,()=>C(fe,!u(fe))),E(N,K)};U(ui,N=>{t()&&N(ci)})}var ie=x(ui,2);gi(ie,17,()=>u(X),Nn,(N,K,Ce)=>{const Pe=nt(()=>cn(u(K).name));var Ve=M9(),Te=k(Ve),tt=k(Te),Vt=x(Te,2),ue=k(Vt),Le=x(Vt,2);G((ft,Re)=>{$t(Te,1,`badge badge-${ft??""}`,"svelte-1twuiul"),q(tt,Re),q(ue,u(K).name)},[()=>u(Pe).toLowerCase(),()=>Li(u(Pe))]),Q("click",Le,()=>ni(Ce)),E(N,Ve)});var be=x(ie,2),Ge=x(be,2);Is(Ge,N=>Be=N,()=>Be);var ct=x(At,2);let Ct;var et=k(ct);let It;var Zt=k(et);Is(Zt,N=>mt=N,()=>mt);var si=x(et,2);{var ri=N=>{var K=N9();Q("click",K,dn),E(N,K)},hn=N=>{var K=R9();G(Ce=>K.disabled=Ce,[()=>!u(r).trim()||!u(Ut)]),Q("click",K,en),E(N,K)};U(si,N=>{u(a)?N(ri):N(hn,-1)})}var yn=x(ct,2);{var Gi=N=>{var K=W9(),Ce=k(K),Pe=k(Ce),Ve=x(Ce,2);{var Te=Le=>{var ft=O9();gi(ft,21,()=>u(g),Nn,(Re,dt)=>{var wt=A9(),B=k(wt),Y={};G(()=>{q(B,u(dt)),Y!==(Y=u(dt))&&(wt.value=(wt.__value=u(dt))??"")}),E(Re,wt)}),G(()=>ft.disabled=u(a)),Zr(ft,()=>u(f),Re=>C(f,Re)),E(Le,ft)},tt=Le=>{var ft=F9(),Re=k(ft);G(()=>q(Re,u(f)||u(h).model)),E(Le,ft)};U(Ve,Le=>{u(g).length>0?Le(Te):Le(tt,-1)})}var Vt=x(Ve,2);{var ue=Le=>{var ft=H9();Q("click",ft,Qi),E(Le,ft)};U(Vt,Le=>{u(h).provider==="ollama"&&Le(ue)})}G(()=>q(Pe,u(h).provider)),E(N,K)};U(yn,N=>{u(Ut)&&u(h)&&N(Gi)})}var oi=x(Wt,2);{var st=N=>{var K=X9(),Ce=k(K),Pe=k(Ce),Ve=k(Pe),Te=k(Ve),tt=x(Ve,2),Vt=x(Pe,2),ue=k(Vt);{var Le=dt=>{var wt=B9();E(dt,wt)},ft=dt=>{var wt=z9(),B=k(wt);G(()=>q(B,u(S))),E(dt,wt)},Re=dt=>{var wt=Z9(),B=k(wt);{var Y=pe=>{var ye=V9(),ge=x(_t(ye)),me=k(ge);G(()=>q(me,u(_).version)),E(pe,ye)};U(B,pe=>{u(_).version&&pe(Y)})}var xe=x(B,2);{var Ae=pe=>{var ye=j9(),ge=x(_t(ye)),me=k(ge);G(()=>q(me,u(_).details.family)),E(pe,ye)};U(xe,pe=>{var ye;(ye=u(_).details)!=null&&ye.family&&pe(Ae)})}var Me=x(xe,2);{var ke=pe=>{var ye=U9(),ge=x(_t(ye)),me=k(ge);G(()=>q(me,u(_).details.parameter_size)),E(pe,ye)};U(Me,pe=>{var ye;(ye=u(_).details)!=null&&ye.parameter_size&&pe(ke)})}var Dt=x(Me,2);{var ot=pe=>{var ye=$9(),ge=x(_t(ye)),me=k(ge);G(()=>q(me,u(_).details.quantization_level)),E(pe,ye)};U(Dt,pe=>{var ye;(ye=u(_).details)!=null&&ye.quantization_level&&pe(ot)})}var Ee=x(Dt,2);{var pt=pe=>{var ye=K9(),ge=x(_t(ye),2);gi(ge,21,()=>u(_).running,Nn,(me,Ye)=>{var le=q9(),Ne=k(le);G(Qe=>q(Ne,`${u(Ye).name??""} · ${Qe??""} VRAM`),[()=>Ji(u(Ye).size_vram)]),E(me,le)}),E(pe,ye)},Oe=pe=>{var ye=G9();E(pe,ye)};U(Ee,pe=>{u(_).running&&u(_).running.length>0?pe(pt):u(_).running!==null&&pe(Oe,1)})}E(dt,wt)};U(ue,dt=>{u(w)?dt(Le):u(S)?dt(ft,1):u(_)&&dt(Re,2)})}G(()=>{var dt;return q(Te,`Ollama · ${(u(f)||((dt=u(h))==null?void 0:dt.model))??""}`)}),Q("click",K,()=>C(v,!1)),Q("click",Ce,dt=>dt.stopPropagation()),Q("click",tt,()=>C(v,!1)),E(N,K)};U(oi,N=>{u(v)&&N(st)})}G(N=>{q(Qt,N),Ct=$t(ct,1,"input-row svelte-1twuiul",null,Ct,{"drag-over":u(Ie)}),It=$t(et,1,"textarea-wrap svelte-1twuiul",null,It,{loading:u(a)}),gn(Zt,"placeholder",u(Ut)?"Ask anything… (Enter to send, Shift+Enter for newline, drag & drop files to add context)":"AI not configured"),Zt.disabled=u(a)||!u(Ut)},[()=>Ji(u(ti))]),Vs(de,()=>u(V),N=>C(V,N)),Vs(Bt,()=>u(H),N=>C(H,N)),Vs(De,()=>u(J),N=>C(J,N)),Q("click",be,pi),Q("change",Ge,on),cs("dragover",ct,rn),cs("dragleave",ct,$n),cs("drop",ct,_n),Q("keydown",Zt,Xn),Mi(Zt,()=>u(r),N=>C(r,N)),E(o,He),Vo()}Pr(["click","change","keydown"]);var J9=M('<div class="me svelte-1pxdb1"></div>');function cS(o,e){zo(e,!0);let t=vg(e,"value",15,""),i=vg(e,"language",3,"javascript"),n,s,r=!1;Tr(()=>{const c=i()==="json"?{formatOnPaste:!0,autoIndent:"full"}:{};s=ar.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())})}),Ry(()=>s==null?void 0:s.dispose()),Wn(()=>{!s||s.getValue()===t()||(r=!0,s.setValue(t()),r=!1)});var a=J9();Is(a,c=>n=c,()=>n),E(o,a),Vo()}var eZ=M('<!> <div class="welcome svelte-rrt0o"><div class="welcome-inner svelte-rrt0o"><div class="welcome-logo svelte-rrt0o">db</div> <p class="welcome-sub svelte-rrt0o">sheDB — embedded JSON document store with MapReduce views</p> <div class="welcome-hint svelte-rrt0o"><strong>In scripts:</strong> use <code class="svelte-rrt0o">she.db.get(id)</code>, <code class="svelte-rrt0o">she.db.set(id, doc)</code>, <code class="svelte-rrt0o">she.db.extend(id, partial)</code>, <code class="svelte-rrt0o">she.db.sub(pattern, cb)</code>.<br/> <strong>Views:</strong> <code class="svelte-rrt0o">this</code> = current document &mdash; call <code class="svelte-rrt0o">emit(value)</code> to add to result.</div> <div class="welcome-links svelte-rrt0o"><a href="https://github.com/hobbyquaker/she/blob/main/doc/db/README.md" target="_blank" rel="noopener" class="svelte-rrt0o">sheDB docs</a> <span class="svelte-rrt0o">·</span> <a href="https://github.com/hobbyquaker/she/blob/main/doc/db/view-examples.md" target="_blank" rel="noopener" class="svelte-rrt0o">View examples</a> <span class="svelte-rrt0o">·</span> <a href="https://github.com/hobbyquaker/she" target="_blank" rel="noopener" class="svelte-rrt0o">GitHub</a></div></div></div>',1),tZ=M('<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>'),nE=M('<div class="form-error svelte-rrt0o"> </div>'),iZ=M('<div class="new-item-form svelte-rrt0o"><input placeholder="device/lamp1" class="svelte-rrt0o"/> <button class="svelte-rrt0o">Create</button></div> <!>',1),sE=M("<li> </li>"),oE=M('<div class="error-bar svelte-rrt0o"> </div>'),rE=M('<div class="loading svelte-rrt0o">Loading…</div>'),nZ=M('<div class="monaco-doc-wrap svelte-rrt0o"><!></div>'),sZ=M('<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),oZ=M('<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>'),rZ=M('<div class="new-item-form svelte-rrt0o"><input placeholder="myView" class="svelte-rrt0o"/> <button class="svelte-rrt0o">Create</button></div> <!>',1),aZ=M('<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>'),lZ=M('<span class="badge-error svelte-rrt0o">error</span>'),cZ=M('<span class="badge-ok svelte-rrt0o"> </span>'),dZ=M('<pre class="result-error svelte-rrt0o"> </pre>'),hZ=M('<pre class="result-json svelte-rrt0o"> </pre>'),uZ=M('<div class="view-result svelte-rrt0o"><div class="result-header svelte-rrt0o">Result <!></div> <!></div>'),gZ=M('<div class="view-sections svelte-rrt0o"><div class="view-section svelte-rrt0o"><div class="section-title svelte-rrt0o">Description <span class="section-hint svelte-rrt0o">— optional, shown in sidebar</span></div> <div class="section-body svelte-rrt0o"><input class="filter-input svelte-rrt0o" placeholder="(optional description)"/></div></div> <div class="view-section svelte-rrt0o"><div class="section-title svelte-rrt0o">Filter <span class="section-hint svelte-rrt0o">— MQTT wildcard, optional</span></div> <div class="section-body svelte-rrt0o"><input class="filter-input svelte-rrt0o" placeholder="#"/></div></div> <div class="view-section svelte-rrt0o"><div class="section-title svelte-rrt0o">Map <span class="section-hint svelte-rrt0o">— <code>this</code> = document &nbsp;·&nbsp; call <code>emit(this)</code> to include in result</span></div> <div class="monaco-view-wrap monaco-view-wrap--map svelte-rrt0o"><!></div></div> <div class="view-section svelte-rrt0o"><div class="section-title svelte-rrt0o">Reduce <span class="section-hint svelte-rrt0o">— receives <code>result</code> array, must <code>return</code> new value (optional)</span></div> <div class="monaco-view-wrap monaco-view-wrap--reduce svelte-rrt0o"><!></div></div> <div class="view-section view-section--options svelte-rrt0o"><label class="opt-check svelte-rrt0o"><input type="checkbox" class="svelte-rrt0o"/> <span class="checkmark svelte-rrt0o"></span> Publish to MQTT <span class="section-hint svelte-rrt0o">— publish view to MQTT topic <code> </code></span></label> <!></div> <!></div>'),fZ=M('<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),pZ=M('<div class="chat-resize-handle svelte-rrt0o" role="separator"></div> <div class="chat-pane svelte-rrt0o"><!></div>',1),mZ=M('<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>'),_Z=M('<div class="db-root svelte-rrt0o" role="presentation"><div class="panel-tabs svelte-rrt0o"><button>Documents</button> <button>Views</button> <!></div> <!></div>');function vZ(o,e){zo(e,!0);const t=qe=>{var Z=eZ(),Ke=_t(Z);Is(Gg(Ke,{}),St=>Li=St,()=>Li),E(qe,Z)};let i=W(li([])),n=W(null),s=W("{}"),r=W(!1),a=W(null);const c="she-db-selected-view";let h=W(li([])),g=W(li(localStorage.getItem(c))),f=W("#"),p=W("// emit(this.someProperty)"),v=W(""),_=W(""),w=W(!1),S=W(!1),D=W(null),P=W(!1),A=W(null),V=W("she/db/view/");const H="she-db-panel";let J=W(li(localStorage.getItem(H)??"docs")),X=W(""),fe=W(!1),Ie=W(null),Be=W(""),Se=W(!1),ut=W(null);const mt="she-db-sidebar-width";let at=W(li(parseInt(localStorage.getItem(mt)??"220",10))),hi=!1,Ut=0,ti=0;const Fe="she-db-chat-width",Gt="she-db-chat-open";let Je=W(localStorage.getItem(Gt)==="true"),Lt=W(li(parseInt(localStorage.getItem(Fe)??"320",10))),Yt=!1,Ci=0,xi=0;const ii=nt(()=>u(g)?{id:u(g),filter:u(f),map:u(p),reduce:u(v)}:null);function Nt(qe){qe.filter!==void 0&&C(f,qe.filter,!0),qe.map!==void 0&&C(p,qe.map,!0),qe.reduce!==void 0&&C(v,qe.reduce,!0)}Wn(()=>{localStorage.setItem(Gt,String(u(Je)))}),Wn(()=>{localStorage.setItem(H,u(J))}),Wn(()=>{u(g)?localStorage.setItem(c,u(g)):localStorage.removeItem(c)});function Ri(qe){hi=!0,Ut=qe.clientX,ti=u(at),qe.preventDefault()}function vt(qe){hi&&C(at,Math.max(140,Math.min(500,ti+qe.clientX-Ut)),!0),Yt&&C(Lt,Math.max(240,Math.min(600,xi-(qe.clientX-Ci))),!0)}function vi(){hi&&(hi=!1,localStorage.setItem(mt,String(u(at)))),Yt&&(Yt=!1,localStorage.setItem(Fe,String(u(Lt))))}function ai(qe){Yt=!0,Ci=qe.clientX,xi=u(Lt),qe.preventDefault()}async function Vi(){try{C(i,await CR(),!0)}catch{}}async function Qi(){try{C(h,await xR(),!0)}catch{}}async function Ji(qe){C(n,qe,!0),C(a,null),C(r,!0);try{const Z=await l7(qe);C(s,JSON.stringify(Z,null,2),!0)}catch(Z){C(a,Z instanceof Error?Z.message:String(Z),!0)}finally{C(r,!1)}}async function cn(){if(u(n)){C(a,null);try{const qe=JSON.parse(u(s));await ID(u(n),qe)}catch(qe){C(a,qe instanceof Error?qe.message:String(qe),!0)}}}let Li;async function ni(){if(u(n)&&await Li.show(`Delete document "${u(n)}"?`,{confirm:"Delete",danger:!0}))try{await c7(u(n)),C(n,null),C(s,"{}")}catch(qe){C(a,qe instanceof Error?qe.message:String(qe),!0)}}async function pi(){const qe=u(X).trim();if(qe){C(Ie,null);try{await ID(qe,{}),C(fe,!1),C(X,""),await Ji(qe)}catch(Z){C(Ie,Z instanceof Error?Z.message:String(Z),!0)}}}async function Ki(qe){C(g,qe,!0),C(A,null),C(P,!0),C(D,null);try{const Z=await d7(qe);C(f,Z.filter??"",!0),C(p,Z.map,!0),C(v,Z.reduce??"",!0),C(_,Z.description??"",!0),C(w,Z.mqttpub??!1,!0),C(S,Z.retain??!1,!0),C(D,await aS(qe).catch(()=>null),!0)}catch(Z){C(A,Z instanceof Error?Z.message:String(Z),!0)}finally{C(P,!1)}}async function on(){if(u(g)){C(A,null);try{const qe={map:u(p)};u(f).trim()&&(qe.filter=u(f).trim()),u(v).trim()&&(qe.reduce=u(v).trim()),u(_).trim()&&(qe.description=u(_).trim()),u(w)&&(qe.mqttpub=!0),u(S)&&(qe.retain=!0),await DD(u(g),qe)}catch(qe){C(A,qe instanceof Error?qe.message:String(qe),!0)}}}async function _n(){if(u(g))try{C(D,await aS(u(g)),!0)}catch(qe){C(A,qe instanceof Error?qe.message:String(qe),!0)}}async function rn(){if(u(g)&&await Li.show(`Delete view "${u(g)}"?`,{confirm:"Delete",danger:!0}))try{await h7(u(g)),C(g,null),C(f,""),C(p,"// emit(this.someProperty)"),C(v,""),C(_,""),C(w,!1),C(S,!1),C(D,null)}catch(qe){C(A,qe instanceof Error?qe.message:String(qe),!0)}}async function $n(){if(!u(Be).trim())return;const qe=u(Be).trim();C(ut,null);try{await DD(qe,{map:"// emit(this.someProperty)"}),C(Se,!1),C(Be,""),await Qi(),await Ki(qe)}catch(Z){C(ut,Z instanceof Error?Z.message:String(Z),!0)}}let en=W(""),dn=W(""),Xn=nt(()=>[...u(i)].filter(qe=>!u(en)||qe.toLowerCase().includes(u(en).toLowerCase())).sort()),Fn=nt(()=>[...u(h)].filter(qe=>!u(dn)||qe.toLowerCase().includes(u(dn).toLowerCase())).sort());Tr(()=>{Vi(),Qi().then(()=>{u(g)&&u(h).includes(u(g))?Ki(u(g)):C(g,null)}),Rg().then(kt=>{const jt=kt.dbPrefix||"she/db/",O=jt.endsWith("/")?jt:jt+"/";C(V,O+"view/")}).catch(()=>{});const qe=Sr("db:ids",kt=>{C(i,kt.ids??[],!0)}),Z=Sr("db:viewIds",kt=>{C(h,kt.ids??[],!0)}),Ke=Sr("db:change",async kt=>{const jt=kt.id;u(n)===jt&&(kt.doc===null?(C(n,null),C(s,"{}")):C(s,JSON.stringify(kt.doc,null,2),!0))}),St=Sr("db:viewUpdate",async kt=>{const jt=kt.id;u(g)===jt&&C(D,await aS(jt).catch(()=>null),!0)});return()=>{qe(),Z(),Ke(),St()}});var ji=_Z(),qn=k(ji),He=k(qn);let Wt;var ei=x(He,2);let ki;var Pi=x(ei,2);{var zn=qe=>{var Z=tZ();let Ke;G(()=>{Ke=$t(Z,1,"ai-toggle svelte-rrt0o",null,Ke,{"ai-open":u(Je)}),gn(Z,"title",u(Je)?"Close AI assistant":"Open AI assistant")}),Q("click",Z,()=>C(Je,!u(Je))),E(qe,Z)};U(Pi,qe=>{u(J)==="views"&&qe(zn)})}var Hn=x(qn,2);{var Yn=qe=>{var Z=oZ(),Ke=k(Z);let St;var kt=k(Ke),jt=k(kt),O=x(kt,2);{var oe=lt=>{var De=iZ(),Rt=_t(De),Qt=k(Rt),At=x(Qt,2),ui=x(Rt,2);{var ci=ie=>{var be=nE(),Ge=k(be);G(()=>q(Ge,u(Ie))),E(ie,be)};U(ui,ie=>{u(Ie)&&ie(ci)})}Q("keydown",Qt,ie=>ie.key==="Enter"&&pi()),Mi(Qt,()=>u(X),ie=>C(X,ie)),Q("click",At,pi),E(lt,De)};U(O,lt=>{u(fe)&&lt(oe)})}var _e=x(O,2),Xe=k(_e),it=x(_e,2);gi(it,20,()=>u(Xn),lt=>lt,(lt,De)=>{var Rt=sE();let Qt;var At=k(Rt);G(()=>{Qt=$t(Rt,1,"flat-item svelte-rrt0o",null,Qt,{"active-item":u(n)===De}),q(At,De)}),Q("click",Rt,()=>Ji(De)),E(lt,Rt)});var $=x(Ke,2),re=x($,2),de=k(re);{var ze=lt=>{var De=sZ(),Rt=_t(De),Qt=k(Rt),At=k(Qt),ui=x(Qt,2),ci=x(ui,2),ie=x(Rt,2);{var be=et=>{var It=oE(),Zt=k(It);G(()=>q(Zt,u(a))),E(et,It)};U(ie,et=>{u(a)&&et(be)})}var Ge=x(ie,2);{var ct=et=>{var It=rE();E(et,It)},Ct=et=>{var It=nZ(),Zt=k(It);cS(Zt,{language:"json",get value(){return u(s)},set value(si){C(s,si,!0)}}),E(et,It)};U(Ge,et=>{u(r)?et(ct):et(Ct,-1)})}G(()=>q(At,u(n))),Q("click",ui,cn),Q("click",ci,ni),E(lt,De)},Bt=lt=>{t(lt)};U(de,lt=>{u(n)?lt(ze):lt(Bt,-1)})}G(()=>St=No(Ke,"",St,{width:`${u(at)??""}px`})),Q("click",jt,()=>{C(fe,!u(fe)),C(Ie,null)}),Mi(Xe,()=>u(en),lt=>C(en,lt)),Q("mousedown",$,Ri),E(qe,Z)},xn=qe=>{var Z=mZ(),Ke=k(Z);let St;var kt=k(Ke),jt=k(kt),O=x(kt,2);{var oe=Rt=>{var Qt=rZ(),At=_t(Qt),ui=k(At),ci=x(ui,2),ie=x(At,2);{var be=Ge=>{var ct=nE(),Ct=k(ct);G(()=>q(Ct,u(ut))),E(Ge,ct)};U(ie,Ge=>{u(ut)&&Ge(be)})}Q("keydown",ui,Ge=>Ge.key==="Enter"&&$n()),Mi(ui,()=>u(Be),Ge=>C(Be,Ge)),Q("click",ci,$n),E(Rt,Qt)};U(O,Rt=>{u(Se)&&Rt(oe)})}var _e=x(O,2),Xe=k(_e),it=x(_e,2);gi(it,20,()=>u(Fn),Rt=>Rt,(Rt,Qt)=>{var At=sE();let ui;var ci=k(At);G(()=>{ui=$t(At,1,"flat-item svelte-rrt0o",null,ui,{"active-item":u(g)===Qt}),q(ci,Qt)}),Q("click",At,()=>Ki(Qt)),E(Rt,At)});var $=x(Ke,2),re=x($,2),de=k(re);{var ze=Rt=>{var Qt=fZ(),At=_t(Qt),ui=k(At),ci=k(ui),ie=x(ui,2),be=x(ie,2),Ge=x(be,2),ct=x(At,2);{var Ct=si=>{var ri=oE(),hn=k(ri);G(()=>q(hn,u(A))),E(si,ri)};U(ct,si=>{u(A)&&si(Ct)})}var et=x(ct,2);{var It=si=>{var ri=rE();E(si,ri)},Zt=si=>{var ri=gZ(),hn=k(ri),yn=x(k(hn),2),Gi=k(yn),oi=x(hn,2),st=x(k(oi),2),N=k(st),K=x(oi,2),Ce=x(k(K),2),Pe=k(Ce);cS(Pe,{language:"javascript",get value(){return u(p)},set value(Ae){C(p,Ae,!0)}});var Ve=x(K,2),Te=x(k(Ve),2),tt=k(Te);cS(tt,{language:"javascript",get value(){return u(v)},set value(Ae){C(v,Ae,!0)}});var Vt=x(Ve,2),ue=k(Vt),Le=k(ue),ft=x(Le,4),Re=x(k(ft)),dt=k(Re),wt=x(ue,2);{var B=Ae=>{var Me=aZ(),ke=k(Me);Vs(ke,()=>u(S),Dt=>C(S,Dt)),E(Ae,Me)};U(wt,Ae=>{u(w)&&Ae(B)})}var Y=x(Vt,2);{var xe=Ae=>{var Me=uZ(),ke=k(Me),Dt=x(k(ke));{var ot=ye=>{var ge=lZ();E(ye,ge)},Ee=ye=>{var ge=cZ(),me=k(ge);G(()=>q(me,`${u(D).length??0??""} items · rev ${u(D)._rev??""}`)),E(ye,ge)};U(Dt,ye=>{u(D).error?ye(ot):ye(Ee,-1)})}var pt=x(ke,2);{var Oe=ye=>{var ge=dZ(),me=k(ge);G(()=>q(me,u(D).error)),E(ye,ge)},pe=ye=>{var ge=hZ(),me=k(ge);G(Ye=>q(me,Ye),[()=>JSON.stringify(u(D).result,null,2)]),E(ye,ge)};U(pt,ye=>{u(D).error?ye(Oe):ye(pe,-1)})}E(Ae,Me)};U(Y,Ae=>{u(D)&&Ae(xe)})}G(()=>q(dt,`${u(V)??""}${u(g)??""} on every update`)),Mi(Gi,()=>u(_),Ae=>C(_,Ae)),Mi(N,()=>u(f),Ae=>C(f,Ae)),Vs(Le,()=>u(w),Ae=>C(w,Ae)),E(si,ri)};U(et,si=>{u(P)?si(It):si(Zt,-1)})}G(()=>q(ci,u(g))),Q("click",ie,on),Q("click",be,_n),Q("click",Ge,rn),E(Rt,Qt)},Bt=Rt=>{t(Rt)};U(de,Rt=>{u(g)?Rt(ze):Rt(Bt,-1)})}var lt=x(re,2);{var De=Rt=>{var Qt=pZ(),At=_t(Qt),ui=x(At,2);let ci;var ie=k(ui);Q9(ie,{get currentView(){return u(ii)},onApplyView:Nt}),G(()=>ci=No(ui,"",ci,{width:`${u(Lt)??""}px`})),Q("mousedown",At,ai),E(Rt,Qt)};U(lt,Rt=>{u(Je)&&Rt(De)})}G(()=>St=No(Ke,"",St,{width:`${u(at)??""}px`})),Q("click",jt,()=>{C(Se,!u(Se)),C(ut,null)}),Mi(Xe,()=>u(dn),Rt=>C(dn,Rt)),Q("mousedown",$,Ri),E(qe,Z)};U(Hn,qe=>{u(J)==="docs"?qe(Yn):qe(xn,-1)})}G(()=>{Wt=$t(He,1,"svelte-rrt0o",null,Wt,{active:u(J)==="docs"}),ki=$t(ei,1,"svelte-rrt0o",null,ki,{active:u(J)==="views"})}),Q("mousemove",ji,vt),Q("mouseup",ji,vi),cs("mouseleave",ji,vi),Q("click",He,()=>C(J,"docs")),Q("click",ei,()=>C(J,"views")),E(o,ji),Vo()}Pr(["mousemove","mouseup","click","keydown","mousedown"]);var bZ=M('<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),yZ=M('<label class="svelte-1ua3isv">Pairing Code / QR <input type="text" placeholder="MT:..." class="svelte-1ua3isv"/></label>'),aE=M('<p class="err svelte-1ua3isv"> </p>'),wZ=M('<div class="wizard svelte-1ua3isv"><div class="wizard-tabs svelte-1ua3isv"><button>Passcode</button> <button>QR / Code</button></div> <!> <label class="svelte-1ua3isv">IP Address (optional, bypasses mDNS) <input type="text" placeholder="192.168.1.100 or 192.168.1.100:5540" class="svelte-1ua3isv"/></label> <!> <button class="commission-btn svelte-1ua3isv"> </button></div>'),SZ=M('<span class="device-name svelte-1ua3isv"> </span> <span class="device-nodeid svelte-1ua3isv"> </span>',1),CZ=M('<span class="device-name svelte-1ua3isv"> </span>'),xZ=M('<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>'),LZ=M('<li class="empty svelte-1ua3isv">No paired devices</li>'),kZ=M('<p class="info svelte-1ua3isv">Loading…</p>'),IZ=M('<p class="device-subtitle svelte-1ua3isv"> </p>'),DZ=M('<span class="ep-chip svelte-1ua3isv"> </span>'),EZ=M('<span class="attr-id svelte-1ua3isv"> </span>'),PZ=M('<button class="attr-action-btn svelte-1ua3isv"> </button>'),TZ=M('<div class="attr-actions svelte-1ua3isv"></div>'),MZ=M('<span class="cmd-sep svelte-1ua3isv">,</span>'),NZ=M('<span class="cmd-name svelte-1ua3isv"> </span><span class="cmd-id svelte-1ua3isv"> </span>',1),RZ=M('<span class="cmd-id svelte-1ua3isv"> </span>'),AZ=M("<!> <!>",1),OZ=M('<span class="cmd-list svelte-1ua3isv"></span>'),FZ=M(' <span class="cmd-id svelte-1ua3isv"> </span>',1),HZ=M('<tr class="svelte-1ua3isv"><td class="svelte-1ua3isv"><!></td><td class="svelte-1ua3isv"> </td></tr>'),WZ=M('<table class="attr-arr-table svelte-1ua3isv"><thead class="svelte-1ua3isv"><tr class="svelte-1ua3isv"><th class="svelte-1ua3isv">deviceType</th><th class="svelte-1ua3isv">revision</th></tr></thead><tbody class="svelte-1ua3isv"></tbody></table>'),BZ=M('<th class="svelte-1ua3isv"> </th>'),zZ=M('<td class="svelte-1ua3isv"> </td>'),VZ=M('<tr class="svelte-1ua3isv"></tr>'),jZ=M('<table class="attr-arr-table svelte-1ua3isv"><thead class="svelte-1ua3isv"><tr class="svelte-1ua3isv"></tr></thead><tbody class="svelte-1ua3isv"></tbody></table>'),UZ=M('<tr class="svelte-1ua3isv"><td class="attr-obj-key svelte-1ua3isv"> </td><td class="attr-obj-val svelte-1ua3isv"> </td></tr>'),$Z=M('<table class="attr-obj-table svelte-1ua3isv"><tbody class="svelte-1ua3isv"></tbody></table>'),qZ=M('<a class="attr-link svelte-1ua3isv" target="_blank" rel="noopener noreferrer"> </a>'),KZ=M('<span class="attr-val svelte-1ua3isv"> </span>'),GZ=M('<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>'),ZZ=M('<tr class="cluster-hdr-row svelte-1ua3isv"><td colspan="3" class="cluster-hdr-cell svelte-1ua3isv"> </td></tr> <!>',1),XZ=M('<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>'),YZ=M('<p class="no-clusters svelte-1ua3isv">No clusters</p>'),QZ=M('<details class="svelte-1ua3isv"><summary class="svelte-1ua3isv"> <span class="ep-id svelte-1ua3isv"> </span> <span class="ep-chips svelte-1ua3isv"></span></summary> <!></details>'),JZ=M('<div class="detail-hdr svelte-1ua3isv"><h2 class="svelte-1ua3isv"> </h2> <!> <p class="detail-nodeid svelte-1ua3isv"> </p></div> <!>',1),eX=M('<p class="info svelte-1ua3isv">Select a device to view its endpoints.</p>'),tX=M('<span class="stream-badge svelte-1ua3isv"> </span>'),iX=M('<span class="stream-empty svelte-1ua3isv">Waiting for events…</span>'),dS=M('&nbsp;<span class="e-sub svelte-1ua3isv"> </span>',1),nX=M('<span class="e-badge e-badge-status svelte-1ua3isv">status</span> <span class="e-node svelte-1ua3isv"> <!></span> <span> </span>',1),sX=M('<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),oX=M('<div class="er svelte-1ua3isv"><span class="e-ts svelte-1ua3isv"> </span> <!></div>'),rX=M('<div class="stream-body svelte-1ua3isv"><!></div>'),aX=M('<!> <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 lX(o,e){zo(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,Ke,St,kt,jt){try{await C7(Z,Ke,St,kt,jt)}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,Ke){const St=n[Z];return Ke.map(kt=>{const jt=typeof kt=="number"?kt:Number(kt);return{id:jt,name:(St==null?void 0:St[jt])??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=W(li([])),f=li(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 Ke=JSON.stringify(Z);return Ke.length>60?Ke.slice(0,57)+"…":Ke}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,Ke){return!!(Ke==="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,A=20,V=32;let H=0,J=W(li([])),X=W(!0),fe=W(180),Ie=nt(()=>{const Z=Math.max(1,Math.floor((u(fe)-V)/A)+1);return u(J).slice(0,Z)});function Be(Z){Z.preventDefault();const Ke=Z.clientY,St=u(fe);function kt(O){C(fe,Math.max(60,Math.min(600,St+Ke-O.clientY)),!0)}function jt(){document.removeEventListener("mousemove",kt),document.removeEventListener("mouseup",jt)}document.addEventListener("mousemove",kt),document.addEventListener("mouseup",jt)}let Se=W(null),ut=W(!1),mt=W(null),at=W(!1),hi=W("passcode"),Ut=W(""),ti=W(""),Fe=W(""),Gt=W(!1),Je=W(null),Lt=W("");const Yt="she:matter:selectedNodeId";async function Ci(){try{C(g,await kR(),!0);for(const Z of u(g))$_(Z.nodeId).then(Ke=>{f.set(Z.nodeId,Ke)}).catch(()=>{});if(u(g).length>0&&!u(Se)){const Z=localStorage.getItem(Yt),Ke=Z&&u(g).find(St=>St.nodeId===Z)?Z:u(g)[0].nodeId;xi(Ke)}}catch{C(g,[],!0)}}async function xi(Z){C(ut,!0),C(mt,null);try{C(Se,await $_(Z),!0),f.set(Z,u(Se)),localStorage.setItem(Yt,Z)}catch(Ke){C(mt,Ke instanceof Error?Ke.message:String(Ke),!0)}finally{C(ut,!1)}}let ii;async function Nt(Z){var Ke;if(await ii.show(`Unpair device ${Z}?`,{confirm:"Unpair",danger:!0}))try{await S7(Z),((Ke=u(Se))==null?void 0:Ke.nodeId)===Z&&C(Se,null),await Ci()}catch(St){C(mt,St instanceof Error?St.message:String(St),!0)}}async function Ri(){C(Gt,!0),C(Je,null);try{let Z;u(hi)==="passcode"?(Z={passcode:Number(u(Ut))},u(ti)&&(Z={...Z,discriminator:Number(u(ti))})):Z={pairingCode:u(Fe).trim()},u(Lt).trim()&&(Z={...Z,discoveryAddress:u(Lt).trim()}),await w7(Z),C(at,!1),C(Ut,""),C(ti,""),C(Fe,""),C(Lt,""),await Ci()}catch(Z){C(Je,Z instanceof Error?Z.message:String(Z),!0)}finally{C(Gt,!1)}}Tr(()=>{Ci()});const vt=Sr("matter:deviceList",Z=>{if(!Array.isArray(Z.devices))return;const Ke=Z.devices;for(const St of Ke)f.has(St.nodeId)||$_(St.nodeId).then(kt=>{f.set(St.nodeId,kt)}).catch(()=>{});C(g,Ke,!0)}),vi=Sr("matter:deviceStatus",Z=>{if(Z.nodeId===void 0)return;const Ke=String(Z.nodeId),St=!!Z.online;C(g,u(g).map(kt=>kt.nodeId===Ke?{...kt,online:St}:kt),!0),C(J,[{id:H++,kind:"status",nodeId:Ke,online:St,ts:Date.now()},...u(J).slice(0,P-1)],!0)}),ai=Sr("matter:attr",Z=>{const Ke=String(Z.nodeId),St=Z.endpointId,kt=String(Z.clusterName),jt=String(Z.attrName),O=Z.value;if(u(Se)&&u(Se).nodeId===Ke){const _e=u(Se).endpoints.find(it=>it.endpointId===St),Xe=_e==null?void 0:_e.clusters.find(it=>it.name===kt);Xe&&(Xe.attrs[jt]=O)}const oe=f.get(Ke);if(oe){const _e=oe.endpoints.find(it=>it.endpointId===St),Xe=_e==null?void 0:_e.clusters.find(it=>it.name===kt);Xe&&(Xe.attrs[jt]=O)}C(J,[{id:H++,kind:"attr",nodeId:Ke,endpointId:St,clusterName:kt,attrName:jt,value:O,ts:Z.ts??Date.now()},...u(J).slice(0,P-1)],!0)});Ry(()=>{vt(),vi(),ai()});var Vi=aX(),Qi=_t(Vi);Is(Gg(Qi,{}),Z=>ii=Z,()=>ii);var Ji=x(Qi,2),cn=k(Ji),Li=k(cn),ni=k(Li),pi=x(k(ni),2),Ki=x(ni,2);{var on=Z=>{var Ke=wZ(),St=k(Ke),kt=k(St);let jt;var O=x(kt,2);let oe;var _e=x(St,2);{var Xe=De=>{var Rt=bZ(),Qt=_t(Rt),At=x(k(Qt)),ui=x(Qt,2),ci=x(k(ui));Mi(At,()=>u(Ut),ie=>C(Ut,ie)),Mi(ci,()=>u(ti),ie=>C(ti,ie)),E(De,Rt)},it=De=>{var Rt=yZ(),Qt=x(k(Rt));Mi(Qt,()=>u(Fe),At=>C(Fe,At)),E(De,Rt)};U(_e,De=>{u(hi)==="passcode"?De(Xe):De(it,-1)})}var $=x(_e,2),re=x(k($)),de=x($,2);{var ze=De=>{var Rt=aE(),Qt=k(Rt);G(()=>q(Qt,u(Je))),E(De,Rt)};U(de,De=>{u(Je)&&De(ze)})}var Bt=x(de,2),lt=k(Bt);G(()=>{jt=$t(kt,1,"svelte-1ua3isv",null,jt,{active:u(hi)==="passcode"}),oe=$t(O,1,"svelte-1ua3isv",null,oe,{active:u(hi)==="pairingCode"}),Bt.disabled=u(Gt),q(lt,u(Gt)?"Commissioning…":"Commission")}),Q("click",kt,()=>C(hi,"passcode")),Q("click",O,()=>C(hi,"pairingCode")),Mi(re,()=>u(Lt),De=>C(Lt,De)),Q("click",Bt,Ri),E(Z,Ke)};U(Ki,Z=>{u(at)&&Z(on)})}var _n=x(Ki,2),rn=k(_n);gi(rn,17,()=>u(g),Z=>Z.nodeId,(Z,Ke)=>{var St=xZ();let kt;var jt=k(St),O=k(jt);let oe;var _e=x(O,2),Xe=k(_e);{var it=de=>{var ze=SZ(),Bt=_t(ze),lt=k(Bt),De=x(Bt,2),Rt=k(De);G(()=>{q(lt,u(Ke).name),q(Rt,`#${u(Ke).nodeId??""}`)}),E(de,ze)},$=de=>{var ze=CZ(),Bt=k(ze);G(()=>q(Bt,`Node ${u(Ke).nodeId??""}`)),E(de,ze)};U(Xe,de=>{u(Ke).name?de(it):de($,-1)})}var re=x(jt,2);G(()=>{var de;kt=$t(St,1,"svelte-1ua3isv",null,kt,{selected:((de=u(Se))==null?void 0:de.nodeId)===u(Ke).nodeId}),oe=$t(O,1,"status-dot svelte-1ua3isv",null,oe,{online:u(Ke).online})}),Q("click",jt,()=>xi(u(Ke).nodeId)),Q("click",re,()=>Nt(u(Ke).nodeId)),E(Z,St)});var $n=x(rn,2);{var en=Z=>{var Ke=LZ();E(Z,Ke)};U($n,Z=>{u(g).length===0&&Z(en)})}var dn=x(Li,2),Xn=k(dn);{var Fn=Z=>{var Ke=kZ();E(Z,Ke)},ji=Z=>{var Ke=aE(),St=k(Ke);G(()=>q(St,u(mt))),E(Z,Ke)},qn=Z=>{var Ke=JZ(),St=_t(Ke),kt=k(St),jt=k(kt),O=x(kt,2);{var oe=$=>{var re=IZ(),de=k(re);G(()=>q(de,u(Se).subtitle)),E($,re)};U(O,$=>{u(Se).subtitle&&$(oe)})}var _e=x(O,2),Xe=k(_e),it=x(St,2);gi(it,17,()=>u(Se).endpoints,$=>$.endpointId,($,re)=>{var de=QZ(),ze=k(de),Bt=k(ze),lt=x(Bt),De=k(lt),Rt=x(lt,2);gi(Rt,21,()=>u(re).clusters,Nn,(ci,ie)=>{var be=DZ(),Ge=k(be);G(()=>q(Ge,u(ie).name)),E(ci,be)});var Qt=x(ze,2);{var At=ci=>{var ie=XZ(),be=x(k(ie));gi(be,21,()=>u(re).clusters,Nn,(Ge,ct)=>{var Ct=ZZ(),et=_t(Ct),It=k(et),Zt=k(It),si=x(et,2);gi(si,17,()=>Object.entries(u(ct).attrs),Nn,(ri,hn)=>{var yn=nt(()=>kk(u(hn),2));let Gi=()=>u(yn)[0],oi=()=>u(yn)[1];var st=Us(),N=_t(st);{var K=Pe=>{const Ve=nt(()=>{var ge;return(ge=t[u(ct).name])==null?void 0:ge[Gi()]}),Te=nt(()=>(Gi()==="acceptedCommandList"||Gi()==="generatedCommandList")&&Array.isArray(oi())),tt=nt(()=>{var ge;return((ge=c[u(ct).name])==null?void 0:ge[Gi()])??a[Gi()]});var Vt=GZ(),ue=k(Vt),Le=k(ue),ft=k(Le),Re=x(Le);{var dt=ge=>{var me=EZ(),Ye=k(me);G(le=>q(Ye,`(${le??""})`),[()=>h(u(tt))]),E(ge,me)};U(Re,ge=>{u(tt)!==void 0&&ge(dt)})}var wt=x(ue),B=k(wt);{var Y=ge=>{var me=TZ();gi(me,21,()=>u(Ve),Nn,(Ye,le)=>{var Ne=PZ(),Qe=k(Ne);G(()=>q(Qe,u(le).label)),Q("click",Ne,()=>i(u(Se).nodeId,u(re).endpointId,u(ct).name,u(le).command,u(le).args)),E(Ye,Ne)}),E(ge,me)};U(B,ge=>{u(Ve)&&ge(Y)})}var xe=x(wt),Ae=k(xe);{var Me=ge=>{var me=OZ();gi(me,21,()=>s(u(ct).name,oi()),Nn,(Ye,le,Ne)=>{var Qe=AZ(),rt=_t(Qe);{var We=Ui=>{var Ln=MZ();E(Ui,Ln)};U(rt,Ui=>{Ne>0&&Ui(We)})}var Ot=x(rt,2);{var zt=Ui=>{var Ln=NZ(),Qn=_t(Ln),Ii=k(Qn),qt=x(Qn),nn=k(qt);G(()=>{q(Ii,u(le).name),q(nn,`(${u(le).id??""})`)}),E(Ui,Ln)},vn=Ui=>{var Ln=RZ(),Qn=k(Ln);G(()=>q(Qn,u(le).id)),E(Ui,Ln)};U(Ot,Ui=>{u(le).name?Ui(zt):Ui(vn,-1)})}E(Ye,Qe)}),E(ge,me)},ke=ge=>{var me=WZ(),Ye=x(k(me));gi(Ye,21,oi,Nn,(le,Ne)=>{const Qe=nt(()=>u(Ne)),rt=nt(()=>u(Qe).deviceType),We=nt(()=>r[u(rt)]);var Ot=HZ(),zt=k(Ot),vn=k(zt);{var Ui=qt=>{var nn=FZ(),zi=_t(nn),rs=x(zi),oo=k(rs);G(jo=>{q(zi,`${u(We)??""} `),q(oo,`(${jo??""})`)},[()=>h(u(rt))]),E(qt,nn)},Ln=qt=>{var nn=sa();G(zi=>q(nn,zi),[()=>h(u(rt))]),E(qt,nn)};U(vn,qt=>{u(We)?qt(Ui):qt(Ln,-1)})}var Qn=x(zt),Ii=k(Qn);G(qt=>q(Ii,qt),[()=>v(u(Qe).revision)]),E(le,Ot)}),E(ge,me)},Dt=nt(()=>Gi()==="deviceTypeList"&&Array.isArray(oi())),ot=ge=>{const me=nt(()=>[...new Set(oi().flatMap(rt=>Object.keys(rt)))]);var Ye=jZ(),le=k(Ye),Ne=k(le);gi(Ne,21,()=>u(me),Nn,(rt,We)=>{var Ot=BZ(),zt=k(Ot);G(()=>q(zt,u(We))),E(rt,Ot)});var Qe=x(le);gi(Qe,21,oi,Nn,(rt,We)=>{var Ot=VZ();gi(Ot,21,()=>u(me),Nn,(zt,vn)=>{var Ui=zZ(),Ln=k(Ui);G(Qn=>q(Ln,Qn),[()=>v(u(We)[u(vn)])]),E(zt,Ui)}),E(rt,Ot)}),E(ge,Ye)},Ee=nt(()=>w(oi())),pt=ge=>{var me=$Z(),Ye=k(me);gi(Ye,21,()=>Object.entries(oi()),Nn,(le,Ne)=>{var Qe=nt(()=>kk(u(Ne),2));let rt=()=>u(Qe)[0],We=()=>u(Qe)[1];var Ot=UZ(),zt=k(Ot),vn=k(zt),Ui=x(zt),Ln=k(Ui);G(Qn=>{q(vn,rt()),q(Ln,Qn)},[()=>v(We())]),E(le,Ot)}),E(ge,me)},Oe=nt(()=>_(oi())),pe=ge=>{var me=qZ(),Ye=k(me);G(()=>{gn(me,"href",oi()),q(Ye,oi())}),E(ge,me)},ye=ge=>{var me=KZ(),Ye=k(me);G(le=>q(Ye,le),[()=>v(oi())]),E(ge,me)};U(Ae,ge=>{u(Te)?ge(Me):u(Dt)?ge(ke,1):u(Ee)?ge(ot,2):u(Oe)?ge(pt,3):(Gi()==="productUrl"||Gi()==="productURL")&&typeof oi()=="string"?ge(pe,4):ge(ye,-1)})}G(()=>{gn(ue,"title",Gi()),q(ft,Gi())}),E(Pe,Vt)},Ce=nt(()=>!S(oi(),Gi()));U(N,Pe=>{u(Ce)&&Pe(K)})}E(ri,st)}),G(()=>q(Zt,u(ct).name)),E(Ge,Ct)}),E(ci,ie)},ui=ci=>{var ie=YZ();E(ci,ie)};U(Qt,ci=>{u(re).clusters.length>0?ci(At):ci(ui,-1)})}G(()=>{q(Bt,`${u(re).name??`Endpoint ${u(re).endpointId}`??""} `),q(De,`ep${u(re).endpointId??""}`)}),E($,de)}),G(()=>{q(jt,u(Se).name??`Node ${u(Se).nodeId}`),q(Xe,`Node ID: ${u(Se).nodeId??""}`)}),E(Z,Ke)},He=Z=>{var Ke=eX();E(Z,Ke)};U(Xn,Z=>{u(ut)?Z(Fn):u(mt)?Z(ji,1):u(Se)?Z(qn,2):Z(He,-1)})}var Wt=x(cn,2),ei=k(Wt),ki=x(ei,2),Pi=x(k(ki),2);{var zn=Z=>{var Ke=tX(),St=k(Ke);G(()=>q(St,u(J).length)),E(Z,Ke)};U(Pi,Z=>{!u(X)&&u(J).length>0&&Z(zn)})}var Hn=x(Pi,2),Yn=k(Hn),xn=x(ki,2);{var qe=Z=>{var Ke=rX(),St=k(Ke);{var kt=O=>{var oe=iX();E(O,oe)},jt=O=>{var oe=Us(),_e=_t(oe);gi(_e,17,()=>u(Ie),Xe=>Xe.id,(Xe,it)=>{const $=nt(()=>{var At,ui;return((At=f.get(u(it).nodeId))==null?void 0:At.name)??((ui=u(g).find(ci=>ci.nodeId===u(it).nodeId))==null?void 0:ui.name)??null}),re=nt(()=>{var At,ui;return u(it).endpointId!==void 0?((ui=(At=f.get(u(it).nodeId))==null?void 0:At.endpoints.find(ci=>ci.endpointId===u(it).endpointId))==null?void 0:ui.name)??null:null}),de=nt(()=>u(it).attrName??u(it).clusterName);var ze=oX(),Bt=k(ze),lt=k(Bt),De=x(Bt,2);{var Rt=At=>{var ui=nX(),ci=x(_t(ui),2),ie=k(ci),be=x(ie);{var Ge=It=>{var Zt=dS(),si=x(_t(Zt)),ri=k(si);G(()=>q(ri,`(#${u(it).nodeId??""})`)),E(It,Zt)};U(be,It=>{u($)&&It(Ge)})}var ct=x(ci,2);let Ct;var et=k(ct);G(()=>{q(ie,u($)??`#${u(it).nodeId}`),Ct=$t(ct,1,"e-val svelte-1ua3isv",null,Ct,{"e-online":u(it).online,"e-offline":!u(it).online}),q(et,u(it).online?"online":"offline")}),E(At,ui)},Qt=At=>{var ui=sX(),ci=x(_t(ui),2),ie=k(ci),be=x(ie);{var Ge=oi=>{var st=dS(),N=x(_t(st)),K=k(N);G(()=>q(K,`(#${u(it).nodeId??""})`)),E(oi,st)};U(be,oi=>{u($)&&oi(Ge)})}var ct=x(ci,2),Ct=k(ct),et=x(Ct);{var It=oi=>{var st=dS(),N=x(_t(st)),K=k(N);G(()=>q(K,`(ep ${u(it).endpointId??""})`)),E(oi,st)};U(et,oi=>{u(re)&&oi(It)})}var Zt=x(ct,2),si=k(Zt),ri=x(Zt,2),hn=k(ri),yn=x(ri,2),Gi=k(yn);G(oi=>{q(ie,u($)??`#${u(it).nodeId}`),q(Ct,u(re)??`ep${u(it).endpointId}`),q(si,u(it).clusterName),q(hn,u(de)),q(Gi,oi)},[()=>p(u(it).value)]),E(At,ui)};U(De,At=>{u(it).kind==="status"?At(Rt):At(Qt,-1)})}G(At=>q(lt,At),[()=>D(u(it).ts)]),E(Xe,ze)}),E(O,oe)};U(St,O=>{u(Ie).length===0?O(kt):O(jt,-1)})}E(Z,Ke)};U(xn,Z=>{u(X)&&Z(qe)})}G(()=>{No(Wt,u(X)?`height: ${u(fe)}px;`:""),q(Yn,u(X)?"▾":"▸")}),Q("click",pi,()=>C(at,!u(at))),Q("mousedown",ei,Be),Q("click",Hn,()=>{C(X,!u(X))}),E(o,Vi),Vo()}Pr(["click","mousedown"]);var cX=M("<button>›</button>"),dX=M('<span class="chev-ph svelte-1vejtrc"></span>'),hX=M('<span class="tv svelte-1vejtrc"> </span> <span class="tt svelte-1vejtrc"> </span>',1),uX=M('<div class="tc svelte-1vejtrc"></div>'),gX=M('<div class="tn svelte-1vejtrc"><div><!> <span class="seg svelte-1vejtrc"> </span> <!></div> <!></div>'),fX=M("<option></option>"),pX=M('<span class="pub-ok svelte-1vejtrc">✓</span>'),mX=M('<span class="pub-err svelte-1vejtrc"> </span>'),_X=M('<div class="info svelte-1vejtrc">Loading…</div>'),vX=M('<div class="info err svelte-1vejtrc"> </div>'),bX=M('<div class="info svelte-1vejtrc">No topics match.</div>'),yX=M('<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>'),wX=M('<div class="vs svelte-1vejtrc"><div><div class="vrows-abs svelte-1vejtrc"></div></div></div>'),SX=M('<div class="info svelte-1vejtrc">No topics yet.</div>'),CX=M('<div class="tree-wrap svelte-1vejtrc"><!></div>'),xX=M('<span class="stream-badge"> </span>'),LX=M('<span class="stream-empty svelte-1vejtrc">Waiting for messages…</span>'),kX=M('<span class="s-ret svelte-1vejtrc" title="retained snapshot">&#x229B;</span>'),IX=M('<div><span class="s-ts svelte-1vejtrc"> </span> <!> <span class="s-topic svelte-1vejtrc"> </span> <span class="s-val svelte-1vejtrc"> </span></div>'),DX=M('<div class="stream-body svelte-1vejtrc"><!></div>'),EX=M('<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),PX=M('<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>'),TX=M('<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),MX=M('<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 NX(o,e){zo(e,!0);const t=(ie,be=Ey)=>{const Ge=nt(()=>u(f).has(be().path)),ct=nt(()=>u(a)>=0&&be().children.size>0),Ct=nt(()=>u(a)>=0&&be().isLeaf&&!n.has(be().path));var et=gX(),It=k(et);let Zt;var si=k(It);{var ri=Pe=>{var Ve=cX();let Te;G(()=>{Te=$t(Ve,1,"chev svelte-1vejtrc",null,Te,{open:u(Ge)}),gn(Ve,"aria-label",u(Ge)?"Collapse":"Expand")}),Q("click",Ve,()=>p(be().path)),E(Pe,Ve)},hn=Pe=>{var Ve=dX();E(Pe,Ve)};U(si,Pe=>{u(ct)?Pe(ri):Pe(hn,-1)})}var yn=x(si,2),Gi=k(yn),oi=x(yn,2);{var st=Pe=>{var Ve=hX(),Te=_t(Ve),tt=k(Te),Vt=x(Te,2),ue=k(Vt);G((Le,ft,Re)=>{gn(Te,"title",Le),q(tt,ft),q(ue,Re)},[()=>{var Le;return Ji((Le=ni(be().path))==null?void 0:Le.val)},()=>{var Le;return Ji((Le=ni(be().path))==null?void 0:Le.val)},()=>{var Le;return((Le=ni(be().path))==null?void 0:Le.ts)!=null?cn(ni(be().path).ts):""}]),E(Pe,Ve)},N=nt(()=>be().isLeaf&&i.has(be().path));U(oi,Pe=>{u(N)&&Pe(st)})}var K=x(It,2);{var Ce=Pe=>{var Ve=uX();gi(Ve,21,()=>[...be().children.values()].sort((Te,tt)=>Te.seg.localeCompare(tt.seg)),Te=>Te.path,(Te,tt)=>{t(Te,()=>u(tt))}),E(Pe,Ve)};U(K,Pe=>{u(ct)&&u(Ge)&&Pe(Ce)})}G(()=>{Zt=$t(It,1,"tr svelte-1vejtrc",null,Zt,{stale:u(Ct)}),q(Gi,be().seg)}),Q("click",It,()=>{C(ut,be().path+"/#")}),Q("contextmenu",It,Pe=>{Pe.preventDefault(),C(Lt,{x:Pe.clientX,y:Pe.clientY,topic:be().path},!0)}),E(ie,et)},i=new Map,n=new Set,s=new Set;let r=null,a=W(0);function c(){r===null&&(r=requestAnimationFrame(()=>{r=null;for(const ie of s)g(ie);s.clear(),Ek(a)}))}const h=new Map;function g(ie){const be=ie.split("/");let Ge=h,ct="";for(let Ct=0;Ct<be.length;Ct++){const et=be[Ct];ct=Ct===0?et:`${ct}/${et}`,Ge.has(et)||Ge.set(et,{seg:et,path:ct,children:new Map,isLeaf:!1});const It=Ge.get(et);Ct===be.length-1&&(It.isLeaf=!0),Ge=It.children}}let f=W(li(new Set));function p(ie){const be=new Set(u(f));be.has(ie)?be.delete(ie):be.add(ie),C(f,be,!0)}let v=W("");const _=24,w=5;let S=W(0),D=W(300),P=nt(()=>{if(u(a),!u(v))return[];const ie=u(v).toLowerCase().split(/\s+/).filter(Boolean),be=[];for(const[Ge,ct]of i){const Ct=Ge.toLowerCase();ie.every(et=>Ct.includes(et))&&be.push({topic:Ge,...ct})}return be.sort((Ge,ct)=>Ge.topic.localeCompare(ct.topic))}),A=nt(()=>{const ie=u(P).length,be=Math.max(0,Math.floor(u(S)/_)-w),Ge=Math.min(ie,Math.ceil((u(S)+u(D))/_)+w);return{start:be,end:Ge,totalH:ie*_,top:be*_}});const V=1e3,H=200,J=20,X=36;let fe=0,Ie=W(li([])),Be=W(li([])),Se=W(!0),ut=W("#"),mt=W(200);Wn(()=>{const ie=u(ut).trim(),be=Nl(()=>u(Ie)),Ge=!ie||ie==="#"?be.slice(0,H):be.filter(ct=>at(ie,ct.topic)).slice(0,H);if(ie&&ie!=="#"){const ct=new Set(Ge.map(et=>et.topic)),Ct=[];for(const[et,It]of i)ct.has(et)||at(ie,et)&&Ct.push({id:-(Ct.length+1),topic:et,val:It.val,ts:It.ts,retained:!0});Ct.sort((et,It)=>et.topic.localeCompare(It.topic)),C(Be,[...Ge,...Ct],!0)}else C(Be,Ge,!0)});function at(ie,be){if(ie==="#")return!0;const Ge=ie.split("/"),ct=be.split("/");for(let Ct=0;Ct<Ge.length;Ct++){if(Ge[Ct]==="#")return!0;if(Ct>=ct.length||Ge[Ct]!=="+"&&Ge[Ct]!==ct[Ct])return!1}return Ge.length===ct.length}function hi(ie){ie.preventDefault();const be=ie.clientY,Ge=u(mt);function ct(et){C(mt,Math.max(60,Math.min(800,Ge+be-et.clientY)),!0)}function Ct(){document.removeEventListener("mousemove",ct),document.removeEventListener("mouseup",Ct)}document.addEventListener("mousemove",ct),document.addEventListener("mouseup",Ct)}let Ut=nt(()=>{const ie=Math.max(1,Math.floor((u(mt)-X)/J)+1);return u(Be).slice(0,ie)}),ti=W(!0),Fe=W(null);async function Gt(){C(ti,!0),C(Fe,null);try{const ie=await IR();for(const be of ie)i.set(be.topic,{val:be.val,ts:be.ts}),g(be.topic)}catch(ie){C(Fe,ie instanceof Error?ie.message:String(ie),!0)}finally{C(ti,!1),Ek(a)}}const Je=Sr("mqtt",ie=>{const{topic:be,val:Ge,ts:ct}=ie;i.set(be,{val:Ge,ts:ct}),n.add(be),s.add(be),c();const Ct={id:fe++,topic:be,val:Ge,ts:ct};C(Ie,[Ct,...u(Ie).slice(0,V-1)],!0);const et=u(ut).trim();(!et||et==="#"||at(et,be))&&C(Be,[Ct,...u(Be).filter(It=>!(It.retained&&It.topic===be)).slice(0,H-1)],!0)});let Lt=W(null),Yt=W(null);async function Ci(ie,be){const Ge=[ie];if(be){const ct=ie+"/";for(const Ct of i.keys())Ct.startsWith(ct)&&Ge.push(Ct)}for(const ct of Ge)await PD(ct,"",!0,0)}let xi=nt(()=>(u(a),[...i.keys()].sort())),ii=W(""),Nt=W(""),Ri=W(!1),vt=W(0),vi=W(!1),ai=W(null),Vi=W(!1);async function Qi(){if(u(ii)){C(vi,!0),C(ai,null),C(Vi,!1);try{await PD(u(ii),u(Nt),u(Ri),u(vt)),C(Vi,!0),setTimeout(()=>{C(Vi,!1)},2e3)}catch(ie){C(ai,ie instanceof Error?ie.message:String(ie),!0)}finally{C(vi,!1)}}}function Ji(ie){return ie==null?"":typeof ie=="object"?JSON.stringify(ie):String(ie)}function cn(ie){return new Date(ie).toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1})}function Li(ie){return new Date(ie).toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1})}function ni(ie){return u(a),i.get(ie)}let pi=nt(()=>(u(a),[...h.values()].sort((ie,be)=>ie.seg.localeCompare(be.seg)))),Ki=nt(()=>(u(a),i.size));Tr(Gt),Ry(()=>{Je(),r!==null&&cancelAnimationFrame(r)});var on=MX(),_n=x(k(on),2),rn=k(_n),$n=k(rn),en=x($n,2);gi(en,20,()=>u(xi),ie=>ie,(ie,be)=>{var Ge=fX(),ct={};G(()=>{ct!==(ct=be)&&(Ge.value=(Ge.__value=be)??"")}),E(ie,Ge)});var dn=x(en,2),Xn=x(dn,2),Fn=k(Xn),ji=x(Xn,2),qn=k(ji);qn.value=qn.__value=0;var He=x(qn);He.value=He.__value=1;var Wt=x(He);Wt.value=Wt.__value=2;var ei=x(ji,2),ki=x(ei,2);{var Pi=ie=>{var be=pX();E(ie,be)};U(ki,ie=>{u(Vi)&&ie(Pi)})}var zn=x(ki,2);{var Hn=ie=>{var be=mX(),Ge=k(be);G(()=>q(Ge,u(ai))),E(ie,be)};U(zn,ie=>{u(ai)&&ie(Hn)})}var Yn=x(rn,2),xn=k(Yn),qe=x(xn,2),Z=k(qe);{var Ke=ie=>{var be=sa();G(()=>q(be,`${u(P).length??""} /`)),E(ie,be)};U(Z,ie=>{u(v)&&ie(Ke)})}var St=x(Z),kt=x(Yn,2);{var jt=ie=>{var be=_X();E(ie,be)},O=ie=>{var be=vX(),Ge=k(be);G(()=>q(Ge,u(Fe))),E(ie,be)},oe=ie=>{var be=Us(),Ge=_t(be);{var ct=et=>{var It=bX();E(et,It)},Ct=et=>{var It=wX(),Zt=k(It),si=k(Zt);gi(si,21,()=>u(P).slice(u(A).start,u(A).end),ri=>ri.topic,(ri,hn)=>{var yn=yX(),Gi=k(yn),oi=k(Gi),st=x(Gi,2),N=k(st),K=x(st,2),Ce=k(K);G((Pe,Ve,Te)=>{q(oi,u(hn).topic),gn(st,"title",Pe),q(N,Ve),q(Ce,Te)},[()=>Ji(u(hn).val),()=>Ji(u(hn).val),()=>cn(u(hn).ts)]),E(ri,yn)}),G(()=>{No(Zt,`height: ${u(A).totalH??""}px; position: relative;`),No(si,`top: ${u(A).top??""}px;`)}),cs("scroll",It,ri=>{C(S,ri.currentTarget.scrollTop,!0)}),EW(It,"clientHeight",ri=>C(D,ri)),E(et,It)};U(Ge,et=>{u(P).length===0?et(ct):et(Ct,-1)})}E(ie,be)},_e=ie=>{var be=CX(),Ge=k(be);{var ct=et=>{var It=SX();E(et,It)},Ct=et=>{var It=Us(),Zt=_t(It);gi(Zt,17,()=>u(pi),si=>si.path,(si,ri)=>{t(si,()=>u(ri))}),E(et,It)};U(Ge,et=>{u(pi).length===0?et(ct):et(Ct,-1)})}E(ie,be)};U(kt,ie=>{u(ti)?ie(jt):u(Fe)?ie(O,1):u(v)?ie(oe,2):ie(_e,-1)})}var Xe=x(_n,2),it=k(Xe),$=x(it,2),re=k($),de=x(re,2);{var ze=ie=>{var be=xX(),Ge=k(be);G(()=>q(Ge,u(Be).length)),E(ie,be)};U(de,ie=>{!u(Se)&&u(Be).length>0&&ie(ze)})}var Bt=x(de,2),lt=k(Bt),De=x($,2);{var Rt=ie=>{var be=DX(),Ge=k(be);{var ct=et=>{var It=LX();E(et,It)},Ct=et=>{var It=Us(),Zt=_t(It);gi(Zt,17,()=>u(Ut),si=>si.id,(si,ri)=>{var hn=IX();let yn;var Gi=k(hn),oi=k(Gi),st=x(Gi,2);{var N=Te=>{var tt=kX();E(Te,tt)};U(st,Te=>{u(ri).retained&&Te(N)})}var K=x(st,2),Ce=k(K),Pe=x(K,2),Ve=k(Pe);G((Te,tt,Vt)=>{yn=$t(hn,1,"sr svelte-1vejtrc",null,yn,{retained:u(ri).retained}),q(oi,Te),q(Ce,u(ri).topic),gn(Pe,"title",tt),q(Ve,Vt)},[()=>Li(u(ri).ts),()=>Ji(u(ri).val),()=>Ji(u(ri).val)]),E(si,hn)}),E(et,It)};U(Ge,et=>{u(Ut).length===0?et(ct):et(Ct,-1)})}E(ie,be)};U(De,ie=>{u(Se)&&ie(Rt)})}var Qt=x(Xe,2);{var At=ie=>{var be=EX(),Ge=_t(be),ct=x(Ge,2);let Ct;var et=k(ct),It=x(et,2);G(()=>Ct=No(ct,"",Ct,{left:`${u(Lt).x??""}px`,top:`${u(Lt).y??""}px`})),Q("click",Ge,()=>C(Lt,null)),Q("contextmenu",Ge,Zt=>{Zt.preventDefault(),C(Lt,null)}),Q("click",et,()=>{navigator.clipboard.writeText(u(Lt).topic),C(Lt,null)}),Q("click",It,()=>{const Zt=u(Lt).topic,si=Zt+"/",ri=[...i.keys()].some(hn=>hn.startsWith(si));C(Yt,{topic:Zt,hasChildren:ri,recursive:!1},!0),C(Lt,null)}),E(ie,be)};U(Qt,ie=>{u(Lt)&&ie(At)})}var ui=x(Qt,2);{var ci=ie=>{var be=TX(),Ge=_t(be),ct=x(Ge,2),Ct=x(k(ct),2),et=k(Ct),It=x(k(et)),Zt=k(It),si=x(et,2);{var ri=oi=>{var st=PX(),N=k(st);Vs(N,()=>u(Yt).recursive,K=>u(Yt).recursive=K),E(oi,st)};U(si,oi=>{u(Yt).hasChildren&&oi(ri)})}var hn=x(Ct,2),yn=k(hn),Gi=x(yn,2);G(()=>q(Zt,u(Yt).topic)),Q("click",Ge,()=>C(Yt,null)),Q("click",yn,()=>C(Yt,null)),Q("click",Gi,()=>{const{topic:oi,recursive:st}=u(Yt);C(Yt,null),Ci(oi,st)}),E(ie,be)};U(ui,ie=>{u(Yt)&&ie(ci)})}G(()=>{ei.disabled=u(vi)||!u(ii),q(St,` ${u(Ki)??""}`),No(Xe,u(Se)?`height: ${u(mt)}px;`:""),q(lt,u(Se)?"▾":"▸")}),Mi($n,()=>u(ii),ie=>C(ii,ie)),Mi(dn,()=>u(Nt),ie=>C(Nt,ie)),Vs(Fn,()=>u(Ri),ie=>C(Ri,ie)),Zr(ji,()=>u(vt),ie=>C(vt,ie)),Q("click",ei,Qi),Mi(xn,()=>u(v),ie=>C(v,ie)),Q("mousedown",it,hi),Mi(re,()=>u(ut),ie=>C(ut,ie)),Q("click",Bt,()=>{C(Se,!u(Se))}),E(o,on),Vo()}Pr(["click","contextmenu","mousedown"]);var RX=M('<div class="restart-banner restart-banner--restarting svelte-twakcj">Restarting daemon…</div>'),AX=M('<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>'),OX=M('<div class="err svelte-twakcj"> </div>'),FX=M('<span class="pane-count pane-count--warn svelte-twakcj"> </span>'),HX=M('<p class="empty svelte-twakcj">No packages installed.</p>'),WX=M('<p class="empty svelte-twakcj">No match.</p>'),BX=M("<span> </span>"),zX=PT('<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>'),VX=PT('<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>'),jX=M('<div><div class="dep-info svelte-twakcj"><a class="dep-name svelte-twakcj" target="_blank" rel="noopener noreferrer"> </a> <span class="dep-ver svelte-twakcj"> </span> <!></div> <div class="dep-btns svelte-twakcj"><button><svg width="11" height="11" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M15 4.5l-4 4l-4 1.5l-1.5 1.5l7 7l1.5 -1.5l1.5 -4l4 -4"></path><line x1="9" y1="15" x2="4.5" y2="19.5"></line><line x1="14.5" y1="4" x2="20" y2="9.5"></line></svg></button> <button><!></button> <button class="icon-btn icon-btn--danger svelte-twakcj" title="Uninstall"><svg width="11" height="11" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round"><line x1="2" y1="2" x2="14" y2="14"></line><line x1="14" y1="2" x2="2" y2="14"></line></svg></button></div></div>'),UX=M('<span class="result-author svelte-twakcj"> </span>'),$X=M('<span class="result-date svelte-twakcj"> </span>'),qX=M('<span class="result-desc svelte-twakcj"> </span>'),KX=M('<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>'),GX=M('<div class="results-list svelte-twakcj"></div>'),ZX=M('<pre class="npm-output svelte-twakcj"> </pre>'),XX=M(`<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>`),YX=M('<!> <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 QX(o,e){zo(e,!0);let t=W(li([])),i=W(""),n=W(li({})),s=W(li([])),r=W(!1),a=W(""),c=W(li([])),h=W(!1),g=W(!1),f=W(!1),p=W(""),v=W(""),_=li({});const w=nt(()=>u(i).trim()?u(t).filter(He=>He.name.toLowerCase().includes(u(i).toLowerCase())):u(t)),S=nt(()=>Object.keys(u(n)).filter(He=>!u(s).includes(He)).length);Tr(async()=>{await Promise.all([D(),P(),A()])});async function D(){try{C(t,await u7(),!0),C(p,"")}catch(He){C(p,He.message,!0)}}async function P(){try{C(n,await LR(),!0)}catch{}}async function A(){try{const He=await Rg();C(s,Array.isArray(He.pinnedPackages)?He.pinnedPackages:[],!0)}catch{}}async function V(He){const Wt=u(s).includes(He)?u(s).filter(ei=>ei!==He):[...u(s),He];C(s,Wt,!0);try{const ei=await Rg();await SR({...ei,pinnedPackages:Wt})}catch{}}async function H(){C(r,!0);try{C(n,await _7(),!0)}catch{}finally{C(r,!1)}}async function J(){const He=u(a).trim();if(!He){C(c,[],!0);return}C(f,!0),C(p,"");try{C(c,await g7(He),!0)}catch(Wt){C(p,Wt.message,!0)}finally{C(f,!1)}}function X(He){if(!He)return"";try{return new Date(He).toLocaleDateString(void 0,{year:"numeric",month:"short",day:"numeric"})}catch{return""}}async function fe(He,Wt){_[He]=!0,C(p,""),C(v,"");try{const ei=await f7(He,Wt);C(v,ei.stdout||ei.stderr||"Done.",!0),C(h,!0),await D()}catch(ei){C(p,ei.message,!0)}finally{_[He]=!1}}async function Ie(He){_[He]=!0,C(p,""),C(v,"");try{const Wt=await p7(He);C(v,Wt.stdout||Wt.stderr||"Done.",!0),C(h,!0);const ei={...u(n)};delete ei[He],C(n,ei,!0),await D()}catch(Wt){C(p,Wt.message,!0)}finally{_[He]=!1}}async function Be(He){_[He]=!0,C(p,""),C(v,"");try{const Wt=await m7(He);C(v,Wt.stdout||Wt.stderr||"Done.",!0),C(h,!0);const ei={...u(n)};delete ei[He],C(n,ei,!0),await D()}catch(Wt){C(p,Wt.message,!0)}finally{_[He]=!1}}let Se;async function ut(){if(await Se.show("Restart the she daemon? The page will reload after a moment.",{confirm:"Restart"})){C(g,!0);try{await wR()}catch{}setTimeout(()=>{window.location.reload()},3e3)}}var mt=YX(),at=_t(mt);Is(Gg(at,{}),He=>Se=He,()=>Se);var hi=x(at,2),Ut=k(hi);{var ti=He=>{var Wt=RX();E(He,Wt)},Fe=He=>{var Wt=AX(),ei=x(k(Wt));Q("click",ei,ut),E(He,Wt)};U(Ut,He=>{u(g)?He(ti):u(h)&&He(Fe,1)})}var Gt=x(Ut,2);{var Je=He=>{var Wt=OX(),ei=k(Wt);G(()=>q(ei,u(p))),E(He,Wt)};U(Gt,He=>{u(p)&&He(Je)})}var Lt=x(Gt,2),Yt=k(Lt),Ci=k(Yt),xi=x(k(Ci),2),ii=k(xi),Nt=x(xi,2);{var Ri=He=>{var Wt=FX(),ei=k(Wt);G(()=>q(ei,`${u(S)??""} outdated`)),E(He,Wt)};U(Nt,He=>{u(S)>0&&He(Ri)})}var vt=x(Nt,2),vi=k(vt);let ai;var Vi=x(Ci,2),Qi=k(Vi),Ji=x(Vi,2),cn=k(Ji);{var Li=He=>{var Wt=HX();E(He,Wt)},ni=He=>{var Wt=WX();E(He,Wt)},pi=He=>{var Wt=Us(),ei=_t(Wt);gi(ei,17,()=>u(w),ki=>ki.name,(ki,Pi)=>{var zn=jX();let Hn;var Yn=k(zn),xn=k(Yn),qe=k(xn),Z=x(xn,2),Ke=k(Z),St=x(Z,2);{var kt=ze=>{var Bt=BX();let lt;var De=k(Bt);G(Rt=>{lt=$t(Bt,1,"dep-latest svelte-twakcj",null,lt,Rt),q(De,`→ v${u(n)[u(Pi).name].latest??""}`)},[()=>({"dep-latest--pinned":u(s).includes(u(Pi).name)})]),E(ze,Bt)};U(St,ze=>{u(n)[u(Pi).name]&&ze(kt)})}var jt=x(Yn,2),O=k(jt);let oe;var _e=x(O,2);let Xe;var it=k(_e);{var $=ze=>{var Bt=zX();E(ze,Bt)},re=ze=>{var Bt=VX();E(ze,Bt)};U(it,ze=>{_[u(Pi).name]?ze($):ze(re,-1)})}var de=x(_e,2);G((ze,Bt,lt)=>{Hn=$t(zn,1,"dep-row svelte-twakcj",null,Hn,{"dep-busy":!!_[u(Pi).name]}),gn(xn,"href",u(Pi).url??`https://www.npmjs.com/package/${u(Pi).name}`),q(qe,u(Pi).name),q(Ke,u(Pi).installedVersion??u(Pi).version),oe=$t(O,1,"icon-btn svelte-twakcj",null,oe,ze),gn(O,"title",Bt),Xe=$t(_e,1,"icon-btn svelte-twakcj",null,Xe,lt),_e.disabled=!!_[u(Pi).name],gn(_e,"title",u(n)[u(Pi).name]?`Update to v${u(n)[u(Pi).name].latest}`:"Update to latest"),de.disabled=!!_[u(Pi).name]},[()=>({"icon-btn--pinned":u(s).includes(u(Pi).name)}),()=>u(s).includes(u(Pi).name)?"Unpin package":"Pin package (suppress update dot)",()=>({"icon-btn--update":!!u(n)[u(Pi).name]&&!u(s).includes(u(Pi).name)})]),Q("click",O,()=>V(u(Pi).name)),Q("click",_e,()=>Be(u(Pi).name)),Q("click",de,()=>Ie(u(Pi).name)),E(ki,zn)}),E(He,Wt)};U(cn,He=>{u(t).length===0?He(Li):u(w).length===0?He(ni,1):He(pi,-1)})}var Ki=x(Yt,2),on=x(k(Ki),2),_n=k(on),rn=x(_n,2),$n=k(rn),en=x(on,2);{var dn=He=>{var Wt=GX();gi(Wt,21,()=>u(c),ei=>ei.name,(ei,ki)=>{var Pi=KX(),zn=k(Pi),Hn=k(zn),Yn=k(Hn),xn=x(Hn,2),qe=k(xn),Z=x(xn,2);{var Ke=Xe=>{var it=UX(),$=k(it);G(()=>q($,u(ki).author)),E(Xe,it)};U(Z,Xe=>{u(ki).author&&Xe(Ke)})}var St=x(Z,2);{var kt=Xe=>{var it=$X(),$=k(it);G(re=>{gn(it,"title",u(ki).date),q($,re)},[()=>X(u(ki).date)]),E(Xe,it)};U(St,Xe=>{u(ki).date&&Xe(kt)})}var jt=x(St,2);{var O=Xe=>{var it=qX(),$=k(it);G(()=>q($,u(ki).description)),E(Xe,it)};U(jt,Xe=>{u(ki).description&&Xe(O)})}var oe=x(zn,2),_e=k(oe);G(()=>{gn(Hn,"href",u(ki).url??`https://www.npmjs.com/package/${u(ki).name}`),q(Yn,u(ki).name),q(qe,u(ki).version),oe.disabled=!!_[u(ki).name],q(_e,_[u(ki).name]?"Installing…":"Install")}),Q("click",oe,()=>fe(u(ki).name)),E(ei,Pi)}),E(He,Wt)};U(en,He=>{u(c).length>0&&He(dn)})}var Xn=x(en,2);{var Fn=He=>{var Wt=ZX(),ei=k(Wt);G(()=>q(ei,u(v))),E(He,Wt)};U(Xn,He=>{u(v)&&He(Fn)})}var ji=x(Xn,2);{var qn=He=>{var Wt=XX();E(He,Wt)};U(ji,He=>{!u(c).length&&!u(v)&&He(qn)})}G(()=>{q(ii,u(t).length),vt.disabled=u(r),ai=$t(vi,0,"svelte-twakcj",null,ai,{spinning:u(r)}),rn.disabled=u(f),q($n,u(f)?"Searching…":"Search")}),Q("click",vt,H),Mi(Qi,()=>u(i),He=>C(i,He)),Q("keydown",_n,He=>He.key==="Enter"&&J()),Mi(_n,()=>u(a),He=>C(a,He)),Q("click",rn,J),E(o,mt),Vo()}Pr(["click","keydown"]);var JX=M('<span class="nav-dot nav-dot--warn svelte-1n46o8q"></span>'),eY=M('<span class="nav-dot nav-dot--err svelte-1n46o8q" title="MQTT broker not connected"></span>'),tY=M('<span class="nav-dot nav-dot--warn nav-dot--blink svelte-1n46o8q" title="Waiting for retained MQTT state"></span>'),iY=M('<span class="nav-dot nav-dot--ok svelte-1n46o8q" title="MQTT connected"></span>'),nY=M('<span class="nav-dot nav-dot--ok svelte-1n46o8q" title="All Matter devices online"></span>'),sY=M('<span class="nav-dot nav-dot--warn svelte-1n46o8q" title="Some Matter devices offline"></span>'),oY=M('<span class="nav-dot nav-dot--err svelte-1n46o8q" title="No Matter devices online"></span>'),rY=M('<span class="nav-dot nav-dot--err svelte-1n46o8q" title="Errors in recent logs"></span>'),aY=M('<span class="nav-dot nav-dot--warn svelte-1n46o8q" title="Warnings in recent logs"></span>'),lY=M('<span class="update-dot svelte-1n46o8q" title="Update available"></span>'),cY=M('<dt class="svelte-1n46o8q">Latest</dt><dd style="color: #f90" class="svelte-1n46o8q"> </dd>',1),dY=M('<dt class="svelte-1n46o8q">Latest</dt><dd class="svelte-1n46o8q">up to date</dd>',1),hY=M('<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>'),uY=M('<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>'),gY=M('<dt class="svelte-1n46o8q">Uptime</dt><dd class="svelte-1n46o8q"> </dd>',1),fY=M('<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),pY=M('<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),mY=M('<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>'),_Y=M('<span class="stats-empty svelte-1n46o8q">Loading…</span>'),vY=M('<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>'),bY=M('<div class="stats-popup svelte-1n46o8q"><!> <div class="stats-actions svelte-1n46o8q"><!></div></div>'),yY=M('<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>'),wY=M('<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>'),SY=M('<div class="login-error svelte-1n46o8q"> </div>'),CY=M('<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>'),xY=M('<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>'),LY=M('<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>'),kY=M("<!> <!> <!> <!>",1);function IY(o,e){zo(e,!0);const t=["scripts","mqtt","matter","db","logs","config","packages"];function i(){const vt=location.hash.slice(1);return t.includes(vt)?vt:"scripts"}let n=W(li(i())),s=W(null),r=W(!1),a=W(!1),c=W(!1),h=W(!1),g=W("none"),f=W(""),p=W(!1),v=W(""),_=W(""),w=W(!1),S=W(!1);G8(()=>{C(p,!0)});async function D(){C(_,""),C(w,!0);try{await Y8(u(v)),C(v,""),C(p,!1)}catch(vt){C(_,vt.message??"Login failed",!0)}finally{C(w,!1)}}async function P(){if(u(g)==="proxy"&&u(f)){window.location.href=u(f);return}await Q8(),C(p,!0)}let A=W(null),V=W(!1),H=W(!1),J=W(!1),X=W(!1),fe=W(li([])),Ie=W(0),Be=W(li([]));const Se=nt(()=>u(Be).filter(vt=>vt.online).length),ut=nt(()=>u(Be).length===0?"none":u(Se)===u(Be).length?"all":u(Se)>0?"some":"offline");let mt=W(!1),at=W(!1);async function hi(){if(!await u(A).show("Restart the she daemon? The page will reload after a moment.",{confirm:"Restart"}))return;C(V,!0);let vt;try{vt=(await Af()).startedAt}catch{}try{await wR()}catch{}const vi=Date.now()+6e4;for(;Date.now()<vi;){await new Promise(ai=>setTimeout(ai,250));try{const ai=await Af();if(vt===void 0||ai.startedAt!==vt){location.reload();return}}catch{}}location.reload()}async function Ut(){C(c,!0);try{const vt=await s7();u(s)&&C(s,{...u(s),latestVersion:vt.latestVersion??void 0},!0)}catch{}finally{C(c,!1)}}async function ti(){var ai,Vi;if(!await u(A).show(`Update to v${(ai=u(s))==null?void 0:ai.latestVersion}? The daemon will restart after the update completes.`,{confirm:"Update"}))return;C(a,!1),C(h,!0);const vt=(Vi=u(s))==null?void 0:Vi.startedAt;try{await n7()}catch{}const vi=Date.now()+18e4;for(;Date.now()<vi;){await new Promise(Qi=>setTimeout(Qi,1e3));try{const Qi=await Af();if(vt===void 0||Qi.startedAt!==vt){location.reload();return}}catch{C(h,!1),C(V,!0)}}location.reload()}function Fe(vt){C(n,vt,!0),location.hash=vt}Tr(async()=>{location.hash||(location.hash=u(n));const vt=()=>{C(n,i(),!0)};window.addEventListener("hashchange",vt);try{const ni=await X8();C(g,ni.mode,!0),C(f,ni.proxyLogoutUrl??"",!0),u(g)==="password"&&(await fetch("/she/scripts")).status===401&&C(p,!0)}catch{}C(S,!0);async function vi(){try{C(s,await Af(),!0)}catch{}try{const[ni,pi]=await Promise.all([LR(),Rg()]);C(fe,Array.isArray(pi.pinnedPackages)?pi.pinnedPackages:[],!0),C(Ie,Object.keys(ni).filter(Ki=>!u(fe).includes(Ki)).length,!0)}catch{}}vi();const ai=setInterval(vi,5e3),Vi=Sr("mqtt:status",ni=>{ni.connected===!1?(C(X,!0),C(H,!1),C(J,!1)):(C(X,!1),C(H,ni.ready===!1),C(J,ni.ready===!0))}),Qi=Sr("matter:deviceList",ni=>{Array.isArray(ni.devices)&&C(Be,ni.devices.map(pi=>({nodeId:String(pi.nodeId),online:!!pi.online})),!0)}),Ji=Sr("matter:deviceStatus",ni=>{if(ni.nodeId===void 0)return;const pi=String(ni.nodeId),Ki=!!ni.online;C(Be,u(Be).map(on=>on.nodeId===pi?{...on,online:Ki}:on),!0)}),cn=MR();C(mt,cn.some(ni=>ni.level==="error"),!0),C(at,!u(mt)&&cn.some(ni=>ni.level==="warn"),!0);const Li=vL(ni=>{ni.level==="error"?(C(mt,!0),C(at,!1)):ni.level==="warn"&&!u(mt)&&C(at,!0)});return()=>{window.removeEventListener("hashchange",vt),clearInterval(ai),Vi(),Qi(),Ji(),Li()}});var Gt=kY();cs("click",cT,()=>{u(r)&&C(r,!1),u(a)&&C(a,!1)});var Je=_t(Gt);{var Lt=vt=>{var vi=wY(),ai=k(vi),Vi=x(k(ai),2);let Qi;var Ji=x(Vi,2);let cn;var Li=x(k(Ji),2);{var ni=st=>{var N=JX();G(()=>gn(N,"title",`${u(Ie)??""} package update${u(Ie)===1?"":"s"} available`)),E(st,N)};U(Li,st=>{u(Ie)>0&&st(ni)})}var pi=x(Ji,2);let Ki;var on=x(k(pi),2);{var _n=st=>{var N=eY();E(st,N)},rn=st=>{var N=tY();E(st,N)},$n=st=>{var N=iY();E(st,N)};U(on,st=>{u(X)?st(_n):u(H)?st(rn,1):u(J)&&st($n,2)})}var en=x(pi,2);let dn;var Xn=x(k(en),2);{var Fn=st=>{var N=nY();E(st,N)},ji=st=>{var N=sY();E(st,N)},qn=st=>{var N=oY();E(st,N)};U(Xn,st=>{u(ut)==="all"?st(Fn):u(ut)==="some"?st(ji,1):u(ut)==="offline"&&st(qn,2)})}var He=x(en,2);let Wt;var ei=x(He,2);let ki;var Pi=x(k(ei),2);{var zn=st=>{var N=rY();E(st,N)},Hn=st=>{var N=aY();E(st,N)};U(Pi,st=>{u(mt)?st(zn):u(at)&&st(Hn,1)})}var Yn=x(ei,4),xn=x(k(Yn),2),qe=k(xn),Z=k(qe);Z.nodeValue="v1.0.10 ";var Ke=x(Z);{var St=st=>{var N=lY();E(st,N)};U(Ke,st=>{var N,K;(N=u(s))!=null&&N.latestVersion&&!((K=u(s))!=null&&K.docker)&&st(St)})}var kt=x(qe,2);{var jt=st=>{var N=uY(),K=k(N),Ce=x(k(K));Ce.textContent="v1.0.10";var Pe=x(Ce,2);{var Ve=wt=>{var B=cY(),Y=x(_t(B)),xe=k(Y);G(()=>q(xe,`v${u(s).latestVersion??""}`)),E(wt,B)},Te=wt=>{var B=dY();E(wt,B)};U(Pe,wt=>{var B;(B=u(s))!=null&&B.latestVersion?wt(Ve):wt(Te,-1)})}var tt=x(K,2),Vt=k(tt);{var ue=wt=>{var B=hY(),Y=x(k(B));G(()=>q(Y,` Update to v${u(s).latestVersion??""}`)),Q("click",B,ti),E(wt,B)};U(Vt,wt=>{var B;(B=u(s))!=null&&B.latestVersion&&wt(ue)})}var Le=x(Vt,2),ft=k(Le);let Re;var dt=x(ft);G(()=>{Le.disabled=u(c),Re=$t(ft,0,"svelte-1n46o8q",null,Re,{spinning:u(c)}),q(dt,` ${u(c)?"Checking…":"Check for updates"}`)}),Q("click",N,wt=>wt.stopPropagation()),Q("click",Le,Ut),E(st,N)};U(kt,st=>{var N;u(a)&&!((N=u(s))!=null&&N.docker)&&st(jt)})}var O=x(xn,2),oe=k(O),_e=x(oe,2);{var Xe=st=>{var N=bY(),K=k(N);{var Ce=Vt=>{var ue=mY(),Le=k(ue);{var ft=ge=>{const me=nt(()=>Math.floor((Date.now()-u(s).startedAt)/1e3)),Ye=nt(()=>Math.floor(u(me)/86400)),le=nt(()=>Math.floor(u(me)%86400/3600)),Ne=nt(()=>Math.floor(u(me)%3600/60));var Qe=gY(),rt=x(_t(Qe)),We=k(rt);G(()=>q(We,`${u(Ye)>0?u(Ye)+"d ":""}${u(le)>0||u(Ye)>0?u(le)+"h ":""}${u(Ne)??""}m`)),E(ge,Qe)};U(Le,ge=>{u(s).startedAt&&ge(ft)})}var Re=x(Le,3),dt=k(Re),wt=x(Re,3),B=k(wt),Y=x(wt,3),xe=k(Y),Ae=x(Y,2);{var Me=ge=>{var me=fY(),Ye=x(_t(me)),le=k(Ye),Ne=x(Ye,3),Qe=k(Ne);G(()=>{q(le,u(s).matterNodes??0),q(Qe,u(s).matterEndpoints??0)}),E(ge,me)};U(Ae,ge=>{u(s).matterEnabled&&ge(Me)})}var ke=x(Ae,2);{var Dt=ge=>{var me=pY(),Ye=x(_t(me)),le=k(Ye),Ne=x(Ye,3),Qe=k(Ne);G(()=>{q(le,u(s).dbDocs??"—"),q(Qe,u(s).dbViews??"—")}),E(ge,me)};U(ke,ge=>{u(s).dbEnabled&&ge(Dt)})}var ot=x(ke,3),Ee=k(ot),pt=x(ot,3),Oe=k(pt),pe=x(pt,3),ye=k(pe);G(()=>{q(dt,u(s).scripts),q(B,u(s).topics),q(xe,u(s).mqttMsgPerSec??"—"),q(Ee,u(s).handlers??"—"),q(Oe,u(s).memMb!=null?u(s).memMb+" MB":"—"),q(ye,u(s).cpuPercent!=null?u(s).cpuPercent+" %":"—")}),E(Vt,ue)},Pe=Vt=>{var ue=_Y();E(Vt,ue)};U(K,Vt=>{u(s)?Vt(Ce):Vt(Pe,-1)})}var Ve=x(K,2),Te=k(Ve);{var tt=Vt=>{var ue=vY();Q("click",ue,()=>{C(r,!1),hi()}),E(Vt,ue)};U(Te,Vt=>{var ue;(ue=u(s))!=null&&ue.docker||Vt(tt)})}Q("click",N,Vt=>Vt.stopPropagation()),E(st,N)};U(_e,st=>{u(r)&&st(Xe)})}var it=x(O,2);let $;var re=x(it,2);{var de=st=>{var N=yY();Q("click",N,P),E(st,N)};U(re,st=>{u(g)==="password"&&st(de)})}var ze=x(ai,2),Bt=k(ze);Is(Gg(Bt,{}),st=>C(A,st,!0),()=>u(A));var lt=x(Bt,2);let De;var Rt=k(lt);{let st=nt(()=>u(n)==="scripts");LG(Rt,{get active(){return u(st)}})}var Qt=x(lt,2);let At;var ui=k(Qt);QX(ui,{});var ci=x(Qt,2);let ie;var be=k(ci);NX(be,{});var Ge=x(ci,2);let ct;var Ct=k(Ge);lX(Ct,{});var et=x(Ge,2);let It;var Zt=k(et);vZ(Zt,{});var si=x(et,2);let ri;var hn=k(si);d9(hn,{});var yn=x(si,2);let Gi;var oi=k(yn);f9(oi,{}),G(()=>{Qi=$t(Vi,1,"svelte-1n46o8q",null,Qi,{active:u(n)==="scripts"}),cn=$t(Ji,1,"svelte-1n46o8q",null,cn,{active:u(n)==="packages"}),Ki=$t(pi,1,"svelte-1n46o8q",null,Ki,{active:u(n)==="mqtt"}),dn=$t(en,1,"svelte-1n46o8q",null,dn,{active:u(n)==="matter"}),Wt=$t(He,1,"svelte-1n46o8q",null,Wt,{active:u(n)==="db"}),ki=$t(ei,1,"svelte-1n46o8q",null,ki,{active:u(n)==="logs"}),$=$t(it,1,"nav-settings svelte-1n46o8q",null,$,{active:u(n)==="config"}),De=$t(lt,1,"page-wrap svelte-1n46o8q",null,De,{hidden:u(n)!=="scripts"}),At=$t(Qt,1,"page-wrap svelte-1n46o8q",null,At,{hidden:u(n)!=="packages"}),ie=$t(ci,1,"page-wrap svelte-1n46o8q",null,ie,{hidden:u(n)!=="mqtt"}),ct=$t(Ge,1,"page-wrap svelte-1n46o8q",null,ct,{hidden:u(n)!=="matter"}),It=$t(et,1,"page-wrap svelte-1n46o8q",null,It,{hidden:u(n)!=="db"}),ri=$t(si,1,"page-wrap svelte-1n46o8q",null,ri,{hidden:u(n)!=="config"}),Gi=$t(yn,1,"page-wrap svelte-1n46o8q",null,Gi,{hidden:u(n)!=="logs"})}),Q("click",Vi,()=>Fe("scripts")),Q("click",Ji,()=>Fe("packages")),Q("click",pi,()=>Fe("mqtt")),Q("click",en,()=>Fe("matter")),Q("click",He,()=>Fe("db")),Q("click",ei,()=>{Fe("logs"),C(mt,!1),C(at,!1)}),Q("click",qe,st=>{st.stopPropagation(),C(a,!u(a)),C(r,!1)}),Q("click",oe,st=>{st.stopPropagation(),C(r,!u(r)),C(a,!1)}),Q("click",it,()=>Fe("config")),E(vt,vi)};U(Je,vt=>{u(S)&&!u(p)&&vt(Lt)})}var Yt=x(Je,2);{var Ci=vt=>{var vi=CY(),ai=k(vi),Vi=x(k(ai),4),Qi=x(k(Vi),2),Ji=x(Vi,2);{var cn=pi=>{var Ki=SY(),on=k(Ki);G(()=>q(on,u(_))),E(pi,Ki)};U(Ji,pi=>{u(_)&&pi(cn)})}var Li=x(Ji,2),ni=k(Li);G(()=>{Qi.disabled=u(w),Li.disabled=u(w)||!u(v),q(ni,u(w)?"Signing in…":"Sign in")}),cs("submit",ai,pi=>{pi.preventDefault(),D()}),Mi(Qi,()=>u(v),pi=>C(v,pi)),E(vt,vi)};U(Yt,vt=>{u(p)&&vt(Ci)})}var xi=x(Yt,2);{var ii=vt=>{var vi=xY();E(vt,vi)};U(xi,vt=>{u(V)&&vt(ii)})}var Nt=x(xi,2);{var Ri=vt=>{var vi=LY();E(vt,vi)};U(Nt,vt=>{u(h)&&vt(Ri)})}E(o,Gt),Vo()}Pr(["click"]);pW(IY,{target:document.getElementById("app")});export{jT as t};